問合せの主観性にロバストな商品検索システム
杉木 健二††名古屋大学大学院情報科学研究科

1‡名古屋大学情報連携基盤センター

はじめに

近年，インターネット利用者の増加に伴い，楽天やAmazon，yahoo!など，EC(e-commerce) サイトが急速に増加している．これらのサイトを効率的に利用するために商品の検索が不可欠である．従来の商品検索システ
ムでは，商品カテゴリによる検索，商品名，型番などのキーワードによる検索，性能や価格帯など，データ項目の選択による検索などの機能を備えている．
しかし，消費者のニーズは多様であり，従来の検索システムによってこのような多様性に対応することは容易ではない．特に，消費者の主観的な要求に対応した検索を実現することは困難である．
本稿では，自然言語入力に基づく商品検索システムを提案する．本研究では，問合せの主観性に対応するために商品のレビューを用いる．本研究では，商品レビューやサービスに対する意見，感想などを，意見テキストと呼ぶ．
提案するシステムでは，意見テキストから意見情報（意見対象，項目，値）を抽出し，検索クエリから要求情報（要求対象，項目，値）を取り出す．それらの一致率に基づいて，要求情報と意見情報を対応付ける．
意見情報を高い精度で抽出するために，従来研究では半自動的に辞書を構築する手法が提案されている [1, 2,3]．しかし，辞書を構築するコストは高く，ドメインごとに作成する必要があるといった問題がある．本システ
ムでは，大規模かつ広範囲のドメインでの処理を想定しているため，辞書を構築せずに意見情報を抽出する．

2

松原 茂樹‡

意見情報

鏡面デザインは汚れが目立つので好きではありませんが，シンプルで良いと思います．バッテリ
は，まだ長時間使用していないので何ともいえませんが，充電が早いのは助かります．操作性ですが，慣れれば問題ありませんが，曲のサーチの仕方はイマイチで，今何を操作してどう探しているのかがわかりにくいインターフェイスになっているので，改善の余地はあるでしょう．

図 1: MP3 プレイヤーの意見テキスト例

抽出部

・・・・
・・・・

意見テキスト
抽出処理
要望文の除去意見情報抽出
否定表現の処理
不要語の削除検索部

自然言語クエリ・・・・

抽出処理
要求情報（要求対象，項目，値）…
スコアリング
処理
意見情報（意見対象，項目，値）
…
検索結果
マッチング
１．商品Ｍ
処理
２．商品Ｂ
…
図 2: 本システムの構成• （プレイヤー A，操作性，問題ない）といった意見情報を抽出できる．これらの意見情報から，「デザインがシンプルで，充電が早い MP3 プレイヤー」といった問合せに該当することが分かる．

商品検索システム
本研究では意見情報を，「製品やサービスに対する評 3
価や意見，事実，性質を表している情報」と定義する．
システムの概要を図 2 に示す．本システムは，抽出部
また，消費者が欲しい商品とは，「色は赤で，サイズは と検索部からなる．
軽量で，デザインはシンプルで，…」といったように，抽出部では，意見テキストから意見情報を抽出する．
商品のある特徴 (項目) とその値（もしくは制約）の組 意見テキストを係り受け解析した結果に変換ルールをで示されることが多い．そこで，本稿では，項目と値の 適用することにより，意見情報を抽出する．
組に，意見対象 (商品名) を加えた３項組を，意見情報検索部では，ユーザが入力した問い合わせに合致した(意見対象，項目，値) と定義する．
商品を出力する．問い合わせとして自然言語による記述
MP3 プレイヤー（プレイヤー A）の意見テキスト例 を許容する．問い合わせから生成した要求情報を意見テを図 1 に示す．図 1 のテキストから，キストから抽出した意見情報と対応付ける．
• （プレイヤー A，デザイン，汚れが目立つ）• （プレイヤー A，デザイン，シンプル）• （プレイヤー A，デザイン，良い）• （プレイヤー A，充電，早い）4

意見情報の抽出

4.1

意見情報への変換ルール

意見情報として，ある意見対象に関する項目と値の組を意見テキストから抽出する．項目と値の関係の多く

は，意見テキスト中では，主語と述語の関係，被修飾・要望文とは，「〜して欲しい」「〜と望ましい」「〜ば修飾の関係として出現する．
嬉しい」などの期待や願望，依頼などの要望表現を含む文である．要望文であるかどうかの判定は，要望表現が• 主語・述語の関係含まれているかにより行った．
「仮定形」や「命令形」の「料理がおいしい」⇒（Ａホテル，料理，おいしい）
形態素が含まれる文，もしくは，「のに」，「たら」，「た• 修飾・被修飾関係
い」などの形態素が含まれる文を要望文とした．
「きれいな部屋」⇒（Ｂホテル，部屋，きれい）
上述の関係について予備調査を行ったところ，以下の 4.2.2 抽出処理
ような係り受けパターン例1 が多く確認された．
(1) 部屋が X →きれい Y(2) きれいな Y →部屋です X(3) 部屋の X1 →ベッドが X2 →快適です Y(4) 部屋が X →きれいで Y1 → 快適でした Y2

上記のパターン例が A ホテルに対する意見テキストに出現した場合，以下のような意見情報を抽出すればよい．
(1) （A ホテル，部屋 X ，きれい Y ）(2) （A ホテル，部屋 X ，きれい Y ）(3) （A ホテル，部屋 X1 -ベッド X2 ，快適 Y ）(4) （A ホテル，部屋 X ，きれい Y1 ），（A ホテル，部屋 X ，快適 Y2 ）パターン (3) では，X1 と X2 を連結して項目とし，また，(4) では，Y1 と Y2 のそれぞれについて，意見情報を作成する．以上の観察から，本研究では，以下の変換ルールを使用する．ここで O は意見対象を示す．

抽出処理では，上述した次の 6 つの変換ルールを適用して，意見テキストから意見情報を抽出する．意見テ
キストにこれらのルールを適用するための制約として，以下の制約を与えた．
ルール (1) X ：「名詞+は/が/も」，Y ：動詞，形容詞，名詞(サ変名詞＋する)
ルール (2) X：「名詞+は/が/も/を/に/だ/です」，Y ：形容詞（接続助詞を含まない）
ルール (3) X1：「名詞＋の (助詞)」，X2：「名詞+は/が/も」，Y ：動詞，形容詞，名詞 (サ変名詞＋する)
ルール (4) X ：「名詞+は/が/も」，Y1 ，Y2 ：動詞，形容詞，名詞 (サ変名詞＋する)
ルール (5) X1：「名詞＋の (助詞)」，X2：「名詞+は/が/も」，Y1 ，Y2 ：動詞，形容詞，名詞 (サ変名詞＋する)
ルール (6) Y ：動詞，形容詞，名詞 (サ変名詞＋する)(1),(3),(4),(5) のルールは項目と値が主語・述語関係となる場合，(2) のルールは項目と値が被修飾・修飾関係となる場合，(6) のルールは項目が存在しなかった場(1) X → Y ⇒ (O,X,Y )合に適用する．まず，意見テキスト中の主語・述語関係を判定し，(1),(3),(4),(5) のルールの適用を試みて，こ(2) Y → X ⇒ (O,X,Y )
れとは独立に，修飾・被修飾関係を判定し，(2) のルー(3) X1 → X2 → Y ⇒ (O,X1 − X2 ,Y )ルを適用を試みる．ルールが適用されない値候補があれ(4) X → Y1 → Y2 ⇒ (O,X,Y1 )，(O,X,Y2 )ば，最後に (6) のルールの適用を試みる．
ルール通用の汎用性を高めるために，さらに，(3),(4)
抽出処理例を図 3 に示す．意見テキストを係り受け解を組み合わせたルール：
析し，項目候補と値候補を特定する．これらの項目候補(5) X1 → X2 → Y1 → Y2 ⇒ (O,X1 − X2 ,Y1 ),(O,X1 − X2 ,Y2 ) と値候補に対して，(5),(3),(4),(1) の順で適用可能性を
例：浴室の X1 →浴槽が X2 →広くて Y1 → くつろげま 調べる．このテキストでは，(4),(5) のルールを適用でした Y2 ⇒ (A ホテル，浴室-浴槽，広い)， (A ホテル， きる．また，ルールが適用されていない値候補があるの浴室-浴槽，くつろげる)で，この値候補に対して (6) のルールを適用し，最終的また，項目がなく値のみ存在する場合に対応するため に 5 つの意見情報が抽出される．のルール：
4.2.3 後処理
(6) Y ⇒ (O， - ，Y )例：親切でよかったです．また来たいと思います．⇒ (Aホテル，- ，親切)，(A ホテル，- ，よい)（ハイフン ( - ) は，要素が存在しないことをを示す）

を設けた．

4.2

意見情報抽出の手順

4.2.1

前処理

意見テキストを文単位に分割し，各文を係り受け解析することにより抽出の前処理とする．ただし，要望文については以下のように除去する．
1 X,Y は，それぞれ項目，値を含む文節を表し，矢印「→」はそれぞれの係り受け関係を表す．

否定表現処理では，値に否定表現が含まれる場合には表現を統一する．この処理により，例えば「十分でない」「十分ではありません」「不十分だ」という表現を同一の値として扱うことができる．
項目として用いる形態素を名詞のみとし，値として用いる形態素を名詞，形容詞，動詞，副詞，接頭辞，接尾辞とする．接頭辞，接尾辞は，「大満足」，「１万円以下」などの表現を扱うために除去しない．また，「方」，「こと」，「もの」，「思う」，「考える」など，重要な意味を形成しない形態素を除去する．不要語を除去することにより，複数の表現を同一の表現として検索することができる．

ナゴヤホテルの意見テキスト
部屋も広く、浴室の浴槽も広く、ゆったりとくつろげるので大変気に入っています。

 EOPmatchmatch× EVEV EOP
allallc rate(i, j)

部屋も広く、浴室の並列※
浴槽も部屋の「広く」と浴槽の「広く」広く、ゆったりとは，「くつろげる」に対し、並列の係り受け構造となっている．
くつろげるので大変気に入っています。
係り受け解析
結果

項目候補・値候補の 部屋も広く、判定
浴室の並列
項目候補
浴槽も「部屋も」「浴槽も」広く、ゆったりと値候補くつろげるので「広く、」「くつろげるので」「入っています。」
大変気に入っています。
ルールの適用浴室の部屋も大変気に浴槽も広く、入っています。
広く、ゆったりとゆったりとくつろげるのでくつろげるので

=

match
0.1 × EVEVall
0

(項目がある)(項目がない)(otherwise)

要求情報の項目中の形態素一致数
要求情報の項目中の全形態素数
要求情報の値中の形態素一致数
要求情報の値中の全形態素数

EOPmatch :EOPall :EVmatch :EVall :

図 4: 一致率の計算∑Score(Q, Oi )=P Fij · IOFj

j∈Q

IOFj

=P Fij=log(1+ 1)
ofj + 1∑

pfki × c rate(j, ki )ki ∈Oiofj :pfki :クエリ中の要求情報 j との一致率が 0 より大きい意見情報が出現する意見対象数
意見情報 k が意見対象 i に出現する頻度

図 5: スコア計算式きれい）という要求情報を抽出できる．これらの要求情報に対して，合致する意見情報を検索し，これらの意見情報の意見対象を提示すればよい．
抽出された意見情報
本研究では，要求対象を「ホテル」に限定しているの（ナゴヤホテル，部屋，広い）（ナゴヤホテル，部屋 ，ゆったり- くつろげる ） （ナゴヤホテル，浴槽 ，広い ）で，要求情報と意見情報との対応付けは，これらの情報（ナゴヤホテル，－，大変気- 入る ） （ナゴヤホテル，浴槽，ゆったり- くつろげる）の項目と値の組との対応付けにより行う．
本研究では，要求情報と意見情報とを対応付けるため
図 3: 抽出処理の例に，一致率を定義した．図 4 に一致率の計算式を示す．
要求情報の項目 i と意見情報 j との一致率は，要求情報
5 商品の検索の項目中の全形態素のうち意見情報の項目との形態素要求情報とは（要求対象，項目，値）の 3 項組である． 一致数と，要求情報の値中の全形態素のうち意見情報のこのうち，項目および値は，意見情報と同様である．一 値との形態素一致数との積により計算される．一致率に方，要求対象とは，商品や宿泊施設などのクラス（もし 基づく対応付けをすることにより，要求情報と意見情報
くは，商品カテゴリ）であり，「ノートパソコン」，「車」， との部分一致による対応づけができ，さらに，意見情報「ホテル」などが該当する．
が要求情報と一致しているほどスコアが高くなると期検索処理では，まず，検索クエリに対して，意見情報 待できる．例えば，要求情報 a（ホテル，料理，おいしの抽出処理と同様の処理を行い，項目と値の組を抽出す い）と意見情報 b（Ａホテル，料理，とても-おいしい）る．要求対象については，商品クラスに該当する名詞句 があった場合，一致率 c rate(a, b) = 1 × 1 = 1 となる．
を抽出する．ただし，本稿では，検索対象として宿泊施 また，要求情報 c（ホテル，料理，とても-おいしい）と設を対象としているので，要求対象を「ホテル」に固定 意見情報 d（Ｂホテル，料理，おいしい) の場合，一致率した．
は，c rate(c, d) = 1 × 12 = 21 となる．このとき，要求情
次に，これらの要求情報と意見対象を一致率に基づい 報 c と意見情報 b の一致率は，c rate(c, b) = 1 × 2 = 1
2て対応付ける．一致率を用いることにより，部分一致に となり，要求情報中の副詞が意見情報中に含まれていれよる対応付けが可能となる．最後に，各意見対象のスコ ば，より一致率が高くなる．
アを計算し，スコアの高い順に検索対象を表示する．
また，項目がない要求情報が検索される場合がある．
このような要求情報に対して，同様に項目がない意見情5.1 要求情報と意見情報との対応付け
報とを対応付ける．一致率の項目の部分が計算できない
本研究では，「料理はおいしくて，部屋が広くて，値 ので，図 4 に示すように，要求情報中の値の全形態素に段が安い，…」のように，検索クエリが項目と値の組で おける形態素一致数に 0.1 を掛けることにより，一致率入力されると仮定している．したがって，抽出部と同様 を計算している．0.1 と小さな値を設定するのは，項目の処理をすることによって，クエリから要求情報を抽出 と値が含まれる要求情報に対する影響を小さくするたできる．例えば，「料理がおいしくて，部屋がきれいな めである．
ホテルを探しています．
」といった検索クエリが与えられた場合，(ホテル，料理，おいしい)，（ホテル，部屋，ルール(4)適用

ルール(5)適用

ルール(6)適用

表 2: 実験結果
クエリ
評価平均
システム平均

1
4.00
5.09

2
3.80
7.93

3
1.89
0.09

4
2.40
0.04

表 1: 実験に用いた 10 個の検索クエリ
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)

5.2

部屋にパソコンがあるか、自分のパソコンでインターネットが使えるホテル
ぐっすり眠れる部屋で、ベッドの寝心地が良くて、防音対策がいいホテル
少し非日常的なロマンチックなお風呂が付いているホテル
一人 5000 円以下のホテル
遅い時間にチェックインとチェックアウトができるホテル
連続で泊まると宿泊の割引があるホテル
部屋が綺麗で、タバコ臭くないホテル
無料の朝食バイキングが付いているホテル
駅に近い、もしくは、無料送迎バスがあるホテル
ホテルの近くに、遊べるところがたくさんあるホテル

スコアリング

53.10
1.34

6
1.00
5.57

7
3.30
43.47

8
2.60
1.94

9
4.00
9.04

10
3.00
0.51

2 ：商品が検索クエリと多少関連している
1 ：商品が検索クエリとまったく関連していない

被験者は，各ホテルのクエリに関連した意見テキストを閲覧し，判定する．

6.2

実験結果

表 1 の検索クエリに対する実験結果を表 2 に示す．表
2 の各クエリの番号は，表 1 の番号と一致している．表2 は，10 個の各クエリに対する被験者の 4 段階評価の平均と，検索スコアの平均をそれぞれ示している．

6.3

考察

各意見対象に対するスコアの計算方法を図 5 に示す．
表 2 の実験結果から，スコアが 5 以上（クエリ (6) 以P Fij は，上述した一致率とある意見対象における意見情報の出現頻度との積を加えることにより求まる．意見 外）であれば，被験者の評価が良いということが分かっ
対象 Oi の完全に一致した（一致率 = 1）意見情報に加 た．また，システムのスコアが 2 以下であれば，被験者え，部分一致（一致率 < 0）の意見情報の出現頻度を考 の評価があまり高くないということが分った．
被験者の評価が低くなった原因として，一致率の問題慮することができる．完全一致のみでスコアリングをが挙げられる．項目と値それぞれの形態素が部分一致す
行った結果の場合と比較して，再現率が高くなることをればよいということと，形態素末が一致が必須である期待している．
計算式の P Fij , IOF j は，tf · idf 計算式のそれぞれ という問題である．前者の場合は，ノイズが多い結果とtf, idf に相当し，tf · idf に類似した計算式を用いた． なってしまい，後者の場合は，再現率が低下する原因と
P Fij は各意見対象における（擬似的な）頻度を示して なった
また，クエリ 6「連続で泊まると宿泊の割引があるホいる．また，IOFj は，要求情報の出現対象数の逆数のテル」のような条件付きの検索はほとんど行えないとい対数である．これは，ある要求情報に対して，出現する意見対象が少ないほど価値がある情報であり，意見対象 うことが分かった．
中の出現頻度が大きいほど，意見対象 Oi のスコアが高おわりにくなるように設定している．つまり，要求情報と合致す 7
る意見情報の出現頻度が大きいほど，意見対象が適合し本稿では，ロバストな商品検索の実現を目的とし，曖ている可能性が高く，要求情報が合致する意見対象数が 昧で主観的な自然言語入力による問合わせに対応した検少なければ，その要求情報は貴重であり，それに合致す 索システムを提案した．問合わせの主観性に対応するたる意見情報を含む意見対象であれば，その意見対象がク めに，商品について書かれた意見テキストを使用した．
エリにより適合している可能性が高いとする．
ホテルを対象に検索実験を行った．被験者による評価の

6

検索実験

6.1

実験方法

宿泊施設の予約サイト2 から，意見テキストを取得した．実験には，ホテル 1,670 件に対する意見テキスト265,527 件を用いた．係り受け解析器として KNP[4] を用いた．
実験では，図 1 に示す 10 個の検索クエリを被験者が作成し，検索結果の妥当性を検証した．検索結果上位10 件を使用し，被験者がクエリとの一致度を 4 段階で評価した．評価基準を以下に示す．
4 ：商品が検索クエリとほとんど一致

結果，主観的で曖昧な問合せに対して，検索が可能であることを確認した．

参考文献[1] 小林のぞみ, 乾健太郎, 松本裕治, 立石健二, 福島俊一. テ
キストマイニングによる評価表現の収集. 情報処理学会
研究報告, 自然言語処理研究会, 2002-NL-154, pp. 77–84,2003.
[2] 立石健二, 福島俊一, 小林のぞみ, 高橋哲朗, 藤田篤, 乾健太郎, 松本祐治. Web 文書集合からの意見情報抽出と着眼点に基づく要約生成. 情報処理学会研究報告, NL-163,pp. 1–8, 2004.

3 ：商品が検索クエリと部分的に一致，関連している[3] 矢野宏美, 目良和也, 相沢輝昭. 嗜好を考慮した評判情報検索手法. 情報処理学会研究報告, NL164, pp. 165–170,2004.

2 楽天トラベル「お客さまの声」
http://travel.rakuten.co.jp/auto/tabimado bbs top.html[4] 黒橋禎夫. 日本語構文解析システム knp version 2.0, 2005.