• 本当は、田舎に庵を建てて隠遁生活したいけど、先立つものも無いので自宅で..。

ChatBotのまとめ(2)What Responder

What Responderは、入力文から複数の名詞を抽出し、その中からランダムに選択した名詞と、あらかじめ用意した文からランダムに選択した文を組み合わせ返答文を生成する。 あらかじめ用意した文から生成するので文法的な間違いは少ないが、名詞と文とは関連がない場合が多く意味不明な返答文になることが多い。

_morph.analyze_nounは、文字列を入力するとその文字列に含まれた名詞を抽出しリストとして返すメソッド。 _utils.randomListは、文字列リストからランダムに一語選択して返すメソッド。 入力文に名詞が一つも無ければ”入力文”+”って何?”を返す。

入力文から名詞を抽出する場合に全くランダムにするのでなく、ある程度規則性を持たせたり、記憶している文章の選択も、抽出した名詞とある程度関連ずける方法を検討すことが必要かもしれない。

ただ、ランダムに選択すると頓珍漢な返答文になりやすく、関連付けをしすぎると同じような返答文になりそうなので微妙なバランスが必要になりそう。

(つづく)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA