アリス歌うよbotを作ったよ
きんいろモザイクのアリスちゃんかわいい。
アリスbotを作りました。
アニメ、きんいろモザイクの4話に出てくる「わたし、何もあげられるもの無いから歌を歌うよ!」というセリフをネタにして作りました。
きんいろモザイクをしらない方へ、こちらが公式サイトです。
仕組みとしては、タイムラインからツイートを拾ってきて「名詞...動詞」の部分を抜き出して動詞を基本形に直してから「わたし、何もあげられるもの無いから○○よ!」にはめ込んでいます。
ちなみにリフォローは手動です。
純粋にこれだけしかしないbotというのもつまらないのでお遊びに変な機能突っ込もうかと考えています。
追記(2013/12/06)
- 採用したツイートをお気に入り登録します。(つまり元ネタはfavoriteを見ることで確認できます)
- 採用されたけれどもお気に入り登録ができない(削除されている)ツイートは無視され、他のツイートを採用します。
- プライベートアカウントの場合は採用されません。
- リプライは採用されません。(リプライはmentionとなる@を含んだすべてのツイート)
- urlを含んで採用されることはありません。(urlの含むツイートのurl以外の部分を採用することはあります)
- ブラックリストに設定されている特定のviaによるツイートは採用されません。
- フォロー内/外かかわらず、リツイートを採用することはありません。
- 係助詞の"は"、格助詞の"が"、記号、は採用されないはず。
BLACK_LIST = ["アリス・カータレット", "gohantabeyo.com", "なるほどさるきちじゃねーの", "占ぃったー", "うんこはにがくてうまい", "twittbot.net", "JustUnfollow", "SeesaaBlog", "TweetMag1c for Android Pro", "ツイ廃あらーと", "BotMaker", "makebot.sh", "嫁コレiphone", "ツイート数カウントくん", "ホモォいじり", "Intel Tweet City", "The_AutoTweet", "劣化コピー", "Pochitter!(ぽちったー!)", "EasyBotter", "なるほどロリじゃねーの", "twibow", "twiroboJP", "twimaker", "チェンジワイパー☆∠(゚ω゚)/", "このまま眠りつづけて死ぬ", "Quitter | 禁煙ったー", "Dashbotv", "今日のスタンド", "ホモォいじり on iOS", "3hikime_hitsuji", "午前3時の茨城県", "リプライ数チェッカ", "すごいbotを作るサービス", "いろつく結果画像投稿", "このまま眠り続けて死ぬ", "TweetMag1c for Android", "TwitCasting", "魔理沙ちゃん大陸", "ポッキームシャムシャ", "makebot ツイッター便利機能/ボット作成サービス", "twitterfeed", "えへへ(^^)", "精神の乱れ", "このまま眠りつづけて死ぬ", "垢消せ.com", "rakubo2", "livedoor Blog", "イクシったー", "このままもじゃりつづけてしぬ", "ツイ助。", "なるほどえたきちじゃねーの", "なるほどコカインマンじゃねーの", "autotweety.net", "Ask.fm", "ニコニコ動画", "ニコニコ生放送", "rekkacopy"]
mecab-rubyが気持ち悪い
形態素解析は面白いですね。MeCab
を利用して行っています。
わりと砕けた文章でも意外にうまく解析できたりして結構遊べます。
このbotではRubyから扱う為にmecab-ruby
というgemを利用しているのですが、parseToNode
メソッドの戻り値の使い勝手が悪過ぎる気がしました。
格納されているのはnodeオブジェクトで、解析した文章が単語ごとで区切られて入っています。next
メソッドで次の語を参照することができます。
なぜイテレータが使えないのですか。
Rubyなのに。
While
文を使うのは非常に気持ち悪かったのでMeCabModel
というクラスを書いてnode
の中身を扱いやすくプロパティも増やし、Array
に格納して吐き出すようにしました。
それでも、まだ納得のいった拡張にはなっていませんが…。
そんなこんなでアリス歌うよbotは生まれました。
私は綾の方が好きですけどね。
blog comments powered by Disqus