2016-09-26 14 views
2

たとえば、ある単語の次の単語を予測しようとすると、私はバイグラムのアプローチを使用して、コーパスの前の単語に基づいて発生する単語の確率を計算できます。単語予測:ニューラルネット対nグラムのアプローチ

代わりに、私は次の単語を予測するニューラルネットを使用している場合。訓練データは、各ペアがコーパス内の現在および次の単語を含む単語ペアからなる。ネットを訓練することは、入力値を単語のベクトル化された表現として使用し、出力値はコーパスの次の単語のベクトル化された表現である。

私はニューラルネットがより良いパフォーマンスを期待していますが、私はなぜそうは思わないのですか?

古典的なアプローチに対してニューラルネットを使用する方が良いでしょうか。この場合、ニューラルネット対nグラムモデル。この質問があいまいな場合にはお詫び申し上げます。

多分、答えは試行錯誤で、どのモデルがより速い性能を持ち、より良い予測をしているのかチェックしますか?

ニューラルネットは、予測が単なるベクトル乗算である一方で、予測にnグラムモデルを使用すると確率計算が必要になるため、パフォーマンスが向上します。

+0

https://arxiv.org/abs/1606.07470またはhttps://arxiv.org/abs/1608.04631の行に何かがありますか? – alvas

答えて

3

あなたの質問への答えは、あなたが持っている特定のデータに依存します。あなたが言うように、n-gramモデルは、可能な各バイグラムを観察する確率を数えることに基づいています。これは、特にあなたが訓練するテキストをたくさん持っていないときに、データを活用する本当に効率的な方法です。 N-gramモデルは、小さなデータセットでニューラルネットワークモデルを容易に破ることができます。

ニューラルネットワークには、nグラムモデルにはないいくつかの長所があります。リカレントニューラルネットワークの使用を前提として、より長い単語履歴を活用することができます。同様のnグラム全体でパラメータを共有することもできます。