Bag of Words を使用していて、コンマとドットが機能の 1 つ (X
マトリックスの列) であると仮定します。
+-------------------------+-----------+-----------+----+
| Document/Features | Genuinely | unnerving | . |
+-------------------------+-----------+-----------+----+
| Genuinely unnerving . | 1 | 1 | 1 |
| Genuinely unnerving | 1 | 1 | 0 |
+-------------------------+-----------+-----------+----+
理想的なアルゴリズムは、これらの機能が関連しているかどうかを学習する必要があります。たとえば、ロジスティック回帰の場合、アルゴリズムは対応する列に非常に小さな重みを割り当てるため、その列の a1
または a0
は予測の結果を変更しません。したがって、次のようなものになります。
"Genuinely unnerving ." -> 0.5*1 + -2.3*1 + 0.000001*1 -> Negative
"Genuinely unnerving " -> 0.5*1 + -2.3*1 + 0.000001*0 -> Also negative
あなたの場合、彼らはいくつかの小さな効果を持っているようです。これは本当に問題ですか?間違っていると思われるいくつかの特殊なケースが見つかりましたが、データを調べると、アルゴリズムは、ドットのある文はドットのない文よりも否定的であることを発見しました。統計的に言えば、ドットが文の意味を変える可能性があることを信頼する必要があるかもしれません.
また、不適切なトレーニング データや不適切なオーバーフィッティング モデルを使用している可能性もあります。本当に何かが間違っていると思う場合は、たとえば句読点を無視するなどして、文を区別できないように表現することで、この知識をモデルに課すことができます。
一度にすべての句読点を除外するのは間違っていると思います。たとえば、 a!
という単語を伴う場合、 a は非常に肯定的な感情を表す可能性がありyes
ます。文からそれを削除すると、モデルの貴重な情報が隠されます。しかし、それは正反対であり!
、ほとんどの場合負である可能性があるため、トレーニング後に負の重みが高くなり、yes!!!
類似文を予測するときにモデルを混乱させます。この場合、モデルが単一の効果!
と(yes, !)
組み合わせの効果を別々に重み付けできるように、文をバイグラムとして表すことができます。
したがって、履歴書では、データを表現するさまざまなモデルと方法を試して、何がうまくいくかを確認する必要があります。