レビューは、顧客の購買意思決定に大きな影響を与えます。しかし、膨大な数のレビューが存在するため、プロダクトやサービスに対する一般的な世論を掴むことは困難です。残念ながら、既存のオピニオンマイニングやレビュー要約の技術には多くの制約があります。特に、重複の課題や、意見間の関係が無視される課題が今なお残っています。そこで、Megagon Labsは、オピニオンを抽出し、オピニオングラフに整理するレビュー要約システム、ExplainItを開発しました。このブログ記事では、レビューから主観的な情報をオピニオングラフで表現する方法について説明します。また、ExplainItの新しいパイプラインがどのようにレビューからのオピニオングラフの構築を促進するのかについても説明します。私たちの知る限り、ExplainItはレビューからオピニオンとその説明関係の両方を抽出し整理することができる最初のパイプラインです。
客観データ vs. 主観データ
インターネットは事実情報と主観情報の宝庫です。ウィキペディア(図1a)などは、膨大な量の事実あるいは客観的な情報を含んでいます。一方、TripAdvisor、Amazon、Indeedなどのオンラインサービスプロバイダー(図1b)はカスタマーレビューから大規模な主観的な情報を保持しています。
主語-述語-目的語のトリプルで事実を抽出し(例:Mars, member of, Solar System)、このデータから知識ベースを構築することで、大きな進歩がありました。これらの進歩は、検索エンジンや質問応答(QA)システムなどの様々な技術の応用に役立っています。しかし、オピニオンを構造化するための機械学習や自然言語処理の研究ははるかに少ないのです。オピニオンは主観的なデータに富んでいるだけでなく、市場調査や製品調査のような活動において重要な要素である感情のニュアンスを理解するためにも不可欠なものです。
このギャップを埋めるためにExplainItは生み出されました。このレビュー要約システムの中心にあるのはオピニオングラフであり、説明可能なレビュー要約の生成やオピニオンフレーズの検索など、ダウンストリームアプリケーションで非常に役立つ表現です。現在のオピニオンマイニング手法の限界を検証することで、なぜより優れたオピニオン整理の方法が必要なのかを説明しましょう。
オピニオン・マイニングの限界に挑む
既存のオピニオンマイニングの研究は主に2つの要因に焦点を当てています。
- オピニオン抽出の精度向上
- 事前定義された一連のアスペクトについて抽出された意見のアスペクトベースの感情分析
ただし、次の2つの制限があるため、このような手法を直接使用して抽出されたオピニオンを整理することはできません。
1. 意見間に関係性がない
現在のオピニオンマイニング手法では、意見間の関係性を判断することはできません。既存手法は”良い場所 “のような抽出された意見のセンチメントを決定することはできますが、”公園が近いから立地が良い”、”公園が良い”、”夜景が良い”などの説明はできないのです。
2. 大量の冗長性
抽出されたオピニオンをすべて集めるだけでは、冗長性が高くなりすぎて誤った結論を導く可能性があります。たとえば、”静かな部屋”、”とてもうるさい通り”、”騒々しい近所”、”ひどい街の騒音”、 “静かな部屋”、といった5つの意見のリストがあると仮定します。もし、意見が類似性に従って整理されていなければ、”静かな部屋”が最も多い意見であると誤って結論付ける可能性があります。
では、オピニオンををナレッジベースに整理するための最良の方法は何でしょうか。 これに答えるために、一連のアノテーションタスクを通じてレビューの主観的情報の特徴を分析しました。 これにより、次のことを確認できました。
主観的な情報の表現として最も一般的なのがオピニオンフレーズである
オピニオンフレーズは、(opinion term, aspect term)という形式のペアです。例えば、 (very good, location)のようなものです。このようなペアが主観的な情報の84.75%を占めています。
意見間の関係で最も多いのは”説明”
トリップアドバイザーから無作為に抽出した40,000件のレビュー文のうち、12.3%のオピニオンは何らかの関係性の下に相関していることがわかりました。つまり、これらのオピニオンは互いに説明したり、相反したり、言い換えられたりしています。このうち74.2%は説明関係に関連していました。
意見と説明はエンティティごとに存在
多くの意見とその説明は、レビューした主体に固有のものであり、複数の主体にまたがる一般的な説明関係を記述したものではありません。例えば、「大通りに近い」という意見は、特定のホテルのレビューにおいて、”Our room was very noisy because it is close to the main street.” と「非常に騒がしい部屋」を説明しています。しかし、この説明は、別のホテルに当てはまるとは限りません。
オピニオングラフの紹介
これまでの分析から、単に「オピニオングラフ」と呼ぶオピニオンを整理するためのグラフ表現を提案します。これは、あるエンティティに特化したレビューに基づく説明関係を中心に意見を整理するものです。図2cに示すように、オピニオングラフの各ノードは、意味的に類似したオピニオンのフレーズの集合です。2つのノードuとvの間のエッジ(u, v)は、uがvを説明していることを表します。
いくつかの理由から、オピニオングラフがレビューの意見整理のための汎用性の高い構造であることを発見しました。
- オピニオングラフは、多数のレビューに対するオピニオンを簡潔かつ構造的に表現するものです
- ノードは、さまざまな粒度のオピニオンを集約して表現することができます
- エッジは、レビューに表示される他のオピニオンに基づいて意見を説明します
- ノードの意見の出所は、それらの抽出元であるレビューにまで遡ることができます
- オピニオングラフは、説明可能なレビュー要約の生成やオピニオンフレーズ検索など、いくつかのダウンストリームアプリケーションをサポートできる有用な抽象概念です
オピニオングラフの構築
オピニオングラフを構築するために、ExplainItを開発しました。このパイプラインは、ナレッジベース構築の手法にヒントを得ています。オピニオングラフ構築のプロセスを以下の図3のように4つの要素に分解しました。
ステップ1: オピニオンマイニング
パイプラインの最初のステップでは、エンティティに関する一連のレビューからオピニオンフレーズをマイニングします。 これを実現するために、既存のアスペクトベースの感情分析モデルを活用できます。 このパイプラインでは、レビューからオピニオンフレーズを抽出するオピニオンマイニングシステムであるSnippextを特に使用しています。 また、各抽出に関連するアスペクトカテゴリとセンチメントを予測します。 これらの追加のシグナルを利用して、オピニオンフレーズの正規化を改善することができます。
ステップ2:説明マイニング
次に、ExplainItは、レビューから抽出されたオピニオンフレーズのペア間の説明関係を検出します。 クラウドソーシングを利用してドメイン固有のラベル付きデータを取得し、オピニオンフレーズ間の説明関係を発見するための分類器を開発しました。 このように、1つのモデルを学習するために2つの異なるタスクを使用することで、より優れた、より堅牢な分類器を構築することが重要なコンセプトです。この手法はマルチタスク学習として知られています。 以下の図4に示すように、モデルには2つの分類タスクが含まれています。
- レビューの分類:レビューに説明が含まれているかどうかを明らかにします
- 説明の分類:最初のオピニオンが2番目のオピニオンを説明しているかどうかを明確にします
マルチタスク分類モデルでは、コンテキストとオピニオンフレーズからのシグナルを直感的に捉えることを望んでいます。そのため、オピニオンフレーズを取り巻く文脈と、オピニオンフレーズ間の単語単位の整列の両方を考慮したモデルとなっています。 これは、オープンドメインのテキスト含意関係や主体関係分類における先行手法とは異なり、これら先行手法では両方の情報を同時に考慮しません。
ステップ3:オピニオンフレーズの正規化
オピニオンフレーズ間の説明をマイニングした後、意味的に類似したオピニオンフレーズ(例えば、「フィッシャーマンズワーフから遠くない」と「埠頭の近く」)をグループ化して、オピニオングラフのノードを形成します。このステップは、レビューの内容には類似した意見フレーズや重複が多く含まれることから必要となります。
オピニオンフレーズを正規化するために、オピニオンフレーズの埋め込みを学習する新しいオピニオンフレーズ表現学習フレームワークを開発しました。このフレームワークには2つの重要な特性があります。
- 従来の埋め込み技術は、通常、各オピニオンフレーズに対して1つの埋め込みベクトルを用意していました。これに対して、本フレームワークではオピニオンとアスペクトに対してそれぞれ異なる埋め込みを行います。さらに、それらを統合して一つのオピニオンフレーズとしてマージします。これにより、語彙的には似ているが意味的には異なるオピニオンフレーズ(例えば、”路面電車にとても近い” vs “海にとても近い”)を区別することができるようになります。
- このフレームワークでは、弱教師 (weak supervision) を利用して、オピニオンフレーズ埋め込みにオピニオンフレーズの意味的な捕捉に役立つシグナルを追加的に組み込むことで、人による追加のアノテーションコストをかけずに、オピニオンフレーズ埋め込みを行うことができます。特に、学習された表現がアスペクトカテゴリ、センチメントラベル、説明関係を予測するのに適していることを保証するために、損失関数に追加の目的が含まれています。
これまでのステップで抽出されたシグナルに基づく損失関数を追加することで、オピニオンフレーズ間の説明関係を保持したまま、意見フレーズ埋め込みに感情情報を取り込むことができるモデルです。
オピニオンフレーズ表現学習後、学習したオピニオンフレーズ埋め込みに対してクラスタリングアルゴリズムを適用し、オピニオンクラスタを取得します。各オピニオンクラスタは、最終的なオピニオングラフのノード(正規化された意見)となります。
ステップ4:オピニオングラフ生成
最後のステップでは、直感的なアルゴリズムを適用し、最終的なオピニオングラフを構築します。このアルゴリズムは、それぞれのノードの意見フレーズ間の集約された説明予測に従って、グラフのノードを接続することによってこれを行います。
いかがでしたか? ExplainIt: Streamlined Review Summarization Through Opinion Graph Constructionのサマリーを日本語でお届けしました。ExplainItの評価や考察はMegagon Labs 英語ブログでお楽しみください!