(画像:hoelixDE/Shutterstock.com)
AI 感情分析:文脈と文化をAIが理解するまで
2020年には、44億人以上ものインターネットユーザーがソーシャルメディアなどに投稿、口コミ、レビューを書き込み、そこから膨大な量のデータが生まれています。これらのデータから抽出される「インサイト」は、製品開発、マーケティング、顧客サポートに活かせるため、企業やイノベーターにとって計り知れない価値があります。ところが、このインサイトを引き出すという作業はなかなか一筋縄ではいきません。というのも、感情を持つ客によって書き込まれたデータは、人間の言語や文化的背景が複雑であるため、機械には理解し、解釈するのが難しいからです。自然言語処理(NLP)と機械学習(ML)などの技術を活用すれば、コンピュータは人間の言語からその意味を引き出し、理解することができるようになります。さらには、人工知能(AI)の先進的研究分野である感情分析では、構造化されていない、客が書き込んだデータを機械に理解させ、その意見がポジティブなのか、ネガティブなのか、それともニュートラルなのかを判断させることが可能になります。
意味分析からわかる言語の複雑性
自然言語処理の感情分析について理解するために、あるレストランに寄せられた「スープが美味しかった」という簡単なコメントについて考えてみましょう。このコメントを分析するには3つの手順が必要になります。
- コメントや文章、またはテキスト全体に意見が含まれていることを確認する。
- その意見がポジティブ、ネガティブ、ニュートラル(極性という)のいずれであるかを判断する。
- 意見の対象を確認する。
この文を感情分析すると、レストランで出された料理に対して明らかにポジティブであることがわかります。ところが、これと一見よく似ている「ビールが冷たい」という文では、そう単純には判断できなくなります。ほとんどの人は冷えたビールが好きなので、これをポジティブな意見だと捉えますが、別の文脈では「冷たい」はネガティブな極性を持つことがあります。例えば、「コーヒーが冷たい」という文は、文の構造と形容詞こそ同じですが、多くの人は冷たいコーヒーをネガティブだと考えるでしょう。
これ以外にも言語の複雑性によって、例えば、「料理は美味しく、スープは冷たかった」のような複数の感情を含んだ文の場合、さらに様々な問題が生まれます。この文では、客のスープの温度の好みによって、感情はポジティブにも、ネガティブにも受け取れ、曖昧です。同様に、「スープは温かく、ビールは冷たかった」という文は、ほとんどの人にとってはポジティブな感情ですが、ある一部の客の文脈では曖昧になります。
修飾語は極性の境界をさらにわかりにくくします。例えば、「スタッフは親切すぎるぐらいだった」という意見を考えてみましょう。ここでは皮肉なのか、反語なのか、比喩なのかを判断しなければならず、感情を正しく判別するのがさらに難しくなります。「1時間以上待たされ、本当に素晴らしいサービスだった!」というような文になると、トレーニングデータに不足し、体系的に手作業でコード化するのが極めて困難になります。
意味分析における文化変数
意見の極性の判断は、個人的、文化的、または状況的な好みまで考慮に入れると、ますます難しくなります。例えば、伝統的な日本の「リョカン(旅館)」に対する顧客レビューの分析を考えてみましょう。日本の旅館は通常、豪華で宿泊料も高く、また、客室内の浴室よりも共同の大浴場を売りとしています。「シャワーにゴミがあった」や「子ども用のプールがあった」など、モノの有無に関して、ポジティブであるか、ネガティブであるかを分類することは単純なことのように思えます。しかし、この旅館の例では、データから有益なインサイトを引き出すには、文化変数と個人的好みを考慮することが不可欠であることがわかります。日本では、共同の大浴場はポジティブな属性であると考えられています。それに対して、ヨーロッパからの旅行者のほとんどは、特に豪華ホテルの場合、これをネガティブな属性だと考えるでしょう。この例は、1つの特徴でも2つの文化を考慮しなければならないことを示しています。
自然言語処理における言語と文化変数への対応
自然言語処理では、文書全体レベル、段落・文レベルで感情の分析を行い、その結果を数値化します。文書全体の分析は有益ではありますが、段落・文レベルの分析のほうが粒度が細かいため、より正確な結果を得ることができます(例えば、製品そのものだけでなく、その製品のある特徴に対する感情が判別できます)。ここで課題になるのが、感情辞書の作成です。これは機械が感情をポジティブ、ネガティブ、ニュートラルのいずれかに分類するための規則を定めたものです。多くの無料のツールやリソースが出発点として公開データでトレーニングされており、すぐ利用できます。例えば、Natural Language Toolkit、spaCy、TextBlobのようなソフトウェアライブラリには、感情モデルや、ユーザーデータによる再トレーニングが含まれています。コーディング不要がよければ、Google Cloud Platform や Microsoft Azureなどのクラウドサービスでも、感情分析をすぐに始められます。手順はごく簡単で、分析したいテキストをブラウザにペーストし、アプリをビルドするだけです。
準備段階、データセット、機械学習モデルでは、言語と文化の複雑性が解決されなければなりません。つまり以下の対応が必要になります。
準備段階
変数と有益なインサイトが得られるための構造的なアプローチを見つけます。例えば、背景にある言語や文化、トーン、ソース、ターゲットの属性についてデータを分析し、その要素の解釈について言語学者に意見を求めます。同じターゲットグループに属する人々にインタビューし、ニュアンスや文脈を正確に理解すれば、アプローチが改善できます。
データトレーニング
変数に必要なサンプルを見つけ、人間によるアノテーション(注釈)を加えます。これには、辞書などの知識ベースを再検討し、問題があればトレーニングデータを追加したり、あるいは、問題があるサンプルや誤解を招くサンプルがあれば、データから削除しておくことが必要です。
モデリング
数学的な処理で文を表現する方法を見つけます。例えば、あるテキストを数値ベクトルで表現するワードエンベディングは、文脈で使用された言葉をそれぞれポジティブ、ネガティブ、ニュートラルにマッピングするのに有効です。データ分析は明示的にも非明示的にも個々の客の好みに基づいているのが理想的ですが、この分析は複雑で、ユーザーが特定できない場合はほとんど不可能です。より手軽な方法は、地域や言語別にデータを分析することです。それから、文化の違いを個別のトレーニングサンプルでモデル化します。
まとめ
メディアへの投稿、レビュー、口コミなど、客が書き込んだデータは、企業やイノベーターにとって貴重なインサイトになります。自然言語と文化的背景が複雑であるため、AIマシンが客の意見を理解するのは困難です。しかし、感情分析は、このような要素を捉えて、インサイトに反映させることができます。無料で提供されているツールを使って感情分析を始めることはできますが、言語と文化の複雑性には課題があり、十分な計画、データの準備、モデリングが必要です。言語と文化の複雑性に対して意識を高めることは、有益なインサイトを得るための第一歩であると同時に、客とそのニーズをより理解するための非常に価値のあるアプローチであると言えます。
著者
Michael Matuschek
ドイツ・デュッセルドルフのシニアデータサイエンティスト。コンピュータサイエンスで修士号、数理言語学で博士号を取得。各種産業界および学術界にて様々な自然言語処理プロジェクトに参画。専門テーマはレビューの感情分析、顧客メール分類、オントロジーエンリッチ メントなど。
0 件のコメント:
コメントを投稿