# E コマースにおける商品用途表現の抽出とグルーピング

梶原奨井上翔太 岡林遥平 稲田和明 張信鵬
株式会社 MonotaRO
}

\{sho.kajihara, shota.inoue, yohei .okabayashi, kazuaki .inada,xinpeng_zhang\}@monotaro.com
## 概要

商品の利用用途などを説明した文は、商品検索な どの特定のサービスへの利用を前提として作成され た構造化データとは異なり、Eコマースのサービス での活用が難しい。しかし構造化されていないデー タ内にも、ユーザーが商品を探す際に有用な商品の 使い道を記した表現が多数含まれているため、その ような表現を抽出・利用することで商品検索の質を 向上させることができると考えられる。そこで本稿 では、ユーザの商品検索に有用な 8 種の商品用途表現ラベルを定義し、実際の商品情報に含まれる構造化されていない文にアノテーションした上で、系列 ラベリングモデルを作成することで、商品検索に有用な商品の用途表現を抽出する。さらに実際の Eコ マースのサービスで活用することを想定し、類似す る商品用途表現のグループ化を実施する。

## 1 はじめに

Eコマースに利用されるデータは、商品検索など の特定のサービスに応じて事前定義されたスキー マに沿って、意味の通じる最小単位に分割された構造化データで表現されることが多い。しかし、中に は商品の説明文のような構造化されていないデー タも存在する。たとえば「剪定ハサミ」の商品に は、(材質, ステンレス)、(大きさ, 20 インチ)のよう な key-value 形式の構造化された商品情報だけでな く、「庭木の剪定作業、ガーデニング・盆栽・植木の お手入れに。のような構造化されていない商品情報も存在する。

上述のような構造化されていない商品情報の中に は、「庭木の剪定作業」といった使い道、「ガーデニ ング」といった環境、「盆栽」「植木」といった商品 の使用対象などの、商品検索に有用な情報が記述さ れていることがある。これらの有用な情報を抽出す ることができれば、構造化されたデータと同様に検

表 1 商品用途表現ラベル

に活用でき、ユーザーの利便性を高められると考え られる。

Alicoco[1] では、ユーザーのニーズとして Time, Location, Object, Function, Incident, Cate/Brand, Style, Intellectual Property $の 8$ 種類の関係を定義・活用す ることで、商品間の知識グラフを作成した。この知識グラフは Alibaba グループの商品検索や推薦に応

層的なカテゴリによる商品分類よりも、ユーザーの ニーズをより深く汲み取ることに成功している。

そこで本稿では、商品に記述されている文から、意味の通じる最小粒度の表現 (以降、商品用途表現 と呼ぶ）を抽出し、商品と商品用途表現間の関係を 整理する。まず、商品用途表現の役割として 8 種の ラベルを定義し、実際の Eコマースの商品情報とし て記述される文に対してアノテーションする。次に ラベル付きデータを用いて教師ありの系列ラベリン グモデルを作成し、ラベル付けしていないデータか ら商品用途表現を抽出する。最後に、実際の商品検索サービスへの活用を想定し、類似する商品用途表現のグループ化を実施する。

## 2 商品用途表現のラベリング

Alicoco[1] におけるニーズを参考に、商品用途表現を分類するラベルを表 1 に定める。

表 1 で定めたラベルのアノテーションの例を図 1
に示す。アノテーション対象として、monotaro.com¹) の商品の中で「用途」として定義された属性に含ま れる約 10 万文の内、商品に付与されているカテゴ リを網羅できるように層化抽出した $10 \%$ 利用し た。アノテーションは 2 人の作業者によって実施 し、作業中のアノテーション対象の文だけでなく掲載元の web ページの閲覧や Google などの検索エン ジンの利用を可能とした。またアノテーションの精度を確保するため、 100 件のデータに対して正しく ラベル付けできるようトレーニングした。さらにア ノテータ 2 人で相互にレビューする体制を取ること で、ラベリング結果の一貫性とアノテーションの精度を高めた。

アノテーションしていない残りの $90 \%$ のデータに 対する商品用途表現ラベルの同定には、図 2 に示す BERT のネットワークの最終層に CRF 層を追加した BERT+CRF モデルを用いる [2]。まず、入力された 文を WordPiece トークナイザでトークンに分割した 後、各トークンに対して BERT モデルで表 1 に定め た各ラベルの予測確率を計算する。その後、CRF 層 で入力全体のラベル遷移を考慮して最終的なラベル を予測する。なお予測対象のラベルには、各商品用途表現ラベルに $B$ および $I$ を組み合わせたラベルと $O$ の 17 種類が存在し、 $B$ は各商品用途表現ラベル が付与された表現の先頭、 $I$ は各商品用途表現ラべ ルが付与された表現の先頭以外、 $O$ は商品用途表現 ラベルが付与されていないトークンを意味する。

また本稿ではモデルの精度改善のために、Least Confidence を用いた能動学習を導入する [3]。アノ テーションの半分が終わった時点で学習したモデ ルを用いて、アノテーション対象外のデータをラ ベル付けし、各トークンの予測確率に対して Least Confidence を計算する。そして、文内の最も小さな Least Confidence をその文のスコアとし、スコアの低 い 2000 文をアノテーション対象として追加する。

## 3 商品用途表現のグルーピング

商品用途表現には異なる表記で同じ意味を持つも のが多数存在する。商品検索における絞り込み条件 などの実際の Eコマースのサービスを想定すると、 たとえば、「穴や破損個所を修復」と「つなぎ合わ せ」のような表現が大きく異なる商品用途表現も、同じ意味として 1 つにグループ化しておく必要が ある。


単語やフレーズなどの意味的な類似度を計算する 手法の 1 つとして、計算対象の表現をそれぞれべク トル化しそれらの距離を比較する手法が近年よく利用されるが、その類似度は主に含まれる文字列や単語の種類が大きく影響することが報告されている $[4]$ 。

そこで本稿では、以下に示す 3 段階のルールベー スのグルーピングを適用する。1 段階目として、文字列の部分一致により商品用途表現をグループ化す る。次に 1 段階目で形成されたグループを、商品用途表現に紐づいている商品のカテゴリ情報によって 分割する。最後に日本語 WordNet[5] の概念と部分関係の情報を用いて細分化する。

## 3.1 部分一致と同義語によるグルーピング

1 段階目のグルーピングとして、文字列情報に着目した以下に示す手順を適用する。

1. 他の商品用途表現と文字列が部分一致しない商品用途表現を抽出する。

2. (1) で抽出した商品用途表現と文字列が部分一致する商品用途表現でグループを形成する。

3. 同義語辞書を用いて (1) で抽出された商品用途表現同士をマージする。

たとえば、(1)で「研磨」「研ぐ」のような商品用途表現が抽出され、(2)で「研磨」と部分一致する 「金属研磨」「プラスチック研磨」「研ぐ」と「彫刻刀を研ぐ, 整えて研ぐ」などを集約してグループを 形成し、(3)で「研磨」と「研ぐ」が同義語として判定されて、「研磨、研ぐ、金属研磨、プラスチック研磨、彫刻刀を研ぐ, 整えて研ぐ」というグループが 出力される。ただし (1)では、使用目的・機能・使用イベントの 3 つのラベルに属する商品用途表現が 述語によって構成されることを考慮し、用言の有無 を確認することでグルーピングの精度を高める。た とえば、「切断」と「切断を防ぐ」は部分一致してい るが、用言を比較すると「切断」と「防ぐ」と異な るため、グループ化させない。

## 3.2 商品カテゴリによるグルーピング

商品カテゴリは末端ほど細分化された意味を持つ 木構造で表現されており、たとえば「鋏」のカテゴ リでは、親に「農具」、子に「剪定鋏」「収穫鋏」「替 え刃」などを持つ。このとき商品カテゴリの根はす べてのカテゴリの祖先に相当するが、2 段階目のグ

図 1 brat によるアノテーションの様子

図 2 BERT+CRF モデルによるラベル付け

ルーピングとして、商品用途表現の抽出元である商品と商品カテゴリの根の子に相当するカテゴリ (以降、モールカテゴリと呼ぶ) の関係を用いる。

まず、各商品用途表現に対応するモールカテゴリ を決める。商品用途表現は複数の商品から同じ表現 が獲得されるため、 1 つの商品用途表現は複数の商品カテゴリとそれらのモールカテゴリを持つが、最多のモールカテゴリを各商品用途表現の代表とす る。その後、3.1 で形成された各グループの中の商品用途表現をモールカテゴリごとに分割する。たと えば、「金属研磨」「プラスチック研磨」が「切削工具・研磨材」、「電解研磨」が「スプレー・オイル・ グリス/塗料/接着・補修/溶接」のモールカテゴリに 属し、3.1 節で「金属研磨、プラスチック研磨、電解研磨」というグループが形成されていた場合、「金属研磨、プラスチック研磨」と「電解研磨」の 2 つ のグループに分割される。

## 3.3 日本語 WordNet によるグルーピング

3 段階目のグルーピングに使用するスコアとし て、日本語 WordNet 内の 2 つの単語 $w_{i}, w_{j}$ 間の意味 の距離を以下のように定義する。
1. $w_{i}$ と $w_{j}$ が同じ概念 $\Rightarrow 0$
2. $w_{i}$ と $w_{j}$ が部分関係 $\Rightarrow 0.5$
3. $w_{i}$ の 1 つ上の上位概念と $w_{j}$ の概念が同じ $\Rightarrow 1$
4. $w_{i}$ と $w_{j}$ それぞれ 1 つ上の上位概念が同じ $\Rightarrow$ 1.5

5. 上記以外 $\Rightarrow \infty$

しかしながら、商品用途表現は複数の単語で構成 されていることがあるため、構成単語の中から最も その意味を表す単語を抽出したい。一方で、日本語 WordNet に登録されている概念の中には「熱」と 「柔軟性」の 2 つの単語が 1 つ上の概念で紐づくよう な、グルーピングに活用しにくい抽象度の高い概念 が存在する。そこで、式 1 で概念 $i$ の抽象度 $\alpha$ を定義し、商品用途表現を構成する単語の中である抽象度以下かつ最も抽象度の高い単語を用いて、日本語 WordNet による商品用途表現間のスコアを求める。

$
\alpha=\frac{1}{|l(i)|} \sum_{j \in l(i)} d_{i, j}
$

なお、 $l(i)$ は概念 $i$ が持つ下位概念のうち末端にあ る概念を、 $d_{i, j}$ はツリー上で概念 $i$ から $j$ までに辿 る概念数である。2 段階目で作成した各グループ内 で上述の商品用途表現間のスコアを求め、最長距離法による階層的クラスタリングを適用し、閾值 $T$ 以下の商品用途表現間を最終的なグループとした。

## 4 評価

## 4.1 商品用途表現の抽出

表 2 に、表 1 のラベルを付与した商品用途表現数、図 2 のモデルによる各ラベルの $F_{1}$ 值、およびラ ベル付けしていないデータから取得できた商品用途表現数を示す。モデルの訓練および評価には層化グ ループ付き 5 分割交差検定を用い、各商品用途表現 に対して予測された $B$ と $I$ のラベルがアノテーショ ン結果と完全に一致しているかで正誤判定をした。 なお、 $O$ ラベルの $F_{1}$ 值は 0.91 であった。

表 2 より、すべてのラベルにおいて $F_{1}$ 値が 0.8 未
表 2 商品用途表現ラベルのアノテーション数と予測精度

表 3 商品用途表現のグルーピング結果 P1 チタニウム部品研磨, 金属面研磨, アルミ製品研磨 P2 攵テンレス鋼研磨, 工具鋼研磨, ステンレス研磨 P3 プラスチック面研磨, プラスチック研磨, 合成樹脂研磨 4 切刃研磨, 刃研磨, 刃物研磨 P5 難削材研磨, 硬い素材研磨, ステンレス材研磨 コンテナ運搬, 計測器運搬, 低温容器運搬

満であり $O$ ラベルの $F_{1}$ 值が 0.91 であることから、商品用途表現の位置は同定できているが、その種類 を特定できていないことがわかる。この問題点の 1 つとして、同じ単語でも文脈によって正解ラベルが 変わることが挙げられる。学習データとして使用し た約 13,000 種類の商品用途表現のうち、同じ文字列 かつ複数のラベルを持つものが約 36\%存在した。た とえば、「研磨」という商品用途表現では、サンド ペーパーのような商品の場合には「使用目的」のラ ベルが、研磨液のような商品であれば「使用イベン ト」のラベルが付与されていた。すなわち、1つの 同じ文字列の商品用途表現内に複数の意味が存在す る可能性を考慮しなければならないと言える。

## 4.2 同義語のグルーピング

表 3 に、3 章で提案した手法で商品用途表現をグ ルーピングした結果の例を示す。P1 から P5 は「研磨」に関するグループ、Tは「運搬」に関するグルー プである。なお、3.3 節における抽象度 $\alpha$ と階層的 クラスタリングの閾値 $T$ はそれぞれ 1.75、1.51と した。

表 3 より、「研磨」の文字列が含まれる商品用途表現が「金属」や「プラスチック」など使用対象の素材に応じて分割できていることが分かる。各グルー プの商品用途表現がどのタイミングでグループピン グされているかを詳しく分析すると、P1 から P3 は 3.2 節の商品カテゴリによるグルーピングが、P4 は 3.3 節の日本語 Wordnet の概念がそれぞれ貢献して いた。一方、P5 の「ステンレス材研磨」は P2 に所属す ることが望ましい。この原因は、 3.3 節の日本語 Wordnet によるスコア付与時に「材」という抽象度 の高い単語が選択されていたためであった。また T1 は、それぞれ異なる意味を持つ 3 つの商品用途表現が同じグループに割り当てられた例である。こ れは、日本語 Wordnetを参照する単語がそれぞれ 「コンテナ」、「器」、「容器」であり、これらが同じ概念に属していることが原因である。改善策として、「計測器」や「低温容器」のような句単位の情報を利用することで、 3 つの表現が同じグループになるこ とを防ぐことができると期待される。

## 5 おわりに

本稿では、商品の使い道などを説明した文などの 構造化されていないデータから有用な商品用途表現 を抽出して活用するための方法として、商品用途表現を分類する 8 種類のラベルを提案し、そのラベル を用いた商品用途表現の推定とグルーピングについ て示した。今後の課題として、提案したグルーピン グ手法の精度の改善や、今回作成したデータやモデ ルを実際の Eコマースサービスに適用しての検証が 求められる。

## 参考文献

[1] Xusheng Luo, Yonghua Yang, Kenny Qili Zhu, Yu Gong, and Keping Yang. Conceptualize and Infer User Needs in E-Commerce. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management, 2019.

[2] Fábio Souza, Rodrigo Frassetto Nogueira, and Roberto de Alencar Lotufo. Portuguese Named Entity Recognition using BERT-CRF. CoRR, 2019.

[3] David D. Lewis and Jason Catlett. Heterogeneous uncertainty sampling for supervised learning. In Machine Learning Proceedings 1994, 1994.

[4] Shufan Wang, Laure Thompson, and Mohit Iyyer. PhraseBERT: Improved Phrase Embeddings from BERT with an Application to Corpus Exploration. CoRR, 2021.

[5] Hitoshi Isahara, Francis Bond, Kiyotaka Uchimoto, Masao Utiyama, and Kyoko Kanzaki. Development of the Japanese WordNet. In Proceedings of the Sixth International Conference on Language Resources and Evaluation, 2008.
 梶原奨井上翔太 岡林遥平 稲田和明 張信鵬 株式会社 MonotaRO }  \{sho.kajihara, shota.inoue, yohei .okabayashi, kazuaki .inada,xinpeng_zhang\}@monotaro.com 