イントロダクション
スマートフォンのレビューが星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{言及数}}$) |
|---|---|---|---|---|---|
| バッテリー | 7 | 1 | 2 | 10 | $\frac{7-1}{10} = +0.60$ |
| カメラ | 4 | 0 | 1 | 5 | $\frac{4-0}{5} = +0.80$ |
| 価格 | 3 | 3 | 0 | 6 | $\frac{3-3}{6} = 0.00$ |
| 画面 | 2 | 5 | 1 | 8 | $\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つの要素: アスペクト表現、アスペクトカテゴリ、意見表現、感情極性。

