ベイズフィルタリングを用いた 口コミの分類 ―自分好みの

ベイズフィルタリングを用いた
口コミの分類
―自分好みの店の抽出―
情報理工学科
A0878536 牛窪 麻衣
研究背景
口コミサイトとは?
• ある商品やサービス等に対して,消費者が自由な
評価を書き込むことや,閲覧することができるサイト
• 多くのユーザーに利用されている
(私も利用者の一人です!)
図1:口コミサイトの利用率[1]
(20~34歳女性)
過去利用
経験者
3%
未経験者
25%
利用者
72%
[1]NECビッグローブ2007年度調査より参照 2
ホームページhotpepper beautyより抜粋
3
HOTPEPPER Beauty
ホームページhotpepper beautyより抜粋
4
ホームページhotpepper beautyより抜粋
5
6
ホームページhotpepper beautyより抜粋
研究背景
口コミサイト 利点と欠点
一般論と自身の体験談より
利点
• 実際に利用経験を持つ消費者によって書かれている
欠点
広告会社や売り手にとって都合のよいことは
書かれていない
・ 読むのが面倒
減る
2%
増える
40%
[1]NECビッグローブ2007年度調査より参照
変わらない
58%
図1:口コミサイト 今後の利用意思[1]
7
[2]http://www.hotpepper_beauty
研究の目的
口コミサイトに寄せられた口コミを自動で分類・抽出する
目的① 全ての口コミに点数をつけ並べ替える
目的② 良い/悪い(自分にとって必要/不必要)に自
動分類する
提案手法
ベイズフィルタリングを
口コミサイトへ適応
スパムメールフィルタリングの代表例
対象
HOTPEPPER beauty[2]に
投稿された口コミ
・ネイルサロンに着目
-全てのサロンに点数を付け、ランキング
にする
- good/bad に自動分類して不要な口コミ
8
は読まなくても良いようにする
ベイズフィルタリングの説明
ベイズフィルタリングは
どのようにテキストの定量化を行い
評価するのか?
9
ベイズフィルタリングを用いたテキストの評価方法
1.トレーニング
を行う
2.各単語の確率
算出
3.ドキュメント全
体の確率を算出
分類
分類
• 分類器のトレーニングを行う
概要
• トレーニングデータを基に,各単語が各カテゴリに出現する確率
を算出する
• 手順2の情報を基に,評価したいドキュメントが各カテゴリに出
現する確率を算出する
10
ベイズフィルタリングを用いたテキストの評価方法
1.分類器のトレーニングを行う
ベイズフィルタリングは正答例を見せることで
その都度学習していくプログラム
Ex) 【トレーニングの様子】
「スタッフ が 良い」‘good’
「対応 が 丁寧」‘good’
「残念です」‘bad’
11
ベイズフィルタリングを用いたテキストの評価方法
2.各単語の確率を算出する
―トレーニングデータを基に,
各単語が各カテゴリに出現する確率を算出する
単語
good(頻度)
スタッフ
が
Bad(頻度)
0.5
0.0
1.0
0.0
良い
0.5
0.0
対応
0.5
0.0
丁寧
0.5
0.0
残念
0.0
1.0
です
0.0
1.0
【トレーニング例】
スタッフ が 良い ‘good’
対応 が 丁寧
‘good’
残念です
‘bad’
12
ベイズフィルタリングを用いたテキストの評価方法
3.ドキュメント全体の確率を算出する
評価したいドキュメントがあるカテゴリに属する確率
Ex) A=評価したいドキュメント
Pr(good|A )= 0.7
ドキュメントAはgoodカテゴリ
Pr(bad|A )= 0.3
に分類されると推測できる!
では、評価したいドキュメントがあるカテゴリに属する確率は
どのように算出するのか?
【ベイズの定理】
Pr(A|B) = Pr(B|A) × Pr(A)/Pr(B)
Pr(カテゴリ|ドキュメント)
=Pr(ドキュメント|カテゴリ)×Pr(カテゴリ)/Pr(ドキュメント)
13
ベイズフィルタリングを用いたテキストの評価方法
3.ドキュメント全体の確率を算出する
単語
good
(頻度)
Bad(頻
度)
0.5
0.0
スタッフ
【トレーニングデータ】
1.0
0.0
が
スタッフ
良い ‘good’
0.0
良い が 0.5
対応 が 丁寧
‘good’
0.5
0.0
対応
残念です
‘bad’
0.5
0.0
丁寧
残念
0.0
1.0
です
0.0
1.0
Pr(カテゴリ|ドキュメント)
=Pr(ドキュメント|カテゴリ)×Pr(カテゴリ)/Pr(ドキュメント)
 Pr(ドキュメント|カテゴリ)の算出
→☆単純な単語の掛け合わせでOK
Ex. 「対応 が 丁寧」の場合
Pr(カテゴリ)の算出
あるカテゴリが全体に占める確率
Pr(good)=2/3=0.66
Pr(good|A)
Pr(bad)=1/3=0.33
Pr(ドキュメント)の算出
必要なし!
=0.25×0.66
=0.16
Pr(bad|A)
=0×0.33
=0
ドキュメントAは
goodである!
14
この方法を
口コミサイトに適応させる!
15
ベイズフィルタリングのチューニング 1
算出した数値は,このままでは比較に使えない
これまで,
Pr(good|A)=1.8
Pr(good|A)=1.8
Pr(bad|A)=0.7
Pr(good|B)=3.0
Pr(bad|B)=1.7
Bの方が良い内容
であると言えるだろ
うか?
言えない。
新たに,比較したいテキスト間で共通に使える数値を設定しないといけない.
テキストの比較に用いる数値=
(スコア)
Pr(good|ドキュメント)
Pr(bad|ドキュメント)
で算出。
16
ベイズフィルタリングの
チューニング完了
17
解析を行う
【対象】
HOTPEPPER beautyに掲載されている190件の
ネイルサロンに寄せられた口コミ
消費者の嗜好4パターン[3]を想定
•
•
•
•
嗜好1: 可愛くて褒められる仕上がりのネイルサロン
嗜好2: 施術が早くて,丁寧なサロン
嗜好3: 初めてでも安心して通えるサロン
嗜好4: 店の対応や接客が良いサロン
[3]Hotpepper beauty ネイルサロンの基礎知識を参照
18
190件のサロンを対象に解析を行った
解析結果 嗜好1:可愛くてほめられる仕上がりンネイルサロン
250
上位のスコア間に
大きな差が出る対数分布の形
200
スコアは,最高198.2,最低1.5
y = -25.42 log x + 137.08 の曲線
に近くなった.
スコア
150
100
グラフのR-2 乗値は0.9589
50
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97
101
105
109
113
117
121
125
129
133
137
141
145
149
153
157
161
165
169
173
177
181
185
189
0
順位
19
全ての嗜好は共通して,上位のスコアに
大きな差が出る対数分布の形をとった
250
嗜好1
150
100
y = -25.42ln(x) + 137.08
スコア
スコア
200
R² = 0.9589
50
順位
嗜好3
400
スコア
200
R² = 0.9509
0
1
14
27
40
53
66
79
92
105
118
131
144
157
170
183
スコア
300
-100
順位
R² = 0.9654
順位
500
100
嗜好2
1
13
25
37
49
61
73
85
97
109
121
133
145
157
169
181
1
13
25
37
49
61
73
85
97
109
121
133
145
157
169
181
0
180
160
140
120
100
80
60
40
20
0
800
700
600
500
400
300
200
100
0
-100
嗜好4
R² = 0.9561
1
13
25
37
49
61
73
85
97
109
121
133
145
157
169
181
解析結果
順位
20
被験者による評価実験
目的
本研究のプログラムが,どの程度使えるもの
なのかを被験者を用いて評価する
評価基準
プログラムによる並べ替え
差!
被験者による並べ替え
対象
被験者20名(各嗜好に5名ずつ)
21
被験者対象実験結果
嗜好1 96%で一致
順位
1
2
3
4
5
システム
(サロンNo)
A
(No.129)
B
(No.163)
C
(No.188)
D
(No.137)
E
(No.105)
被験者1
A
B
C
D
E
被験者2
A
B
C
D
E
被験者3
A
C
B
D
E
被験者4
B
A
C
D
E
被験者5
A
B
C
D
E
22
被験者対象実験結果
嗜好1 96%で一致
嗜好2 74%で一致
順位
1
2
3
4
5
システム
(サロンNo)
A
(No.129
)
B
(No.163
)
C
(No.188
)
D
(No.137
)
被験者1
A
B
C
被験者2
A
B
被験者3
A
被験者4
被験者5
順位
1
2
3
4
5
E
(No.105
)
システム
(サロンNo)
A
(No.130
)
B
(No.161
)
C
(No.132
)
D
(No.51)
E
(No.175
)
D
E
被験者1
A
B
C
D
E
C
D
E
被験者2
B
A
D
C
E
C
B
D
E
被験者3
A
B
D
C
E
B
A
C
D
E
被験者4
A
B
C
D
E
A
B
C
D
E
被験者5
B
A
C
D
E
嗜好3 96%で一致
嗜好4 94%で一致
順位
1
2
3
4
5
システム
(サロンNo)
A
(No.130)
B
(No.89)
C
(No.108)
D
(No.26)
被験者1
B
A
C
被験者2
B
A
被験者3
A
被験者4
被験者5
順位
1
2
3
4
5
E
(No.43)
システム
(サロンNo)
A
(No.100)
B
(No.89)
C
(No.108)
D
(No.26)
E
(No.43)
D
E
被験者1
A
B
D
C
E
C
D
E
被験者2
A
B
C
D
E
B
C
D
E
被験者3
A
D
B
C
E
A
B
C
D
E
被験者4
A
B
C
D
E
A
B
C
D
E
被験者5
A
B
C
D
E
<システムの性能>
平均すると89.5 %であり,システムの性能は高いと言える.
誤差は?
23
誤差は何からきたものか?
順位
1
2
3
4
5
システム
(サロンNo)
A
(No.129)
B
(No.163)
C
(No.188)
D
(No.137)
E
(No.105)
被験者1
A
B
C
D
E
被験者2
A
B
C
D
E
被験者3
A
C
B
D
E
被験者4
B
A
C
D
E
被験者5
A
B
C
D
E
順位の高いサロンにおいて,並べ替え
結果にばらつきがみられた.
1 位のサロンと2位のサロン間に77 も
の差があるが,「1 位と2 位のサロンの
口コミに違いを感じなかった」と回答す
る被験者も数名見受けられた.
250
★
構成したシステムと,人の感じ方に違いがあ
るのでは?
150
100
★
y = -25.42ln(x) + 137.08
R² = 0.9589
50
0
1
9
17
25
33
41
49
57
65
73
81
89
97
105
113
121
129
137
145
153
161
169
177
185
スコア
200
順位
24
構成したシステムと人との感じ方の違い
 システムは,【可愛い】という表現が出現すればするだけ,単純にスコア
が加算されていくように構成されている
 人間は,【かわいい】という表現に出くわす機会が一定量を超えると,そ
れ以上プラスの評価にはつながらないのではないか?
人とシステムの感度推移の比較
45
40
35
スコア
30
25
システム
20
人
15
10
5
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20
出現回数
25
まとめ
①口コミを自動分類したい
②ベイズフィルタリングを適応させた
③解析結果を被験者実験により評価した
④精度は高い
課題
①人間の評価感度に近づける
②単語の前後関係を意識した評価方法の提案
以上です.ご清聴ありがとうございました.
26
ベイズフィルタリングをそのまま口コミ
に適応させていいのか?
問題点は3つ。
27
ベイズフィルタリングのチューニング 1
①確率の掛け算のため,長文なるとエラーが起こる
Pr(ドキュメント|カテゴリ)の求め方は
「スタッフ の 接客 が 丁寧 で 良い 」
0.5×0.3×0.4×0.6×0.8×0.6×0.8=0.013
単語一つ一つの小数の掛け算で求めていたため
少し長い文になると
2.61404079e-23
もっと長い文になると
エラーが起きてしまう
そこで,各単語のスコアが1以上になるように変更した
「スタッフ の 接客 が 丁寧 で 良い」
0.5 ×0.3×0.4×0.6×0.8×0.6×0.8 = 0.013
→1.5 ×1.3×1.4×1.6×1.8×1.6×1.8 = 16.17267
28
ベイズフィルタリングのチューニング 2
②あまりトレーニングできていない単語が多い
 「仮の確率・重み」の設定
重み付き確率は実例を基に算出した確率と仮の確率との平均に
重みを付けて返す.
口コミは自由記述文で書
かれているため,
不正確な日本語が多く含
まれる.
(かわいい≒かわいー)
式
例えば,【money】という単語が一度だけbad
カテゴリでトレーニングされた場合,(重み:1,仮の確率:0.5)
従来の算出法
重みづけを行ったもの
Good=0.0
Bad=1.0
Good=0.5
Bad=0.75
【設定】
重み=1.0
仮確率=1.0
29
評価基準
被験者による評価実験
• システムによる解析結果と,被験者による順位付け結果を比較する
順位
1
2
3
4
システム
A
B
C
D
被験者
D
A
B
C
3つが一致!!
3/6の割合で結果が
一致したといえる
B
B
B
A
A
A
C
D
システム
C
D
被験者
C
D
両者の比較
30