レビューの項目ごとの感情を取り出す──ABSA(アスペクトベース感情分析)

目次

イントロダクション

スマートフォンのレビューが星4つだったとします。本文には、「バッテリーは長持ちするが、画面が暗くて見づらい」と書かれているかもしれません。レビュー全体を「肯定」か「否定」かに分類するだけでは、「バッテリーは褒められているが、画面には不満がある」という違いが見えません。

アスペクトベース感情分析(ABSA)は、「何について」「どう感じているか」を項目(アスペクト)ごとに取り出す手法です。

感情分析とは

感情分析(Sentiment Analysis)とは、「文章から人々の意見や感情を取り出して分析する」手法です。オピニオンマイニング(opinion mining)とも呼ばれます。人々の意見、感情、評価、態度、情動を書かれた言葉から分析する研究分野であり、商品のレビュー、ブログ、SNSなどが分析の対象になります。基本は、文章の感情の向き(極性)を肯定・否定・中立のいずれかに判定することです。

どの単位で判定するかによって、3つのレベルに分けられます。次のレビューで比べてみます。

レビュー:「バッテリーは長持ちするが、画面が暗い。カメラはきれい。」

レベル問いこの例での結果
文書レビュー全体は肯定か否定か全体:肯定
文各文は肯定か否定か1文目:肯定と否定が混ざる(1つに決められない) 2文目:肯定
アスペクトどの項目が肯定か否定かバッテリー:肯定 画面:否定 カメラ:肯定

アスペクトベース感情分析とは

アスペクトベース感情分析(Aspect-Based Sentiment Analysis, ABSA)とは、「文章の中で、どの項目(アスペクト)についてどんな感情が表されているかを、項目ごとに分析する」手法です。

感情分析において、文書全体の極性を判定する問題は、最もよく研究されてきた問題の1つとされています。しかし、1つのレビューや1つの文には、複数の項目について異なる評価が混ざることがあります。製品を改善するには、どの項目が好まれ、どの項目に不満があるのかを知る必要があります。こうした背景から、評価の対象項目(アスペクト)ごとに感情を取り出すABSAが生まれました。

図1:1つの文から取り出す4つの要素。アスペクト表現(紫)と意見表現(緑)を対にして、感情極性(肯定・否定)を判定する。アスペクトカテゴリは、あらかじめ決めた分類(下の文字)に当てはめる。

要素意味例
アスペクト表現(aspect term)評価の対象になっている文中の言葉バッテリー、画面
アスペクトカテゴリ(aspect category)評価の対象を、あらかじめ決めた分類に当てはめたものバッテリー、ディスプレイ
意見表現(opinion term)感情を表している文中の言葉長持ちする、暗い
感情極性(sentiment polarity)感情の向き肯定、否定

数値例①:アスペクトごとに集計する

架空のスマートフォンのレビュー10件から、アスペクトごとの感情を取り出して集計したとします。星の評価の平均は3.5です。

アスペクト肯定否定中立言及数スコア
($\frac{\text{肯定}-\text{否定}}{\text{言及数}}$)
バッテリー71210$\frac{7-1}{10} = +0.60$
カメラ4015$\frac{4-0}{5} = +0.80$
価格3306$\frac{3-3}{6} = 0.00$
画面2518$\frac{2-5}{8} \approx -0.38$

図2:アスペクトごとのスコア(架空の10件のレビュー)。全体の星の平均では見えない画面への不満が、アスペクトごとに見ると分かる。

星の平均は3.5で「まずまず」に見えますが、アスペクトごとに見ると、バッテリーとカメラは評価が高く、画面には不満が多いことが分かります。改善すべき項目は画面です。

注意点:言及数が少ないアスペクトはスコアが不安定です。カメラは5件しかなく、1件の評価が変わるだけでスコアが0.2動きます。

主なタスク

ABSAには、取り出す要素の組み合わせに応じて、さまざまなタスクがあります。1つの要素だけを扱う単一のタスクと、複数の要素をまとめて扱う複合のタスクがあります。

タスクやること例
アスペクト表現の抽出(ATE)文中から評価対象の言葉をすべて取り出すバッテリー、画面
アスペクトの感情分類指定したアスペクトの感情極性を判定する画面 → 否定
3つ組の抽出(ASTE)アスペクト表現・意見表現・感情極性の3つ組を取り出す(画面、暗い、否定)

数値例②:抽出の精度を測る

アスペクト表現の抽出精度は、適合率・再現率・F値で測ります。正解のアスペクト表現とシステムが取り出したアスペクト表現が、次のようだったとします。

アスペクト表現数
正解バッテリー、画面、カメラ、価格、重さ5
システムの出力バッテリー、画面、カメラ、デザイン4
一致したものバッテリー、画面、カメラ3

適合率: 出力のうち、正解だった割合です(「デザイン」は余計でした)。

$$
P = \frac{\text{正解と一致したアスペクト表現の数}}{\text{システムが出力したアスペクト表現の数}}
= \frac{3}{4} = 0.75
$$

再現率: 正解のうち、取り出せた割合です(「価格」「重さ」は見落としでした)。

$$
R = \frac{\text{正解と一致したアスペクト表現の数}}{\text{正解のアスペクト表現の数}}
= \frac{3}{5} = 0.60
$$

F値: 適合率 $P$ と再現率 $R$ の調和平均です。

$$
F_1 = \frac{2PR}{P+R}
= \frac{2 \times 0.75 \times 0.60}{0.75+0.60}
= \frac{0.9}{1.35}
\approx 0.67
$$

まとめ

  • 感情分析: 文章の感情の向きを肯定・否定・中立のいずれかに判定する。
  • ABSA: 項目(アスペクト)ごとに感情を取り出す。全体の評価では見えない強みと弱みが分かる。
  • 4つの要素: アスペクト表現、アスペクトカテゴリ、意見表現、感情極性。
CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次