ベイズフィルタリングを用いた 口コミの分類 ―自分好みの店の抽出― 情報理工学科 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
© Copyright 2024 ExpyDoc