0

シンプルなチャットボットを作成しています。ユーザーの応答から情報を取得したい。シナリオ例:

Bot : Hi, what is your name?
User: My name is Edwin.

文からエドウィンという名前を抽出したいと思います。ただし、ユーザーは次のようなさまざまな方法で応答できます。

User: Edwin is my name.
User: I am Edwin.
User: Edwin. 

単語間の依存関係に頼ろうとしているのですが、うまくいきません。

この問題に取り組むためにどのようなテクニックを使用できるかについて何か考えはありますか?

4

4 に答える 4

1

まず、完全な名前検出をセットアップするには非常に重いと思います。ボットが 99% のケースで名前を検出できるようにする場合は、いくつかの作業が必要です。そして、名前の検出はあなたの計画のほんの始まりにすぎないと思います...

これは言った、ここに私の頭に浮かんだ最初のアイデアがあります:

  • 名前は、文法的に言えば名詞です。したがって、文の文法分析を実行できれば、名前の候補がいくつか見つかります。
  • 名前は大文字で始まるはずですが、チャットではこれは尊重されない可能性が高いため、ほとんど役に立たない可能性があります...ただし、大文字で始まる単語に出くわした場合、それは誰かのものである可能性があります名前(場所の名前かもしれませんが...)。
  • 自己紹介の際に合理的に考えられるパターンはそれほど多くないため、タイプミスに対して多少の許容度を持って、それらを「ハードコード」することができます。
  • 実際の名前を期待している場合は、膨大な量の名前を保持するデータベースを使用できますが、ハワイ語または中国語の名前を楽しんでください. それでも、ヨーロッパの名前の場合、これは実行可能な解決策のように見えます.

しかし、私は AI の専門家ではないので、他の提案を楽しみにしています。

于 2016-11-02T08:50:34.427 に答える
0

「私の名前は重要ではない」、「私の名前は非常に長い」などを考慮すると、名前の検出が複雑になる可能性があります。

これは、名前を解析しようとする Self のパブリック ドメイン スクリプトです。Python に適応させることができるかもしれません。また、ウィクショナリーで単語を検索して、名前として分類されているかどうかを確認するなど、クレイジーなことも行います。

https://www.botlibre.com/script?id=525804

于 2016-11-30T17:18:41.520 に答える