Coopを用いた具体的なレビュー要約の生成

YelpやGlassdoorのようなオンラインレビュー・プラットフォームの急速な成長に伴い、人々は飲食から就職活動に至るまで、顧客レビューに基づいて意思決定を行うようになっています。ある調査によると、オンライン顧客の94%以上が意思決定の前にレビューを読むとされています。しかし、毎日膨大な量のレビューがこれらのプラットフォームに投稿されているため、求めている有益な意見を見つけるのは困難です。このような状況に対する解決策が、意見要約です。

意見要約システムは、レビューから代表的な意見を抽出し、それを簡潔で分かりやすい形で要約します。これにより、ユーザーは多くのレビューを読まずに意思決定を行うことができます。

通常、テキスト要約システムは、大量の人間が書いた要約を使用してニューラルネットワークモデルをトレーニングすることで構築されます。しかし、意見要約システムの場合、顧客レビューには多様な意見が含まれているため、十分な量の人間が書いた要約を収集するのはコストがかかり、現実的ではありません。その結果、意見要約の研究の主な焦点は、人間が書いた要約を必要としない教師なしアプローチを用いて意見要約モデルを開発することにあります。

これまでのブログ記事では、意見要約に関する一連の取り組みを紹介してきました。その中には、制御可能な意見要約システムであるOpinionDigest、カスタマイズ可能なレビュー要約のためのインタラクティブエクスプローラーであるExtremeReader、および要約システムの両方を強化する強力なアスペクトベースの意見抽出ツールであるSnippextが含まれます。

本記事では、顧客レビューからより具体的な要約を生成するために教師なし意見要約を支援する新しい要約フレームワーク、Coopを紹介します。

既存の教師なし意見要約システムは、特定のレストランや製品に特化していない、あまりに一般的な要約を生成することが多いと分かりました。これは、ユーザーが生成された要約から各レストランや製品に関する具体的な情報を求めているため、好ましくありません。このため、教師なし意見要約モデルを改良するためにCoopを開発しました。より具体的な要約情報を生成することで、Coopの適用可能性が広がります。

教師なし意見要約

Coopフレームワークに入る前に、教師なし意見要約システムを構築する標準的な方法と、それがあまりにも一般的な要約を生成してしまう原因について説明します。

再構成を学習し要約を生成する

教師なし意見要約の一般的なアプローチは、再構成目標を持つエンコーダーデコーダーモデルを構築することです。図1に示されているように、このモデルはレビュー文を潜在空間内のベクトル表現に埋め込み、それを元のレビュー文にデコードする方法を学習します。大量のレビューを再構成することを学習することで、モデルは意味的に類似したレビューを潜在空間内で類似したベクトルにエンコードすることを学ぶはずです。
複数のレビューを要約する際には、モデルが入力レビューを個別に潜在ベクトルにエンコードし、それらの潜在ベクトルを単純な平均を取ることで要約ベクトルに集約します。このようにして、要約ベクトルが入力されたレビューに含まれる代表的な意見を含む流暢な要約としてデコードされることが期待されます。

図1: 再構成目標を用いてエンコーダーデコーダーモデルをトレーニングする方法。モデルは潜在ベクトルから元のテキストを再構築することを学習します。

要約ベクトルの劣化

単純な平均は、潜在空間で要約ベクトルを計算する自然で直感的な方法であり、既存の教師なし意見要約モデルにおいて事実上の標準として使用されてきました。

しかし、単純平均から生成される要約ベクトルは、あまりにも一般的な要約になりがちであることが分かりました。図2は、異なるレストランに関する3つのレビューセットの潜在ベクトルを示しています。元の潜在ベクトルは大きく異なっているにもかかわらず、単純平均の要約ベクトルは潜在空間の中心に近づいています。その結果、要約ベクトルは意味的に類似しすぎており、どのレストランにも適用可能なあまりにも一般的な要約にデコードされます。この問題を要約ベクトルの劣化と呼びます。他の問題よりも、この要約ベクトルの劣化が、意見要約モデルが具体的な要約(すなわち、代表的で特徴的な意見を含む要約)を生成することを妨げる主な原因となっています。

図2: 単純平均アグリゲーションを使用する既存の教師なし意見要約モデルは、どのエンティティに対しても非常に類似した要約(すなわち、エンティティに依存しない要約)を生成する傾向があります。

Coopを用いたより良い要約ベクトルの発見

この問題に対処するために、私たちは意見要約モデルがより具体的な要約を生成できるようにする潜在ベクトル集約フレームワーク「Coop」を導入しました。要約ベクトルの劣化問題を解決するのは容易ではありません。たとえば、要約ベクトルをより特徴的にするために、定数値を掛けてスケーリングする試みを行いました。このアイデアは多少の効果がありましたが、最終的には「幻覚的な」内容(すなわち、入力レビューに含まれていない情報)を生成してしまいました。そのため、具体性と内容のサポートのバランスを取ることが不可欠であり、同時に大きな課題となります。そこで、教師なし意見要約タスクを、入力レビューにより整合した要約を生成するためのより良い要約ベクトルを見つける最適化問題として定式化しました。

最適化問題を定式化するには、(1)目的関数(すなわち、何を最大化または最小化するかの基準)と、(2)探索空間(すなわち、どの候補を探索するか)を定義する必要があります。以下では、それぞれのポイントについて説明します。

図3: Coopフレームワークは、生成された要約と入力レビュー間の入力出力の重なりを最大化する要約ベクトルを探索します。

目的: 入力出力単語の重複

単純平均アグリゲーション法の根本的な問題の1つは、要約ベクトルの計算がデコーダーに依存していない点です。単純平均アグリゲーション法は、デコーダーの挙動を考慮しておらず、要約ベクトルから要約を生成するのはデコーダーであるにもかかわらず、この点が見過ごされています。この問題に対処するため、生成された要約と入力レビュー間の整合性を評価する基準を検討しました。具体的には、生成された要約と入力レビュー間の単語レベルの重複(これを入力出力単語重複と呼びます)を最大化すべき目的として選択しました。

図4は、生成された要約と入力レビューの例を示しています。入力出力単語重複が高い要約は、より多くの入力レビューの意見を含んでいると仮定します。この基準は、デコーダーが幻覚的な内容を生成するのを防ぎ、より事実に基づいた要約を作成するのにも役立ちます。さらに、この入力出力の重複は、人間が書いた参照要約に依存せずに測定できるため、Coopは完全に教師なしの形式で要約ベクトルを探索することが可能になります。

図4: 入力レビューと出力要約間の単語レベルの重複(入力出力単語重複)は、出力要約が入力レビューの意見をカバーしているかどうかを評価する優れた指標です。

探索空間: レビューの冪集合

入力出力単語重複を目的として設定すると、この問題は、この基準を最大化する要約ベクトルを見つけることに帰着します。広範な探索を通じて、要約ベクトルのアグリゲーションにおいて、入力レビューを含めるか除外するかを選択するシンプルな探索空間、いわゆる冪集合(Powerset)を使用することで、より効率的に優れた要約ベクトルを生成できることが分かりました。そのため、探索空間を冪集合に絞り込み、入力出力単語重複を最大化する要約ベクトルを見つけます。

直感的には、Coopは各入力レビューを使用するか否かを決定し、選択されたレビューの潜在ベクトルの平均を取って要約ベクトルを生成します。

Coopによるより具体的な要約の生成

では、Coopが生成する要約の質はどの程度良いのでしょうか。まず、中国料理店とアメリカ料理店の要約を見てみましょう。以下の表に示されているように、従来の単純平均アグリゲーション戦略を使用すると、2つの要約はほぼ同一の情報を伝えています。一方で、Coopを使用すると、要約にはよりエンティティ固有の情報が含まれます。たとえば、中国料理店の要約では料理の種類や料理の量について言及されており、アメリカ料理店の要約では、このレストランで提供されている多様な料理が含まれています!

人間による評価

上記の例は、Coopが単純平均法よりも具体的な要約を生成できることを示しています。これをさらに実証するために、私たちは人間のアノテーターに生成された要約の質を手動で評価してもらいました。具体的には、以下の2つの基準に基づいて要約の質を評価するよう依頼しました。

  • 有益性(Informativeness): 要約がどれだけ有用な情報を含んでいるかを評価し、-100(最悪)から+100(最良)までの範囲でスコアを付ける。
  • 内容の整合性(Content support): 要約が入力レビューとどれだけ一致しているか(すなわち、「幻覚的な内容」の程度)。文が完全に、部分的に、または全くサポートされていない比率を評価する。

以下の表1に示されているように、Coopによって生成された要約は、単純平均法よりも有益性が高いことが分かりました。一方で、Coopは内容の整合性でも優れており、他の手法よりも完全/部分的にサポートされた文を多く生成しています。これらの結果は、Coopが入力レビューに基づいた、より具体的かつ有益な要約を生成できることを示しています。

自動評価

最後に、公開されているベンチマークを使用して、Coopの性能を標準的な評価指標であるROUGEスコアを用いて評価しました。(R1、R2、RLはそれぞれ、1-gram、2-gram、および最長共通部分列の一致に基づいたスコアです。)以下の表2に示されているように、CoopはVAEベースのモデルであるBiMeanVAEと組み合わせることで、2つのベンチマークの両方で新たな最先端の性能を達成しました。これは、すべての教師なしおよび弱教師付きのベースラインを大幅に上回る結果となりました。

これにより、既存の教師なし意見要約モデルの上に、シンプルな最適化問題を解決するCoopを適用することで、より優れた具体的なレビュー要約を得られることがさらに実証されました。

まとめ

このブログでは、教師なし意見要約ソリューションのためのより良い要約ベクトルを探索する最適化フレームワーク「Coop」を紹介しました。また、事前学習済みのVAEベースの意見要約モデルとCoopをサポートする、使いやすいPythonライブラリをリリースすることをお知らせします。ほんの数行のPythonコードで、最先端の教師なし意見要約システムを実行することができます!GitHubリポジトリはこちらをご覧ください: https://github.com/megagonlabs/coop

執筆者:Hayate Iso、Xiaolan Wang、Yoshihiko Suhara、Megagon Labs

[原文へ – 2021/11/5]

(翻訳:Megagon Labs東京オフィス

Share:

More Blog Posts: