# 単語埋め込みを利用した商品に対するキーワードの予測

山口泰弘 深澤祐援 原島純
クックパッド株式会社
\{ yasuhiro-yamaguchi, yusuke-fukasawa, jun-harashima \}@cookpad.com

## 概要

出品者が商品情報を自由に入力できる EC サービ スでは，入力される商品名の多様性のため，出品さ れた商品がなにであるかを機械的に判断すること は難しい。本研究では，事前学習した単語埋め込み を用いて，予め定義されたキーワード集合の中から 商品名に最も関連するものを予測するモデルを提案する. クックパッドマートの商品を元に作成し たデータセットによる実験の結果，提案手法では Accuracy@5 で $95.8 \%$ の精度でキーワードの予測が 可能になった. また，注意機構を用いることで教師 なしの手法においても Accuracy@5 で 81.0\% の精度 で予測できることがわかった.

## 1 はじめに

出品者が商品情報を自由に入力できる EC サービ スでは商品名や商品説明の表記は出品者によって大 きく異なる。例えば食材を多く扱う EC サービスで あるクックパッドマートでは, 豚の小間切れ肉の商品名について “豚肉小間切れ”, “豚コマ”, “豚小間肉”など複数の表記が存在する。さらに，じゃがい もなどの野菜では “メークイン”や“キタアカリ”と いった品種名が記載される場合も多い。また，ユー ザーの購買意欲を高めるために “産地直送” “タイ ムセール”といったフレーズを含んでいるものもあ る. 検索や推薦といったタスクでは商品のカテゴリ や性質は有用な情報になり得るが，こうした表記の 多様性はその商品のカテゴリを機械的に判別するこ とを困難にする。

そこで本研究では, 事前学習した単語埋め込みに 基づく商品名とキーワードの類似性を利用してキー ワード集合の中から商品に関連するキーワードを割 り当てる機械学習モデルを提案する. 表 1 に本研究 で利用するデータセットの例を示す.データセット はクックパッドマートの商品をもとに作成した商品名とキーワードのペアからなり，モデルは与えられ

表 1 データセットの例

た商品名から対応するキーワードを予測する．本研究ではこのデータセットに基づいて提案手法の有効性を検証する。

## 2 関連研究

EC サービス上の商品名を元に商品をカテゴリに 分類する手法がいくつか提案されている. Cevahir ら [1] は商品を階層化された 2 万以上のカテゴリに 分類するために自己符号化器の近傍などを利用して 階層的に予測を行う分類モデルを提案した。

Chen ら [2] は商品を詳細なカテゴリに分類するた めに，商品名や説明文中の商品カテゴリに相当する 語に着目するニューラル分類器を提案している.

Cevahir らと Chen らの手法はいずれもカテゴリを 分類ラベルとして予測するものであり，商品情報と カテゴリの文字列的・意味的な類似性を直接的に考慮するものではないという点で本研究とは異なって いる.

また，テキストデータから商品の情報を抽出する 先行事例として [3] や [4]がある. これらの手法は 系列ラベリングを用いてテキスト中から属性情報を 抽出する. 本研究は予め定義されたキーワード集合 に分類するという点でこれらの手法とは異なる.

## 3 提案手法

本研究では，事前に定義したキーワード集合の中 から与えられた商品名に最も関連のあるキーワード を予測するモデルを提案する。

図 1 に提案モデルの構造を示す.このモデルでは 商品名とキーワードの類似度を計算し, 商品名との

図 1 キーワード予測モデルの構造

類似度が最も大きいキーワードを選択することで予測を行う. 商品名とキーワードの類似度の計算手順 を次に示す:

1. 商品名・キーワードに対して形態素解析を行い 単語ごとに分割する

2. 商品名・キーワードの各単語を事前に学習した fastText[5] を用いてべクトルに変換する

3. 商品名・キーワードの単語ベクトル列をそれぞ れ Highway BiLSTM により変換する (3.1 節)
4. 3 で変換したべクトルをもとに注意機構を用い て商品名の単語ベクトルをキーワードの単語べ クトルとの類似度で重み付ける (3.2 節)

5. 商品名・キーワードの単語ベクトル列をそれぞ れ平均して商品名ベクトル・キーワードベクト ルを計算する (3.2 節)

6. 商品名ベクトル・キーワードベクトル同士のコ サイン類似度を商品名とキーワードの類似度と する (3.3 節)

## 3.1 Highway BiLSTM (H-BiLSTM)

本研究では学習済み fastText の特徴量を効果的 に利用するために Highway 構造 [6] を導入した BiLSTMをエンコーダーに利用する。ここでは Hightway BiLSTM (H-BiLSTM) を以下のように定義 する. $\boldsymbol{X}=\left(\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \cdots, \boldsymbol{x}_{T}\right)$ は BiLSTM の入力となる ベクトル系列であり， $\sigma$ はシグモイド関数を表す.

$
\begin{aligned}
\boldsymbol{H} & =\operatorname{BiLSTM}_{\text {highway }}(\boldsymbol{X}) \\
\boldsymbol{G} & =\sigma\left(\operatorname{BiLSTM}_{\text {gate }}(\boldsymbol{X})\right) \\
\boldsymbol{Z} & =\boldsymbol{G} \circ \boldsymbol{H}+(1-\boldsymbol{G}) \circ \boldsymbol{X}
\end{aligned}
$

事前実験の結果から，本研究では商品名・キー
ワードの fastText ベクトル列をパラメータを共有し た同一の H-BiLSTM を用いてエンコードする.

## 3.2 注意機構

商品名には “産地直送” “タイムセール”といっ たキーワードに直接関係のない語彙が含まれている ものが多く存在する。本研究ではこうしたキーワー ドに無関係な単語の影響を小さくするために，注意機構を用いた商品名の単語に対する重み付けの仕組 みを導入する。

商品名 $p$ の $n$ 番目の単語に対する重み $a_{n}$ をキー ワード $k$ の単語とのコサイン類似度を利用して次の ように定義する。

$
a_{n}=\frac{1}{M} \sum_{m=1}^{M} \cos \left(z_{n}^{(p)}, z_{m}^{(k)}\right)
$

ここで $\boldsymbol{Z}^{(p)}=\left(z_{1}^{(p)}, z_{2}^{(p)}, \cdots, z_{N}^{(p)}\right), Z^{(k)}=$ $\left(z_{1}^{(k)}, z_{2}^{(k)}, \cdots, z_{M}^{(k)}\right)$ はそれぞれ H-BiLSTM を通し て計算した商品・キーワードの単語ベクトル系列と する。

商品名とキーワードに対応するベクトルをそれぞ れ以下の定義に従って計算する。

$
\begin{aligned}
\hat{z}^{(p)} & =\frac{1}{N} \sum_{n=1}^{N} a_{n} z_{n}^{(p)} \\
\hat{z}^{(k)} & =\frac{1}{M} \sum_{m=1}^{M} z_{m}^{(k)}
\end{aligned}
$

キーワードの単語列は十分短く，予測に不必要な 単語が含まれることもほとんどないため単語の重み 付けは商品名のみを対象とした。

## 3.3 類似度と損失関数

商品名 $p$ とキーワード $k$ の類似度 $s(p, k)$ は $\hat{z}^{(p)}$, $\hat{z}^{(k)}$ のコサイン類似度で以下のように定義する。

$
s(p, k)=\cos \left(\hat{z}^{(p)}, \hat{z}^{(k)}\right)
$

モデルの学習では商品名と関連するキーワードの ペアからなるデータセット Dを用いて以下の損失関数を最小化する。

$
L=-\sum_{(p, k) \in \mathscr{D}} \log \left(\frac{e^{s(p, k)}}{e^{s(p, k)}+\sum_{k^{\prime} \in \mathcal{N}_{k}} e^{s\left(p, k^{\prime}\right)}}\right)
$

$\mathcal{N}_{k} \subseteq \mathscr{K} \backslash\{k\}$ は全キーワード集合 $\mathscr{K}$ から商品名 $p$ の正例であるキーワード $k$ を除いてネガティブサン プリングを行い得られた負例のキーワード集合を表 す. 対照学習では負例サンプリングにおいて識別困難な事例を優先的に利用することでモデルの性能向上につながることが知られている [7]. 本研究で は，1つの事例に対して負例のキーワード集合の中 から 128 件をランダムに選んで商品名との類似度を 計算し，この中から類似度が最も小さい上位 8 件の キーワードを hard example として損失の計算に利用 した.

## 4 実験

## 4.1 データセット

クックパッドマートに出品されている 8,881 件の 商品に対して食材を表すキーワードの割り当てを人手で行った. 一度アノテーションしたあとで割り当 てたキーワードに対する表記摇れの修正やキーワー ドの統合などの処理をした結果，ユニークなキー ワードの数は 1,350 件となった. アノテーションし たデータセットをランダムに Train, Valid, Test の 3 つに分割し, モデル学習と評価に利用した. データ セットのより詳細な統計情報は付録 A に記す。

## 4.2 比較手法

本研究では以下のモデルを用いて性能の比較を 行った.

TF-IDF 類似度: 商品名・キーワードをそれぞれ 単語分割した後 TF-IDFによるべクトル化を行い, TF-IDF ゙クトルのコサイン類似度が最も大きい商品名・キーワードを対応づける教師なしモデル.
fastText 分類器: 商品名の fastText ベクトル列を平均した商品名べクトルを入力とし, 順伝播型ニュー ラルネットワークを通してキーワードごとにクラス 分類を行う教師ありモデル.

fastText 類似度: 商品名・キーワードの単語ベクト ル列の平均ベクトルを計算し，各ベクトルのコサイ ン類似度が最も大きい商品名・キーワードを対応づ ける教師なしモデル。

fastText 類似度 + 注意機構: 商品名の fastText ベク トルを注意機構で重み付けした後，fastText 類似度 を計算する手法. 提案手法から H-BiLSTM 層を除い たモデルと同等.

H-BiLSTM 類似度: 提案手法から注意機構を除い た教師ありモデル．

H-BiLSTM 類似度 + 注意機構: 本研究の提案手法 である教師ありモデル。

本研究では単語埋め込みとしてクックパッドに公開されている約 350 万レシピのタイトルを用いて学習した fastText モデルを利用した. fastText の詳細は 付録 Bに記す.レシピのタイトルの単語分割には MeCab (Unidic 辞書)を用いた。

各モデルは Train データで学習し, Valid データで ハイパーパラメータの選択と Early Stopping を行い， Test データを用いて精度の比較を行った。

## 5 結果と考察

表 2 Test データに対する実験結果

表 2 に Test データに対する各手法の精度を示す.実験の結果，いずれの指標においても提案手法が最 も高い精度となった。

また教師ありの fastText 分類器と教師なしの fastText 類似度+注意機構の精度を比較すると，いず れの指標でも教師なし注意機構モデルが高い精度 となった.この結果から, 本タスクにおいては単に キーワードをラベルとして予測するよりも注意機構 を用いて商品名とキーワードの類似性を考慮した予測を行うことが重要であると考えられる.

表 3 上位 5 件の予測結果の例

## 5.1 エラー分析

表 3 にモデルの予測結果の例を示す.“ギンダラ/銀だら” や“シルクスイートハさまいも”のように 表記摇れや品種名の記載によってキーワードの文字列が商品名に含まれない場合であっても関連する キーワードを予測できていることがわかる.

一方，“お刺身用生桜海老（台湾産）”の例では“刺身”が最も関連するキーワードとして予測されて いる。また，“紫にんじん”に対する予測結果をみて みると“紫”が含まれるキーワードが多く予測され ていることがわかる. fastText は単語の共起性に基 づいて学習を行うため，“紫”や“刺身”のように多 くのコンテキストで出現する語は他の多くの単語に 対して高い類似度になる傾向がある。この傾向が提案モデルの予測結果にも現れていると考えられる。

## 5.2 注意機構の効果

表 2 から fastText 類似度・H-BiLSTM 類似度のそれ ぞれで注意機構の有無による精度を比較すると，い ずれの指標においても注意機構を用いた場合に精度 が向上した. 特に教師なしの fastText 類似度モデル では注意機構の利用で各指標がそれぞれ $+10 \%$ 程度 の上昇が確認できた。一方，教師ありの H-BiLSTM 類似度モデルでは fastText 類似度モデルの場合ほど 大きな性能向上は見られなかったが，各指標におい $\tau+1 \%$ 程度の改善が見られた. 以上の結果から類似度の計算において注意機構を用いることがキー ワード予測モデルの性能向上につながると考えら れる。

## 5.3 Highway 構造と Hard Negative Sampling

提案手法における Highway 構造と Hard Negative Sampling の影響を調べるために, Highway BiLSTM を通常の BiLSTM に置き換えたものと，キーワード の Negative Sampling をランダムに行ったものでそれ ぞれ実験を行った. 図 2 に学習中の Valid データに 対する Accuracy@5 の推移を示す.
まず Hard Negative Sampling を行った手法で BiLSTM (BiLSTM with HNS) と Highway (H-BiLSTM with HNS) を比較すると，H-BiLSTM の方が高い精度を 達成したものの大きな差は見られなかった。一方 HNS を行わずランダムに負例を選択した手法を比較すると，BiLSTM (BiLSTM with NS) では学習を進 めると Valid データにおける精度が下がる傾向が見 られた。

fastText 類似度+注意機構の教師なしモデルでも 比較的高い精度で予測できることから，学習済み fastText が類似度を測る上で重要な特徴量であるこ とがわかる. Highway 構造により学習済み fastText のベクトルをバイパス可能にすることで, fastText の 特徵量を効果的に学習に活用できると考えられる。

図 2 学習中の Valid データに対する正解率の推移

## 6 おわりに

本研究では学習済み fastText ベクトルを用いて商品名からキーワードを予測する機械学習モデルを提案した。クックパッドマートのデータを用いた実験 の結果，提案手法を用いることで Accuracy@5 95.8\% の精度で予測することができた．また，注意機構を 用いることで教師なしでも比較的高い精度でキー ワードの予測が可能になることが示された。

一方，商品名に出現頻度の高い語が含まれる場合 には上位の予測結果として関連の低いキーワードが 予測されることが確認できた。より高い精度で予測 を行うにはこうした単語埋め込みの特性を考慮した 仕組みが必要になると考えられる。

## 参考文献

[1] Ali Cevahir and Koji Murakami. Large-scale multi-class and hierarchical product categorization for an E-commerce giant. In Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers, pp. 525-535, Osaka, Japan, December 2016. The COLING 2016 Organizing Committee.

[2] Hongshen Chen, Jiashu Zhao, and Dawei Yin. Fine-Grained Product Categorization in E-commerce. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management, pp. 2349-2352, Beijing China, November 2019. ACM.

[3] Rayid Ghani, Katharina Probst, Yan Liu, Marko Krema, and Andrew Fano. Text mining for product attribute extraction. ACM SIGKDD Explorations Newsletter, Vol. 8, No. 1, pp. 41-48, June 2006.

[4] Huimin Xu, Wenting Wang, Xin Mao, Xinyu Jiang, and Man Lan. Scaling up Open Tagging from Tens to Thousands: Comprehension Empowered Attribute Value Extraction from Product Title. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 5214-5223, Florence, Italy, 2019. Association for Computational Linguistics.

[5] Piotr Bojanowski, Edouard Grave, Armand Joulin, and Tomas Mikolov. Enriching word vectors with subword information. Transactions of the Association for Computational Linguistics, Vol. 5, pp. 135-146, 2017.

[6] Rupesh Kumar Srivastava, Klaus Greff, and Jürgen Schmidhuber. Highway Networks. arXiv:1505.00387 [cs], November 2015. arXiv: 1505.00387 .

[7] Florian Schroff, Dmitry Kalenichenko, and James Philbin. Facenet: A unified embedding for face recognition and clustering. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 815-823, 2015.

## A データセット統計

本研究で作成したデータセットの統計情報を表 4 に示す. ユニークキーワード数は各サブセットにお けるユニークなキーワードの個数を表す.

表 4 データセットの統計

各キーワードが割り当てられた商品数の頻度分布 を図 3 に示す.この図からキーワードの頻度分布は ロングテールであることがわかる.

図 3 データセット中のキーワードの頻度分布

## B fastText の詳細

fastText の学習ではクックパッド上のレシピタイ トルに対して skip-gramによる学習を行なった。 八 イパーパラメータの設定は Bojanowski ら [5] の実装 における既定値 ${ }^{1)}$ 利用し， 100 次元の単語埋め込 みを学習した。

表 5 学習した fastText における近傍の単語

学習した fastText ベクトルのコサイン類似度を元 に，いくつかの単語の近傍を抽出した結果を表 5 に 示す.この表から, fastText の学習によって表記の 違いや食材と品種名の対応がある程度考慮できてい ることがわかる。一方“紫”や“刺身”といった単語 では，同じコンテキストで使われやすい複数種類の 食材などが近傍にあることがわかった.

1) https://github.com/facebookresearch/fastText/tree/v0. 9.2/python\#train_unsupervised-parameters
 山口泰弘 深澤祐援 原島純 クックパッド株式会社 \{ yasuhiro-yamaguchi, yusuke-fukasawa, jun-harashima \}@cookpad.com  