1. 序章

感情分析は、表現する感情に応じてテキストを自動的に分類するタスクです。最も単純なシナリオでは、テキストをポジティブ、ネガティブ、またはニュートラルに分類します。 より複雑な状況では、特定の感情を識別したり、特定のエンティティに関する感情を計算したりできます。

いずれの場合も、感情分析は、オンラインレビューやソーシャルメディア活動の大規模な分析を行うなど、ブランド、映画、書籍に関するユーザーの意見を分析するために広く使用されています。

感情分析を実行する方法はたくさんありますが、辞書を使用するのがおそらく最も簡単な方法です。

感情分析辞書には、単語、フレーズ、または概念によって表現される感情または極性に関する情報が含まれています。 実際には、辞書は通常、単語ごとに1つ以上のスコアを提供します。 次に、それらを使用して、個々の単語に基づいて入力文の全体的な感情を計算できます。

このチュートリアルでは、英語の辞書の概要を確認し、辞書ベースの感情分析の一般的な欠点を分析します。

2. 感情分析辞書

2.1. SentiWordNet

名前が示すように、SentiWordNetは単語ではなくWordNetシンセットにスコアを割り当てます。 特に、各シンセットには、0から1の間にあるポジティブスコアとネガティブスコアの両方があります。 このリソースは、15万語以上の非常に高いカバレッジを持っています。 さらに、WordNetに基づいているため、品詞タグの分離など、すべての優れた機能を継承しています。

この辞書はWordNetシンセットで機能するため、異なる意味に応じて同じ単語に異なるスコアを割り当てます。 たとえば、「魅力的」という言葉には、少なくとも次の2つの意味があります。

  • 特に美しさや魅力を通して目や心を喜ばせます。
  • 磁石の特性を持っている; 引くまたは引く能力。

したがって、SentiWordNetでは、意味ごとに1つずつ、合計2セットのスコアが見つかります。 特に、最初の意味のスコアは(pos = 0.875、neg = 0.0)であり、2番目の意味はニュートラル(pos = 0.0、neg = 0.0)です。

この辞書を使用するには、文中の各単語の特定の意味を知る必要があります。これを行うには、Word Sense Disambiguationアルゴリズムを使用して、文脈に基づいて単語の意味を予測できます。

SentiWordNetの「魅力的な」という単語の2行は次のようになります。

最初の列は品詞タグで、「a」は「形容詞」を意味します。 次に、WordNet Synset IDの後に、ポジティブスコアとネガティブスコアが続きます。 3番目の列には、シンセット内の一連の用語と、最後にWordNet定義が含まれています。

2.2. SentiWords

SentiWordsはSentiWordNetと非常によく似ており、実際にはSentiWordNetから派生しています。 SentiWordNetとは対照的に、SentiWordsはシンセットではなく単語に直接スコアを割り当てます。 これらを事前極性と呼びます。つまり、単語の文脈(したがって意味)に依存しない極性です。 これにより、最初に入力テキストを明確にすることなく、この辞書を使用できます

これらの極性を計算するために、著者はSentiWordNetからのデータを考慮に入れた高カバレッジおよび高精度アルゴリズムを使用しました。

WordNetから間接的に派生しているため、この辞書は15万語以上もカバーし、英語で最も広範な辞書の1つになっています。 また、語義の曖昧性解消アルゴリズムの使用を避けたい場合にも最適です。

2.3. VADER

VADERは、ソーシャルメディアテキスト用のレキシコンおよびルールベースの感情分析ツールです。レキシコンは、10人の人間のアノテーターからの評価を集計することにより、手動で作成されています。

このため、7000語をわずかに超える単語が含まれているため、前の例ほど広範ではありません。 それでも、その精度は自動的に作成されたリソースよりも高くなければなりません。 さらに、ソーシャルメディア向けに特別に調整されているため、他の辞書では通常使用されない絵文字や略語(「lmao」、「lol」など)もカバーされます。

VADER辞書のサンプルは次のとおりです。

4つの列が含まれていますが、最初の2つ(ターゲット単語とその極性)のみを考慮します。 極性は、4番目の列の10個の個別のスコアの平均にすぎません。 3番目の列は、個々のスコアの標準偏差です。

最後の2つの列は、データの統計的検定を実行するためにのみ報告されますが、感情分析ツールは極性自体のみを使用します。 この辞書では、スコアは通常の-1または0から1の範囲ではなく、-4から4の範囲である可能性があることに注意してください。

3. 辞書ベースのアプローチの制限

辞書を使用することは、この感情分析を実行するための最も簡単な方法である可能性があります。 ただし、それでもは、言語のすべての複雑さを処理できないことがよくあります。

たとえば、「とても暑くなる」のような簡単な文を考えてみましょう。 それ自体は感情を表現していません。 それでも、ラップトップについて話すときはネガティブであり、ストーブについて話すときはポジティブであると考えることができます。

さらに、これらのシステムは、否定やその他の言語のバリエーションを正しく処理する必要があります。これにより、他の方法では孤立して使用される単語の感情が変わる可能性があります。

大事なことを言い忘れましたが、テキストには皮肉が含まれていることがよくあります。皮肉は自動的に検出するのが非常に難しく、感情分析アルゴリズムの結果を歪める可能性があります。

これらの考慮事項に基づいて、トレーニングデータが利用可能な場合、通常は機械学習ベースのアプローチを使用する方が望ましいです。これは、辞書ベースの方法よりも優れていることがよくあります。

4. 結論

感情分析辞書は、感情分析システムを実装するときに非常に役立ちます。 それらには欠点がありますが、多くのユースケースに価値を提供できます。

この記事では、3つの人気のある無料の辞書について説明し、感情分析に対する辞書ベースのアプローチの制限について簡単に説明しました。