2017-02-14 17 views
1

私たちは、顧客サービスのためのインテリジェントなチャットボットを作成しようとしています。私たちは顧客サービスの質問と回答のコーパスを持っており、それぞれの会話には旗が掲げられています。ディープラーニングを使用してモデルをトレーニングすることを検討していますが、いくつかの問題が発生します。チャットボットトレーニングのための深い学習

1 - モデルをテキストデータに訓練する方法。具体的には、どのように言語をベクトルに変換しますか?
2 - インテント認識ディープラーニングクラシファイアの入力として使用する単語以外の機能を使用するにはどうすればよいですか?あなたはどのように対応しますか?クライアント製品名? 3 - テキスト入力によるディープラーニングのためのニューラルネットワークアーキテクチャの選択方法 4 - 十分なデータがない状況には、どのように対処できますか?ベイジアン技術を使用しますか?

+0

ここで質問をして、より詳しい回答を得ることができます:http://stats.stackexchange.com/ 自然言語処理(NLP)を行う必要があります。ウェブ上にはたくさんの例があります。グーグルの「NLP feature extraction」を試してみてください。 幸運を祈る! – Hugo

答えて

0

クールで良いスタート!

あなたが実装にジャンプする前に、私はいくつかの基本を学ぶことをお勧めします。とにかく、ここにあなたの質問への回答です。

!!

フィーチャエンジニアリング:名前のとおり、データにはモデルの精度が低下する可能性があります。小文字、大文字、数字、特殊文字、行がいくつかの特殊文字などで終わっているような言葉のようなものです。しかし、再びそれはあなたが持っているデータのタイプに依存しています!

言語をベクターに:任意のタイプの言語、最後はテキスト(ここではあなたの場合)です。ベクトル表現を単語または文字にすることができます。このベクトル表現は、1つのホットベクトルまたはword2vecや手袋のような事前構築されたメソッドを使用して取得できます。

ホットベクトル1つ:トレーニングデータセットから100語があるとします。単語ごとにk次元のベクトルを作成します。 kは単語の総数である。 sord単語を文字位置で表示します。そしてthireソート順序に基づいて、そのインデックス位置1を維持してベクトルを作成し、0

ex: [1 0 0 0 0 ....] - word1 
    [0 1 0 0 0 ....] - word2 
    [0 0 0 0 0 ...1] - word100 

非ワード機能として残り:ワード機能 クライアント製品名と同じルールに従います - 彼らのような1つのホットベクトルを作成しますテキストでは通常使用されません。実生活では意味がありません。

どのようにNNを選択するか: - 達成したいものによって異なります。 NNは多くの目的で多くの方法で使用できます。

データが不十分です: - データにも依存します。 !!あなたのデータがより一般的なパターンを持ち、将来のデータでもこれらのパターンが来るなら! NNを使​​用しても問題ありません。それ以外の場合は、NNを使用することはお勧めしません。

Good Luck !!

関連する問題