トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

各エンジン解説

各エンジンの解説

大きく分けて、学習時のログを参照・加工して発言を作り出すメインエンジンと、メインエンジンの回答やユーザの発言を追加・削除・置換したりするサブエンジンに分かれます

メインエンジン

SimpleSearchEngine

高負荷の為現在停止中

SimpleJoinEngine

高負荷のため現在停止中
単純結合エンジン:ユーザの発言内容を過去ログから検索し、発言内容を含むログを複数引っ張り出し、発言内容と一致する部分でログを結合。

  1. 前述の「自宅警備員〜」発言とは別に、予め誰かが「明日から自宅警備員」という発言がしそれが学習されていたとする。
  2. その後誰かが、「自宅警備員」と発言すると、学習内容から先ほどの「自宅警備員は辛いよ」と「明日から自宅警備員」を引っ張り出し、発言内容と一致する「自宅警備員」の部分で分割・結合・場合によってはキーとなった部分を削除する。最終的に「明日からは辛いよ」という回答をする
*JoinEngine
  1. MeCab*,Text::BreakIterator*,Lingua::JA* などを使い品詞や重要語句を抜き出す
  2. 抜き出したワードを中心にSimpleSearchEngine,SimpleJoinEngineと同様の処理をする
MeCabEngine,TBIEngine

MeCab*,Text::BreakIterator*などのを用い、予めログを分割学習した辞書使用。
隠れマルコフモデル用い文章を作成する

KeyWordEngine

旧来の辞書型エンジン
事前にキーワードに対する反応を登録をしている。(「山」と言われたら「川」で返すなど)
有名どころでいうとゆぃぼっと辺りと同じ

InterjectionEngine

適当な感動詞(「おお」とか、「へー」など)をランダムで選択する

Google*Engine

ユーザの発言を適当にググる。天気 電卓機能などもこれ。

サブエンジン

ReplaceEngine

旧来の辞書型。ユーザの発言や、よせなべが回答仕様とした内容の一部を同類の単語に置換する。

  • 例1 メインエンジンの回答が例えば「昨日エジプト行ってきたよ」だったら →「昨日%noun_place%行ってきたよ」→「昨日アメリカ行ってきたよ」にして発言
  • 例2 ユーザの発言「ただいま」→「おかえり」にしてからメインエンジンに投げる
RechoiceEngine

通常 ユーザの発言->人工無脳処理->回答 となる所を、一度導き出した回答をユーザの発言とみなして再評価する。
ユーザの発言->人工無脳処理->回答予定の発言に対して、再度人工無脳処理->回答
基本的に再評価結果を更に再々評価(連続再評価)はしない。

TrigramEngine

高負荷のため現在停止中