構文解析を用いた文分類の手法 ー自動二輪に関する評価表現についてー 情報理工学部 情報知能学科 H206072 横川 和也 2010年 2月 2日 H206072 横川和也 構文解析を用いた文分類の手法の発表を始めさせていただきます。
研究の目的 バイク購入の際の情報収集を より効率的に 既存の情報収集の手段 □バイク関連の情報誌 □webのユーザーレビューサイト □バイク関連の情報誌 □webのユーザーレビューサイト □友人や知人からの情報 自分自身がバイク購入する際に情報の収集に苦労した経験があり、バイク購入の際の情報収集をより効率的にという目標をたて研究を始めました。 バイク購入を考えた際に以下の情報収集の手段を用いると考えられますが、それぞれ問題点があると考えられます。
既存の情報収集の手段の問題点 情報誌 出版時に最新の車種に関する情報である 可能性が高い 友人、知人 情報量が少ない Web 出版時に最新の車種に関する情報である 可能性が高い 友人、知人 情報量が少ない Web 情報が複数のサイトに分散している その問題点をそれぞれ説明します。 まず、情報誌は一冊ごとの情報量が限られており、また過去に出版されたものを手に入れることも困難なので、欲しい情報を得るのは難しいといえます。 また、バイクは車に比べて、ユーザー数が非常に少ないので、バイクユーザーである友人知人は少ないと考えられます。そのため、情報量が少ないことが問題だと考えられます。 Webの情報は、車と比較して考えると圧倒的に情報量は少ないといえます。また、Webサイトは複数あるので、情報がそれぞれのサイトに分散されてしまっています。そのため、サイトの特色などの影響で、サイトによって得られる情報が異なってしまっています。 ですが、他の2つの手段と比べると情報量が一番多いと考えられるので、本研究ではWebの情報を用いるシステムの構築を目指しました
バイクメーカー名が国別に分けられている バイクレビューサイト BIKET ここでは実際のWebページをもとに説明します。 こちらはバイクレビューサイトのBIKETです。 レビューサイトを用いているのは、実際にバイクを所有した感想が書かれた文なので、購入を考えた際に求める情報が豊富であると考えたためです。 この部分は国別に各国のバイクメーカー名が分けられています。ここでは例としてホンダを取り上げます バイクレビューサイト BIKET
1 40 2 4 メーカー名をクリックするとこのようなページになります。 ここには車種名が羅列されています。こちらを拡大するとこうなります。 メーカー名をクリックするとこのようなページになります。 ここには車種名が羅列されています。こちらを拡大するとこうなります。 車種名の後ろに数字がカッコでくくられていますが、この数字は各車種に対するレビュー文の数です。 1,40,2,4,0,0,とこの後にも0が続いていて、レビュー数が少ないことがわかります。 ただ、ここでレビュー数が0の車種も、別サイトへ行くとレビューがあることもあるので、情報が分散しているといえます。
システム構築による 効率的情報収集の手助け 情報が欲しい車種名を入力 入力された車種名のレビュー文を 複数のサイトから収集し一つにまとめる 情報を対象(車種)の良い点、悪い点の 情報にそれぞれ分類して提供する 複数のサイトを見て自分の欲しい情報を探すのは非常に時間がかかります。 そこで、より素早く、分かりやすい情報を提供する、バイク購入を考えるユーザーの手助けとなるシステムの構築を考えました。 考えたシステムの概要ですが、先ほど説明したように、Webサイトを用います。 まず、ユーザーが情報が欲しい車種名を入力します。 次に、その車種名のレビュー文を複数のサイトからを収集し、一つにまとめます。 そして、まとめられたレビュー文を良い点、悪い点に分類してユーザーに提供するシステムを考えました。 本研究では、まずこの良い点、悪い点に分類する手法が重要であると考え、ここに着目して研究しています。 なお、ここでは良い点、悪い点としていますが、以下では評価的な意味での肯定・否定として説明していきます。
肯定・否定の分類 肯定・否定に分けられていないレビュー文を分 類することで、ユーザーの求める情報をより分 かりやすく提示できる 肯定・否定に分けられていないレビュー文を分 類することで、ユーザーの求める情報をより分 かりやすく提示できる なぜ肯定・否定の分類なのかと言うことについて説明いたします。 肯定・否定を分類することで、ユーザーに提供する情報をより分かりやすくする事が出来ると考えました。 また、利用する複数のWebサイトの中には、長所と短所の記入する欄を分けているサイトもあるのですが、短所の欄に長所の内容が書かれることもあるので、そうした情報も正確に提示できると考えて肯定・否定の分類を目指しました。
構文解析 単語のみでなく係り受けの関係も分類に用いることが出来る 名詞と係り先の情報があって評価が分かる文を分類に活用できる 例) 高い 例) 高い □高いパフォーマンス □価格が高い 価格の割にパフォーマンスが高い パフォーマンスの割に価格が高い 本研究の特徴として構文解析を用いる点が挙げられます 本研究で構文解析を用いる目的は、単語のみではなく、係り受けの情報も利用できることでより正確に分類をおこなえると考えたことと、 名詞と係り先の情報があって初めて評価のわかる文を分類できると考えたためです。 ここで、名詞と係り先の除法があって初めて評価の分かる文について説明します。 例として、高い を挙げて説明します。高いという語を用いた例として以下のようなことが考えられます。こちらは赤が肯定、青が否定と判断できます。 しかし、次の様な文になったとき、単語の情報のみでは、肯定と否定の判断はできません。 このような文を分類するためにも、構文解析は必要だといえます。
ユーザーレビューサイト のレビュー文を収集 評価表現辞書の作成 レビュー文のベクトル表現化 機械学習を用いての文分類 文分類の手法 ユーザーレビューサイト のレビュー文を収集 評価表現辞書の作成 レビュー文のベクトル表現化 機械学習を用いての文分類 ① ② 具体的な手法の手順と致しましては、このような形になっております。 以下で、各手順に振られた番号の順番に説明をしていきます。 ③ ④
①レビュー文の収集 レビュー文をもとに評価文のデータベースを作成する レビュー文中で評価に関係する文のみ収集してデータベースは作成される まずはじめにレビュー文の収集を行います。 レビュー文は評価分のデータベースを作成するために収集します。 その際に収集する文は、レビュー文の中でも評価に関係すると思われる文に限定して収集しています。
バイクレビューサイト BIKET 評価に関係する文のみを収集するということを、先ほどの説明でも用いた「BIKET」を用いて説明します。
こちらの赤枠で囲った部分が、このサイトの一つのレビュー文です
とにかくデザインがずば抜けてこのバイクの売りとなっているよう無きがする。 個人的にはこの部分が大好きで気に入っ ているが、値段が少し高めだったりと他の部分に関しては少し気にならないと言えば嘘になる。 好きな人には良いバイクだと思う。 こちらを抜き出すとこのようになります。 緑いろで示した「よう無きがする」という部分は、書き込んだユーザーのミスです。このような人為的なミスの可能性も考慮するために、あえてそのまま利用しています。
とにかくデザインがずば抜けてこのバイクの売りとなっているよう無きがする。 個人的にはこの部分が大好きで気に入っているが、値段が少し高めだったりと他の部分に関しては少し気にならないと言えば嘘になる。 好きな人には良いバイクだと思う。 この文を肯定・否定で色分けするとこのようになります。 赤は肯定で、青が否定になります。 収集の際に、大きく分けて、上の2つと、下の文に分けて考えました。 上の2つの文は、肯定の表現のみで構成されているので、このままの形で収集しました。
個人的にはこの部分が大好きで気に入って いる 個人的にはこの部分が大好きで気に入って いる 値段が少し高めだったりと他の部分 が、 に関しては少し気にならないと言えば嘘にな る。 下の文は接続助詞によって、前半が肯定、後半が否定となっています。 こうした文はこのように分類し、別のものとしてそれぞれ収集しました。
②評価表現辞書 評価文のデータベースを肯定的、否定的だと感じる文に人手で分類する 分類したそれぞれのデータベースから、そこに含まれる単語・係り受けの関係の情報を抽出したものを評価表現辞書とする 評価表現辞書は肯定・否定ごとに単語・係り受けの2種類があり、計4種作成されている 次に評価表現辞書について説明します。 先ほど説明した評価文のデータベースを人手で肯定的、否定的だと感じるものに分類します。 評価表現辞書は、肯定・否定に分類したそれぞれのデータベースから、そこに含まれる単語・係り受けの関係の情報を抽出したもので、系四種類作成されます。
実際の評価文のデータベース 例) 最高に気持ちいい#1 僕は大満足している#1 大型車にはない楽しさがある#1 高回転まで良く回ってくれるので変速するのも楽しい#1 コーナーで倒して回ることも楽に出来る#1 特に女性にお勧めする#1 スポーツ走行を楽しみたい方にもオススメ#1 この年代のバイクにしては割とパーツも入手しやすい#1 今でも根強い人気がある#1 乾式クラッチの切ったときのカラカラ・・・・って音が好き#1 当時のHONDAの意気込みが感じられる車体#1 こちらは実際のデータベースの例です。
実際の評価表現辞書(係り受け情報) 例) スタイルがいい#8 燃費がいい#7 デザインが良い#3 加速が良い#3 燃費も良い#3 アメリカンにしては#3 デザインがいい#3 カスタムパーツが豊富#2 ポジションが良い#2 スタイルが良い#2 古さを感じさせない#2 こちらは実際の評価表現辞書の例で、肯定の係り受け情報の評価表現辞書のものです。
③レビュー文のベクトル表現化 各レビュー文を各評価表現辞書を用いてベクトルで表す ベクトルの次元 (p/n , Tp , Tn , Dp , Dn) 肯定的な係り受け 肯定・否定 次に、レビュー文のベクトル表現化の説明です。 レビュー文のベクトル表現化とは、各評価文のデータベースの文を4種の評価表現辞書を用いてベクトルで表したものです。 ベクトルの次元は以下の式で表します。 このベクトルで表現したデータを学習データとします。 否定的な係り受け 肯定的な単語 否定的な単語
実際の学習データ 各レビュー文 実際の学習データの例です
④機械学習を用いての文分類(1) 「R言語」を用いる R言語の パッケージ「e1071]の関数SVMを用いて Sapport Vector Machineによる分類を行う カーネルはRBFカーネル、多項式カーネル、シグモイドカーネル、線形カーネルを使用した Rのパッケージ「mvpart」を用いて決定木による分類も行った。 機械学習を用いての文分類ですが、R言語のパッケージ「e1071]の関数SVMを用いて行います。その際利用したカーネルは以下の4つになります。 また、別のパッケージを利用して決定木による分類も行いました。
評価実験 SVMによる分類の評価実験には重交差妥当法を用いて行う 全816文を8等分し、その中の1つをテス 全816文を8等分し、その中の1つをテス トデータとし、残りの7つを学習データと する試行を8回行う 決定木による分類の精度は「R言語」により算出されるので、その結果を評価とする 評価実験についての説明を行います。 SVMによる分類の評価実験は全816文を8等分し、その中の1つをテストデータとする試行を8回行う重交差妥当法を行った。 決定木はR言語により分類精度が算出されるため、それを利用した。
評価実験の結果(SVM) こちらは評価実験の結果です。 RBFと線形のカーネルを用いた場合に非常に高い精度を示すことが出来ました。
決定木の評価結果 決定木の正解率 93.6% こちらは決定木の評価実験の結果です。 この黄色に示した部分が係りにより分類されている部分で、赤で示した部分が単語によるものです。 この結果から分類には係りの関係の情報が非常に強い影響を与えている事がわかりました。
評価についての考察 評価を行った結果、SVMによるRBFカーネルを用いた場合に最高値96%の正解率と非常に高い数字を挙げることができた 決定木の結果から、分類の際に係り受けのの情報が非常に有効に働いている事がわかった 評価実験を行った結果、SVMによる分類で96%と非常に高い正解率を示すことが出来ました。 また、決定木の結果から、分類の際に係り受けの情報が非常に有効に働いていつことがわかりました。
システム構築への考察 肯定・否定の分類は96%の精度を示せたことで、この手法を用いて十分に分類できると考えられる 新たな問題として、システムとして自動化するうえで、レビュー文に出現する、肯定的でも否定的でもない文の分類の必要性が考えられた 96%の精度で肯定・否定に分類できることが示せたので、この手法を用いてシステムを構築を目指すことが出来ると考えられます。 しかし、システムとして自動化することを考えると、評価には関係ない文という解決しなければならない問題が判明しました。
評価に関係しない文への対処法 実際のレビュー文の中に肯定的でも否定的でもない文(中立的な文)が出現する 例)5月に納車しました 例)5月に納車しました 評価に関係しない文は分類対象から除外する必要がある 評価に関係する文と中立的な文を分類する手法 この問題とその解決手法について説明します。 レビュー文には、「5月に納車しました」のように、評価に関係のない文が複数あります。この分を以下で中立的な文として説明します。 こうした中立的な文は、肯定と否定に分類をする前に除外する必要があります。 その手法として、肯定と否定のように、評価に関係する文と中立的な文で分類を行う方法を考えました。
中立的な文の分類 中立的な文と評価に関係する文に分類し、評価に関係する文を肯定・否定に分類する 肯定と否定の分類に用いた評価表現辞書・学習データを使う 中立的な文は肯定文・否定文に現れる特徴が無い、もしくは極めて少ないと仮定 その分類の際には、新たな評価表現辞書は作成せず、既存の評価表現辞書を用いて行います。 それは、中立的な文には肯定的な文や否定的な文に現れる特徴がきわめて少ないであろうと仮定を立てたためです。
中立的な文の分類の評価実験 新たにレビュー文から中立的な文を抜き出し中立的な文のデータベースを作成する 肯定・否定の分類と同様に評価表現辞書を用いてベクトル表現化する 肯定と否定の分類に用いた学習データに中立的な文のベクトルも加える 決定木を用いて判別を行う 具体的な方法は、肯定・否定の分類と同じ要領で、レビュー文から中立的な文を抜き出し、データベースを作成します。 そのデータベースを既存の評価表現辞書を用いてベクトルで表現します その情報を既存の学習データに付け加えて分類を行います。 なお、判別には決定木を用いました
中立的な文と評価文の分類結果 正解率 83% その結果がこちらです。 正解率は83%でした。
まとめ 中立的な文と評価に関係する文の分類は83%であり、改善の余地があると考えられる 肯定・否定の分類に関しては96%の正解率を示した システムを構築するための課題が新たに判明した 中立的な文と評価に関係する文の分類は83%とそのままシステムに利用するには問題があり、改善の余地があると考えます。 肯定・否定は96%の正解率と高い精度なので、システムに用いることが出来るであろうと思います。 しかし、システムを構築するには新たな問題も判明しました
システム構築への課題 分類する文の問題 □句読点の間違い □不必要な改行 □対象とするもの以外への評価文 分類された文の問題 □対象とするもの以外への評価文 分類された文の問題 似たような内容の文がいくつも提示されて は分かりにくく、バイク購入の際の情報収 集を効率的にする目的に反する 新たに判明した問題は大きく分けて2つあります。 分類する文の収集に関しての問題と分類後の文の問題です。 分類する文の収集に関しては、レビュー文は複数のユーザーによって書かれているので、それぞれで書き方が異なっている事が大きな問題です。 句読点の位置が間違っている文や、全く句読点がない文、改行のない文や不必要な部分で改行されている文など、本手法で分類しやすい文の形で収集するためには工夫が必要なことがわかりました。 また、対象、ここでいうバイクとは別のものへの評価の文をどう除去するかということも問題であると思います。 次に、分類後の文の問題です。 複数のサイトから情報を集めているので、情報量は多くなることが考えられます。分類したまま提示していては内容の近い文も複数存在してしまい、分かりやす情報とは言い難いともいおます。 この後に発表する鈴木君、内輪君の研究内容の様な簡潔かが必要かと思います。
バイクレビューサイト バイクインプレッション
③レビュー文のベクトル表現化 各レビュー文を各評価表現辞書を用いてベクトルで表す ベクトルの次元は各評価表現辞書の内容の出現頻度(出現回数)である 評価文のデータベースの各文をベクトルで表現したものに、文の肯定か否定を示す次元を加えたものを学習データとする
バイクレビューサイト BIKET
効率よく情報を収集する システム構築のために 比較的容易に情報収集できるWebのレビュー文を利用する 複数のサイトに分散した情報をまとめる 情報を対象(各車種)の良い点、悪い点の情報にそれぞれ分類して提供するシステム 以上のことから、複数のサイトを見て自分の欲しい情報を探すのは非常に非効率的だといえます。 そこで、より効率的に情報を提供することで、バイク購入を考えるユーザーの手助けとなるシステムの構築を考えました。 考えたシステムの概要ですが、先ほど説明したように、Webサイトを用います。 まず、ユーザーが情報が欲しい車種名を入力します。 次に、その車種名のレビュー文を複数のサイトからを収集し、一つにまとめます。 そして、まとめられたレビュー文を良い点、悪い点に分類してユーザーに提供するシステムを考えました。 本研究では、この良い点、悪い点に分類する手法に着目して研究しています。 なお、ここでは良い点、悪い点としていますが、以下では評価的な意味での肯定・否定として説明していきます。
複数のサイトの情報をまとめる サイトによってレビュー文の書かれ方が異なる レビュー文を肯定・否定に文分類 複数のサイトの情報をまとめる サイトによってレビュー文の書かれ方が異なる レビュー文を肯定・否定に文分類 情報の分類には文分類を用いています。