ari3_botに聞き出す文を実装した

@ari3_bot
だいぶあやしいけど、ある程度は動いてる。
以下は、一瞬でテキトウに行った会話ログ。僕はどんな文が処理できるのか知り尽くしているので、安全そうなことしか言わないですが。
青が僕で、緑がアリ。ちょっと読みにくいですが。


 mentions: やあ
 TALK: やあ
 * @ultraistter やあ
 mentions: だるい
 TALK: だるい question=> false
 TALK: ultraistterはだるいの question=> true
 - yes_no: だるい(ultraistter, nil), negative => false
 * @ultraistter だるいultraistter見たことない気がする。
 * ない…
 mentions: 僕はだるい
 TALK: ultraistterはだるい question=> false
 - fact: だるい(ultraistter, nil), negative => false
 * @ultraistter は..だるい..。メモした。
 mentions: 人間は眠い
 TALK: 人間は眠い question=> false
 - fact: 眠い(人間, nil), negative => false
 * @ultraistter 人間は..眠い..。アリさん、信じる。
 mentions: 僕は人間
 TALK: ultraistterは人間 question=> false
 - fact: 人間(ultraistter, nil), negative => false
 * @ultraistter は..人間..。メモした。
 mentions: 僕は眠い?
 TALK: ultraistterは眠い? question=> true
 - yes_no: 眠い(ultraistter, nil), negative => false
 * @ultraistter 眠い。
 mentions: 僕は人間?
 TALK: ultraistterは人間? question=> true
 - yes_no: 人間(ultraistter, nil), negative => false
 * @ultraistter それあってる、人間。
 mentions: アリは眠い?
 TALK: アリさんは眠い? question=> true
 - yes_no: 眠い(アリさん, nil), negative => false
 * @ultraistter 眠いアリさん想像できない。
 mentions: アリは飛ぶ?
 TALK: アリさんは飛ぶ? question=> true
 - yes_no: 飛ぶ(アリさん, nil), negative => false
 * @ultraistter 飛ぶアリさん想像できない。
 * ない…
 mentions: アリは空を飛ぶ
 TALK: アリさんは空を飛ぶ question=> false
 - fact: 飛ぶ(アリさん, 空), negative => false
 * @ultraistter アリさんは..空を..飛ぶ..。知らなかった…。
 mentions: アリは飛ぶ?
 TALK: アリさんは飛ぶ? question=> true
 - yes_no: 飛ぶ(アリさん, nil), negative => false
 * @ultraistter 飛ぶアリさん知ってる。
 * ない…
 mentions: put いも
 mentions: アリはどこを飛ぶ?
 TALK: アリさんはどこを飛ぶ? question=> true
 - query: 飛ぶ(アリさん, どこ), negative => false
 * @ultraistter 飛ぶのは、空。
 mentions: 空を飛ぶのは誰
 TALK: 空を飛ぶのは誰 question=> true
 TALK: 誰が空を飛ぶ? question=> true
 - query: 飛ぶ(誰, 空), negative => false
 * @ultraistter 空を飛ぶのは、アリさん。
 mentions: アリは空をどうする?
 TALK: アリさんは空をどうする? question=> true
 - query: する(アリさん, 空), negative => false
 * @ultraistter 空を飛ぶ。
 mentions: 僕はアリさんと話す
 TALK: ultraistterはアリさんと話す question=> false
 - fact: 話す(ultraistter, アリさん), negative => false
 * @ultraistter は..アリさんと..話す..。アリさん、信じる。
 * いも拾った
 mentions: アリさんと話すのは誰
 TALK: アリさんと話すのは誰 question=> true
 TALK: 誰がアリさんと話す? question=> true
 - query: 話す(誰, アリさん), negative => false
 * @ultraistter アリさんと話すのは、ultraistter。
 mentions: 僕は誰と話す?
 TALK: ultraistterは誰と話す? question=> true
 - query: 話す(ultraistter, 誰), negative => false
 * @ultraistter 話すのは、アリさん。
 mentions: だるい
 TALK: だるい question=> false
 TALK: ultraistterはだるいの question=> true
 - yes_no: だるい(ultraistter, nil), negative => false
 * @ultraistter だるいultraistter見たことある。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 mentions: アリは夜に寝ない
 TALK: アリさんは夜に寝ない question=> false
 - fact: 寝る(アリさん, 夜), negative => true
 * @ultraistter アリさんは..夜に..寝る..の反対..。メモした。
 mentions: アリは寝る?
 TALK: アリさんは寝る? question=> true
 - yes_no: 寝る(アリさん, nil), negative => false
 * @ultraistter アリさんは寝ない。
 mentions: アリは寝る
 TALK: アリさんは寝る question=> false
 - fact: 寝る(アリさん, nil), negative => false
 * @ultraistter アリさんは..寝る..。勘違いしてた。
 mentions: アリは寝る?
 TALK: アリさんは寝る? question=> true
 - yes_no: 寝る(アリさん, nil), negative => false
 * @ultraistter 寝るアリさん知ってる。
 mentions: アリは夜に寝る?
 TALK: アリさんは夜に寝る? question=> true
 - yes_no: 寝る(アリさん, 夜), negative => false
 * @ultraistter アリさんが夜に寝るの見たことある。
 mentions: えっ
 TALK: えっ
 * @ultraistter えっ
 mentions: まあいいです
 TALK: まあいいです question=> false
 TALK: ultraistterはまあいいですの question=> true
 - yes_no: いい(ultraistter, nil), negative => false
 * @ultraistter はいくないよ。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 mentions: アリは夜に寝ない
 TALK: アリさんは夜に寝ない question=> false
 - fact: 寝る(アリさん, 夜), negative => true
 * @ultraistter アリさんは..夜に..寝る..の反対..。勘違いしてた。
 mentions: アリは夜にどうしない?
 TALK: アリさんは夜にどうしない? question=> true
 - query: どうしない?(アリさん, 夜), negative => true
 Bot::Japanese
 * @ultraistter 夜に寝ない。
 mentions: アリは夜にどうする?
 TALK: アリさんは夜にどうする? question=> true
 - query: する(アリさん, 夜), negative => false
 * @ultraistter アリさんは..夜に..どうする..。どうする?
 mentions: アリは夜に話す
 TALK: アリさんは夜に話す question=> false
 - fact: 話す(アリさん, 夜), negative => false
 * @ultraistter アリさんは..夜に..話す..。メモした。
 mentions: アリは夜にどうする?
 TALK: アリさんは夜にどうする? question=> true
 - query: する(アリさん, 夜), negative => false
 * @ultraistter 夜に話す。
 mentions: 夜に話すのは誰
 TALK: 夜に話すのは誰 question=> true
 TALK: 誰が夜に話す? question=> true
 - query: 話す(誰, 夜), negative => false
 * @ultraistter 夜に話すのは、アリさん。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 mentions: 眠い?
 TALK: 眠い? question=> true
 TALK: アリさんは眠い? question=> true
 - yes_no: 眠い(アリさん, nil), negative => false
 * @ultraistter 眠くない。
 mentions: 寝ろ
 TALK: 寝ろ question=> false
 TALK: アリさんは寝ろの question=> true
 - yes_no: 寝る(アリさん, nil), negative => false
 * @ultraistter 寝るアリさん想像できない。
 mentions: アリさんは寝る
 TALK: アリさんは寝る question=> false
 - fact: 寝る(アリさん, nil), negative => false
 * @ultraistter アリさんは..寝る..。間違えてた。
 mentions: 寝ろ
 TALK: 寝ろ question=> false
 TALK: アリさんは寝ろの question=> true
 - yes_no: 寝る(アリさん, nil), negative => false
 * @ultraistter 寝るアリさん知ってる。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 mentions: 僕は14歳
 TALK: ultraistterは14歳 question=> false
 - fact: 14歳(ultraistter, nil), negative => false
 * @ultraistter は..14歳..。アリさん、おぼえた。
 mentions: 僕は何歳?
 TALK: ultraistterは何歳? question=> true
 - query: 何歳(ultraistter, nil), negative => false
 * @ultraistter は14歳。
 mentions: 僕は15歳
 TALK: ultraistterは15歳 question=> false
 - fact: 15歳(ultraistter, nil), negative => false
 * @ultraistter は..15歳..。アリさん、信じる。
 mentions: 僕は何歳?
 TALK: ultraistterは何歳? question=> true
 - query: 何歳(ultraistter, nil), negative => false
 * @ultraistter は15歳。
 mentions: 15歳は誰
 TALK: 15歳は誰 question=> true
 TALK: 誰が15歳? question=> true
 - query: 15歳(誰, nil), negative => false
 * @ultraistter 15歳は、ultraistter。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 * いも焼いてる
 mentions: いも食べるの
 TALK: いも、食べるの question=> true
 TALK: アリさんはいも、食べるの question=> true
 - yes_no: 食べる(アリさん, いも), negative => false
 * @ultraistter 食べない。
 mentions: 食べろ
 TALK: 食べろ question=> false
 TALK: アリさんは食べろの question=> true
 - yes_no: 食べる(アリさん, nil), negative => false
 * @ultraistter 食べるアリさん想像できない。
 mentions:
 * いもやばい
 mentions: いも食べたの
 TALK: いも、食べたの question=> true
 TALK: アリさんはいも、食べたの question=> true
 - yes_no: 食べる(アリさん, いも), negative => false
 * @ultraistter アリさんがいも、食べるの見たことある。
 mentions: アリはなにを食べる?
 TALK: アリさんはなにを食べる? question=> true
 - query: 食べる(アリさん, なに), negative => false
 * @ultraistter 食べるのは、いも。
 mentions: アリはいもをどうするの
 TALK: アリさんはいもをどうする? question=> true
 - query: する(アリさん, いも), negative => false
 * @ultraistter いも食べる。
 mentions: はい
 TALK: はい
 * @ultraistter はい
 mentions: もういいです
 TALK: もういいです question=> false
 TALK: ultraistterはもういいですの question=> true
 - yes_no: いい(ultraistter, nil), negative => false
 * @ultraistter いくない。
 mentions: さようなら
 TALK: さようなら
 * @ultraistter さようなら
 mentions: