この記事は「新人クリエーションセレモニー」活動に参加し、一緒にナゲットクリエーションの道を歩み始めました
まず第一に、外国語の英語の感情分析は、英語の単語分析の便利さと大規模な英語のデータセットWordNetのおかげで、良い結果を達成しました。ただし、中国語の多様性、セマンティクスの多様性、およびデータセットの欠如により、国内の感情分析は一時的に海外に遅れをとっています。この記事では、プロジェクトで感情的な辞書を作成したブロガーの経験を記録し、誰もが私を訂正することを歓迎します。
まず、感情レキシコンを一般的な感情レキシコンと特別な感情レキシコンに分けます。
1.一般的な感情辞書の構築
一般的な感情辞書の構築は、主に現在のオープンソースの感情辞書を統合して、反復的で役に立たない単語を除外することによって行われます。現在、オンラインのオープンソースの感情辞書には、HowNet感情辞書、国立台湾大学(NTSUSD)の簡略化された中国語の感情極性辞書、大連理工大学の感情語彙オントロジーが含まれています。最初の2つはオンラインで見つけることができ、3つ目は学校の公式ウェブサイトにアクセスして申請する必要があり、目的を説明した後に入手できます。
2.ユニバーサルセンチメント辞書の拡張
上記の感情辞書は古くから存在しているので、特定の方法で拡張することができます。ここで採用するアプローチは、辞書の同義語を辞書に追加することです。ハルビン工業大学が主催する同義語フォレストを使用して辞書の同義語を取得します。同義語フォレストの初版は比較的古く、現在はハルビン工業大学が主催する同義語フォレストの拡張バージョンがあります。テクノロジーの。使用されるリンクは次のとおりです。HarbinInstituteofTechnology Synonyms Lin Extended EditionPythonのSynonymsライブラリを使用して、コードを記述するときに同義語を取得することもできます。これはオープンソースであり、リンクは次のとおりです。次のような同義語:
import synonyms
print("人脸: %s" % (synonyms.nearby("人脸")))
print("识别: %s" % (synonyms.nearby("识别")))
复制代码
3.ドメイン感情辞書の構築
ドメイン固有の感情辞書を作成するには、PMI相互情報量の計算と、必要な新しい単語を見つけるための左右のエントロピーを使用する必要があります。具体的な方法としては、感情シードワードを追加して、各単語の相互情報量と左右のエントロピー、および分割された単語のコーパス内の感情シードワードを計算し、相互情報量と左右のエントロピーを組み合わせることができます。 、最も関連性の高い感情的な単語を選択します。TopNの単語は、対応する感情辞書に追加されます。ここでリンクリンクを参照できます
相互情報量計算
- p(x、y)は、2つの単語が一緒に出現する確率です。
- p(x)は、単語xが出現する確率です。
- p(y)は、単語yが出現する確率です。
具体例:4G、ネットワークカード、4Gネットワークカード; 4Gの単語頻度が2、ネットワークカードの単語頻度が10、4Gネットワークカードの単語頻度が1の場合、単一単語の総数はN 、ダブルワードの総数がMの場合、次の式があります。
左右のエントロピー
ここでは、左右のエントロピーを使用して、事前に選択された単語の自由度を測定します(4Gネットワークカードは事前に選択された単語です)。これは別の単語です。ここでは、左右のエントロピーを次のように定義します(例として左のエントロピーを取り上げます):ここでも、それを理解するための具体的な例を示します。4Gネットワークカードの周囲には非常に多くの組み合わせがあると想定されています[4Gネットワークカードを購入する、4Gネットワークカードを持っている、そして4Gネットワークカードカードを持っている、4Gネットワークカードを失う]そして、4Gネットワークカードの左エントロピーはここにA = [買う、持っている、失う]
具体的な実装は次のとおりです。ここでの難しさは、これらの確率値を取得する方法です。ブロガーに見られる使用法は、検索エンジンを使用して単語の共起率、つまりコーパスを使用してp(x、y)を取得することです。各単語の出現確率を取得する
最後に、これらの3つのステップで取得した感情辞書を統合するだけで済みます。
また、私の個人的なブログにアクセスして、話し合い、連絡することもできます。私を訂正することを歓迎します。JMXの個人ブログ www.jmxgodlz.xyz参照:python3は、相互情報量と左右のエントロピーのための新しい単語検出を実装します