# 衣服を対象とした商品レビューからの長所 $\cdot$ 短所の抽出

井上京 ${ }^{1}$ 山田剛一 ${ }^{2}$ 増田英孝 ${ }^{2}$
東京電機大学大学院未来科学研究科 ${ }^{1}$ 東京電機大学未来科学部 ${ }^{2}$
22fmi06@ms. dendai. ac.jp \{yamada, masuda\}@mail. dendai. ac. jp

## 概要

近年，アパレル通販市場が拡大しており，商品レビューはユーザが商品を購入するかどうか決める際の大きな手掛かりとなっている. しかし, 商品レビユー数が多い場合，それらをすべて読むことは難しい. そこで, 本研究では商品の長所・短所を提示することを目的とし, 商品レビューから商品の長所・短所を抽出する手法を提案する。商品レビューから属性と評価値を抽出し, それらに対する感情の 3 つをトリプレットとして予測する. また，商品レビュ一に属性が明記されていない場合には，その属性の推定も行う. 評価実験において, トリプレット抽出の F1 スコアが「T シャツ・カットソー」カテゴリで 0.54，「セーター」カテゴリで 0.53 であった.

## 1 はじめに

近年, コロナ禍の影響でオンラインの需要が伸びたことによりアパレル通販市場が拡大しつつある [1]. また, 多くの通販では商品レビューを投稿する機能があり，ユーザは他のユーザが投稿した商品レビューを見ることができる．商品レビューは実際に商品を購入した人の意見や感想が記載されており， これらはユーザが商品を購入するかどうかを決める際の大きな手掛かりとなっている.

しかし, 商品レビュー数が多い場合, それらをすべて読むのに膨大な時間がかかってしまう。また，

一部を読んだだけでは商品の長所や短所をすべて把握することは難しい.

そこで，本研究ではユーザが商品レビューをすべて読まなくても商品の長所や短所を把握できるシステムを作ることを目的とし, 商品レビューから商品の長所・短所を抽出する手法を提案する. 商品レビユーから属性と評価値を抽出し, それらに対する感情を予測する。最終的には，これら 3 つをまとめてトリプレットとして抽出する. また, 商品レビュー に明記されていない場合には, その属性の推定も行い，より網羅的な抽出を図る.

## 2 関連研究

Wu ら[2]はレビューからトリプレットを抽出することを目的とした，グリッドタギング方式(GTS)を提案している.GTSは6種のタグ $\{\mathrm{A}, \mathrm{O}, \mathrm{Pos}, \mathrm{Neu}, \mathrm{Neg}$, $\mathrm{N}\}$ を用いて文中の任意の 2 つの単語関係を表すものである. CNN，BiLSTM，BERT をエンコーダとしてそれぞれ学習モデルを構築し，検証した結果， BERTが最も良い精度を得た。

Mukherjee ら[3]はタグ付けを用いない手法として。 ポインタネットワーク(PASTE)を提案している. PASTE では属性の開始位置と終了位置, 評価値の開始位置と終了位置, 感情を予測することにし, 位置に基づいた予測を行うことにより，属性と評価値の単語の長さが異なってもトリプレットを一様に表現することができる.

上記を含む多くの先行研究は属性が文中に明記されていることを前提とした手法を提案しておりここれらが文中に明記されていない場合の考慮はされてない、しかし，これらが文中に明記されていない場合の抽出手法を提案している先行研究も存在する.

Cai ら[4]はトリプレットにカテゴリを加えたクアドラプルの抽出を提案している。属性が文中に明記されていない場合は属性を null で抽出し，その分を力テゴリで補う。しかし, 最も良い結果で F1 スコア 0.446 であり，改善の余地がある．柏木ら[5]は省略された属性の推定も含めた属性一評価値ぺア抽出を提案している。事前に属性の候補リストを作成し， この中から省略された属性を推定する。また，レビユー文中の属性・評価値を抽出するための属性辞書・評価値辞書を作成している。文書中に明記されていない属性の抽出は $\mathrm{F}$ 値 0.55 , 文書中に明記されている属性の抽出は $\mathrm{F}$ 値 0.24 だった.

日本語の商品レビューは, 基本的に評価値は文中に明記されているが，属性は明記されていない場合が多くある。 そのため, 本研究では, 属性が文中に明記されているトリプレット抽出と属性が文中に明記されていないトリプレット抽出を同時に行う．

図 1 アノテーションの例(属性有り)

(属性) - 評価珄值 $^{\text {- 評価値 }}$

白を購入為るますた。可愛いてふわ尔わです。

・(デザイン)

図 2 アノテーションの例(属性無し)

## 3 提案手法

本章では, 本研究で使用するデータセットや前処理, トリプレット抽出の手法について述べる.

## 3. 1 用語の定義

本研究で扱う用語を以下のように定義する.
- 属性 : 評価対象となる商品の評価視点
- 評価値：属性に対する評価

・トリプレット : 属性, 評価値, 感情をまとめて抽出したもの

## 3.2 データセット

本研究では，楽天グループ株式会社が提供している「楽天データセット」[6]の商品レビューデータを使用し, その中から「T シャツ・カットソー」カテゴリと「セーター」カテゴリのデータを使用する.上記のカテゴリの特徴とこれらを使用する理由は以下の通りである.
- $\mathrm{T}$ シャツ・カットソー: 基本的に 1 年中需要がある

・ セーター：基本的に秋冬に需要がある
- 本研究で使用する理由：どの季節にも需要があるカテゴリと偏った季節に需要があるカテゴリの比較を行うため

なお, このデータセットには属性, 評価値, 感情のアノテーションが付与されていないため, 本研究の手法に対応するためにアノテーションの付与を行

図 3 GTS のタグ付け結果例([2]から引用)

表 1 各タグの意味

 \\

う.

## 3. 2. 1 前処理

アノテーションの付与を行う前にデータの前処理を行った。これを行う理由として，表記ゆれによる機械学習精度の低下が挙げられる。例えば，「あたたかい」と「暖かい」は本質的には同じ単語であるが，機械学習モデルはこれらを同一であると判断することができない。そのため，事前に表記ゆれの統一を行う必要がある。具体的には SudachiPy と Unicode 正規化を用いてデータに収録されている商品レビュー文の正規化を行い，表記ゆれの統一を行う.

## 3. 2.2 アノテーション

前処理を行った商品レビュー文に対し，アノテー

ションの付与を行う. アノテーションの例を図 1 ,図 2 に示す (アノテーション対象のテキストは活用する語の語形を基本形に変換している）。今回は各カテゴリ約 1,500 件のデータに対し，アノテーションを行い, 学習データ, 検証データ, テストデータをおよそ 7:2:1 の割合で分割する.

## 3.3 トリプレットの抽出

本研究では, 2 節で紹介した GTS[2]の手法を日本語のデータでも適応できるようにする。 また, 属性が文中に明記されていないトリプレットの抽出にも適応できるようにする.

## 3.3.1 GTS

GTS は 6 つのタグ $\{\mathrm{A}, \mathrm{O}, \mathrm{Pos}, \mathrm{Neu}, \mathrm{Neg}, \mathrm{N}\}$ を用いて文中の任意の 2 つの単語関係を表すものである. タグ付け結果の一例を図 3 に示す. また， 6 つの夕グの意味を表 1 に示す. なお, Pos, Neu，Negが夕グ付けされた場合, その単語ぺア (wi, wj)は属性一評価値ペアであることを表している. また, 本研究では Pos を肯定, Neu を中立, Neg を否定と言い換えて感情を予測する。

## 3.3. 2 日本語データへの適応

まず，MeCab[7]を用いてレビュー文の分かち書きを行う. 英語の文は単語ごとに空白があるため, 文を容易に分割することができるが，日本語の文は各単語が連結されているため, 事前に分かち書きをする必要がある. また, トークナイザを BertTokenizer から BertJapaneseTokenizer に変更する.これにより，文を BERT モデルに入力できる形にする際，より日本語に適した形に変換することができる.

## 3. 3.3 属性が文中に明記されていないトリ プレットの抽出

文中に明記されていない属性を推定するための属性リストを作成する。属性リストに載っている単語を表 2 に示す。

表 2 属性リストの単語一覧

属性が文中に明記されている場合は属性と評価値を同時に抽出していたが，属性が文中に明記されて
いない場合は先に評価値のみ抽出する。次に，評価値に対応する属性を属性リストの中から選出し, これらを仮の属性一評価值ペアとする。 その後, 仮の属性一評価値ぺアの感情を予測することで, 属性が文中に明記されていない場合でもトリプレットを抽出できる.

## 4 実験

本章では, トリプレットの抽出精度を確認するため, 3.2 節で作成したデータセットを用いてトリプレットの抽出実験を行う. 今回は以下の 3 パターンで実験を行う。
- 属性が文中に明記されているトリプレットのみ抽出

・属性が文中に明記されていないトリプレットのみ抽出
- 上記 2 種類のトリプレットを同時に抽出

なお，学習データ，検証データ，テストデータは各パターンに該当するトリプレットのみ使用する.各パターンのデータの詳細を表 3 , 表 4 , 表 5 に示す.

## 表 3 データの詳細(属性有り)

表 4 データの詳細(属性無し)

表 5 データの詳細(両方)

## 4. 1 実験設定

事前学習済み BERT は東北大学が提供している bert-base-japanese-v $3^{1}$ を使用する。また，学習率を 5e-5, バッチサイズを 4 , ドロップアウト確率を 0.1 に設定した。モデルパラメータの最適化には AdamW を用いた. 実験では，各データ 30 エポックの学習を行う。

## 4. 2 実験結果

各データの実験結果をそれぞれ表 6 , 表 7 に示す. なお, トリプレットは属性, 評価值, 感情すべてが正しく予測された場合のみ正解とする.

表 6 実験結果（Tシャツ・カットソー）

表 7 実験結果（セーター）

## 5 考察

両データ共に F1 スコアで $0.53 \sim 0.54$ の値となった. また, 今回の実験結果は $\mathrm{Wu}$ ら [2]が行った英語デー タでの評価実験の結果との間に大きな差がなかった. このことから, GTS[2]は日本語のデータへの適応も可能であることがわかった.

$
\text { パターンごとの結果を見ると, 属性無しトリプレ }
$

ットのみの抽出が最も良い結果となった。これは属性の選択肢が 8 個のみだったため, 属性の誤推定が少なかったことが要因だと考えられる。また，属性有りトリプレット，属性無しトリプレットを同時に抽出すると別々に抽出するよりも精度が低い結果となった. 同時に抽出する時に使用したデータは，属性有りデータと属性無しデータを混ぜて作成しているため, 別々に抽出する時よりも学習の難易度が上がっていることが原因の 1 つだと考えられる。

また，セーターにおける属性有りトリプレット抽出の再現率が他の項目と比べて著しく低い結果となった.これは 1 回しかデータセットに出現していない属性・評価値の数が多かったことが原因の 1 つだと考えられる。この課題を解決するには，データ数を増やすことが必須である。なお，属性・評価値の出現回数の詳細は付録 A に記載する。

全体的な結果としては, セーターの方が $\mathrm{T}$ シャツ・カットソーより精度が低い結果となった。これはセーターの方が $\mathrm{T}$ シャツ・カットソーより属性,評価值の種類が共に多く, その分属性一評価値ぺアの組み合わせ数も多くなることから，誤った組み合わせで抽出してしまった可能性がある.

## 6 おわりに

本研究では，ユーザが商品レビューをすべて読まなくても衣服の長所や短所を把握できるシステムを実装することを目的とした，商品レビューからの衣服の長所・短所抽出手法を提案した. 既存の手法を日本語データへ適応できるようにし, 属性が文中に明記されていないトリプレットの抽出を可能とした。評価実験を行った結果, F1 スコアで 0.53 0.54 の値となった. 今後の課題として, データ数を増加することや他の手法の検討が挙げられる. また，トップスだけでなく, ボトムスなどの他カテゴリのデータを用いた評価実験も行いたい。
^{1} \mathrm{https}$ //huggingface.co/cl-tohoku/bert-base-japanese-v3
}

## 謝辞

本研究では, 国立情報学研究所の IDR データセッ卜提供サービスにより，楽天グループ株式会社から提供された「楽天データセット」を利用した. ここに記して感謝する。

## 参考文献

[1] Commerce Marketing Blog：アパレル業界を目指す方が読むべき市場規模や平均年収まとめ！， https://www.interfactory.co.jp/blog/apparel/, 12 月 28 日参照

[2] Z.Wu, C.Ying, Z.Fan, et al: Grid Tagging Scheme for Aspect-oriented Fine-grained Opinion Extraction, In Findings of the Association for Computational Linguistics EMNLP 2020, pp.2576-2585(2020).

[3] R.Mukherjee, T.Nayak, Y.Butala, et al: PASTE A Tagging-Free Decoding Framework Using Pointer Networks for Aspect Sentiment Triplet Extraction, In Proceeding of the 2021 Conference on Empirical Methods in Natural Language Processing, pp.9279-9291(2021).

[4] H.Cai, R.Xia, J.Yu: Aspect-Category-Opinion-Sentiment Quadruple Extraction with Implicit Aspects and Opinions, In Proceeding of the 59th Annual Meeting of the Association for Computational Linguistics and $11^{\text {th }}$ International Joint Conference on Natural Language Processing, pp.340-350(2021).

[5] 柏木潔, 小町守, 松本裕治 : レビュー文書からの省略された属性の推定を含めた意見情報抽出, 言語処理学会第 19 回年次大会, pp.528-531(2013).

[6] 楽天グループ株式会社: 楽天市場データ, 国立情報学研究所情報学研究データリポジトリ(データセット), https://doi.org/10.32130/idr.2.1(2020).

[7] MeCab, https://taku910.github.io/mecab/.

## A 属性・評価值の出現回数

## A. 1 属性 ・評価值の出現回数上位 10 件

各データセットの属性・評価值の出現回数上位 10 件を表 8 ，表 9 に示す. なお，属性は文中に明記されている属性のみカウントした。

表 8 属性の出現回数上位 10 件

 & 出現回数 & セーター & 出現回数 \\
ー & & & \\

着心地 & 156 & 着心地 & 152 \\
デザイン & 110 & 肌触り & 135 \\
肌触り & 81 & デザイン & 120 \\
袖 & 63 & 形 & 102 \\
丈 & 63 & 袖 & 99 \\
素材 & 53 & 色 & 95 \\
色 & 51 & 丈 & 77 \\
形 & 49 & ニット & 66 \\
サイズ & 45 & 素材 & 62 \\

表 9 評価值の出現回数上位 10 件

 & 出現回数 & セーター & 出現回数 \\

なお, 全属性の合計出現回数は $\mathrm{T}$ シャツ・カットソーが 3,125 回，セーターが 3,629 回である.また,全評価値の合計出現回数は $\mathrm{T}$ シャツ・カットソーが 4,023 回，セーターが 4,708 回である.

## A. 2 出現回数ごとの属性数 - 評価值数

各データセットの出現回数ごとの属性数・評価值数を表 10 , 表 11 に示す.表 10 出現回数ごとの属性数

} & セーター & 属性数 \\

表 11 出現回数ごとの評価値数