2017-12-05 8 views
1

これが適切な場所であるかどうかは不明ですが、友人からここに行くように言われました。私は訓練中にテキストを取り込むAIを作成し、その後、ユーザがそれを「サンプリング」することに基づいて新しいテキストを与えます(これはではなく、チャットプログラムの場合はです)。例えば任意のテキスト予測のAIモデルですか?

、私は訓練のために、次の入力した場合:

abc123,test,example 
def456,work,coolio 

とサンプリングのために、以下の:それは何かを出力それは知っていることにをベースとすべきである

ghi789,what 

ではなく、それが知っているものの正確な複製(もちろん、入力が訓練に使用されていない限り)。

これは可能ですか?このための既存のモデルはありますか?私はchar-rnnを考えていましたが、サンプリング中にカスタム入力を許可していません。

申し訳ありませんが、これは間違った場所またはこのサイトで許可されていない場合。私は広範囲に調査したが、何も見つけることができない。私はTensorFlowのほんの少ししか知っていませんが、最初から始めるには十分ではありません。

ありがとうございます!

答えて

1

文字RNNはこれを開始するのに適しています。あなたがフィールドに慣れていないなら、それはあなたが地面から降りるのを助ける多くのチュートリアルと例があり、彼らが働いていることを知っているので、始めるのに最適な場所です。この上

読むKarpathyの優れたブログ&紙:http://karpathy.github.io/2015/05/21/rnn-effectiveness/

あなたは確かに、サンプリング中にカスタム入力を提供することができます。ネットワークが訓練されたら、さまざまな方法でサンプリングすることができます。実際、少なくとも最初の文字を「カスタム入力」として提供する必要があります。

典型的なサンプリングパターンは、最初の文字を最初のRNNシーケンスステップへの入力としてランダムに選択することです。その後、RNNは、アルファベット上の確率分布を生成し、次の文字をランダムにサンプリングすることができます。

2番目の文字については、RNNの確率分布からサンプリングし、次にランダムに選択された文字が次のRNNシーケンスステップの入力になるとします。次の文字でも同様です。

複数の文字のシーケンスをシードしたり、各ステップでRNNの出力を無視したり、入力シーケンスの完了後にRNNの出力をサンプリングしたりすることを止めるものはありません。したがって、カスタム入力シーケンスで開始するという目標を達成してから続けます。私はこのアプローチがあなたにとって非常にうまくいくと期待しています。

関連する問題