社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

ルールと機械学習を用いた Twitter からの不具合情報の抽出栗原光平†

嶋田 和孝†† 九州工業大学 〒 820–8502 福岡県飯塚市川津 680–4
E-mail: †{k kurihara,shimada}@pluto.ai.kyutech.ac.jp
あらまし

製品の不具合に関する情報を収集することは，事故や社会的損失を未然に防ぐためにも重要である．本

研究では，マイクロブログサービス Twitter を情報源とし，不具合情報を自動的に抽出する手法を提案する．まず，情報抽出の分野において一般的である，機械学習による手法を用いた実験を行い，機械学習による手法の問題点や，Twitter 上の不具合情報抽出における難しさを考察する．さらに，機械学習とは異なるアプローチとして，人手で作成したルールベースの抽出手法を提案する．
キーワード 情報抽出，不具合情報，TwitterTrouble information extraction based on rules and machine learning fromTwitterKohei KURIHARA† and Kazutaka SHIMADA†† Kyushu Institute of Technology 680–4, Kawazu, Fukuoka,JapanE-mail: †{k kurihara,shimada}@pluto.ai.kyutech.ac.jp
Abstract In this paper, we propose a method for extracting trouble information from Twitter. One useful approach is based on machine learning techniques such as SVMs. However, trouble information is a fraction of apercent of all tweets on Twitter. In general, imbalanced training data generates a weak classifier on machine learning techniques. Therefore, we utilize another approach; a rule based method. We consider the advantages anddisadvantages of the two approaches through experiments.
Key words Infomation extraction, Trouble infomation, Twitter

1. は じ め に自動車のリコールなどに代表されるように，製品の不具合は大きな社会的損失に結びつき，時には重大な事故等につながるれらを用いれば不具合について詳細な情報を得ることができる
ものの，公的組織の詳細な調査に基づき作成・公開されているものであることから，データ数に限りがあり，追加収集も困難であるという問題がある．

こともある．メーカーや企業は不具合の発生を防ぐため，過去

そこで，本論文ではそれらの欠点を補うために，個人が自由の不具合事例等の情報を製品製造に取り入れ，信頼性の向上にに情報を発信することができる CGM (Consumer Generated

活用している [1]．安全な製品の開発を支援するためにも，不具Media) に着目し，その中でも情報源に Twitter を用いた情報合に関する情報を多く収集することは重要である．

抽出手法を試みる．Twitter は，今していることや感じたこと製品の不具合情報収集に関連する研究として，新聞を対象にを 140 文字以内で投稿する「マイクロブログ」と呼ばれるコ

交通事故の記事から事故の原因となる表現や関連情報を抽出す

ミュニケーションサービスであり，多くのユーザにより大量のる研究 [2], [3] や，不具合事例文から製品・部品を示す語を抽出情報が発信されている．現在，国内のユーザ数は 3000 万人以する研究 [4] などが行われている．しかしながら，新聞などの上，一ヶ月の日本人の総ツイート数は 2012 年 6 月の時点で 1

一般メディアを対象とした場合，不具合の発生から記事として億件を超えており，一般のメディアには登場しない個人の経験公開されるまでに時差がある，一般メディアには出現しない不に基づく不具合情報も Twitter 上に存在すると考えられる．

具合事例が多く存在する可能性がある，などの問題がある．ま

本研究では，Twitter から製品の不具合情報を抽出することた，その他の情報源として，公的組織が独自に不具合情報を収を目的とし，機械学習による手法を Twitter に適用した場合集し，不具合事例集として情報を保持している場合がある．その問題点について考察するとともに，機械学習とは異なるア—1—

図 1 国土交通省の不具合事例．

プローチとして，ルールベースによる抽出手法を提案する．まいる部分そのものが省略されている場合も存在する．例を次にず，情報抽出の分野で一般的な手法である機械学習を用いて，示す．

Twitter からの不具合情報の抽出を行う．得られた結果につい•あぁ〜あ、俺の車が (。¿д¡)てエラー分析を行い，Twitter というサービス自体の特性や，この例では，具体的に車がどうなったのかについては書かれてTwitter 上の不具合情報の持つ特徴から，機械学習によるアプいないものの，困ったような顔文字が出現していることから不ローチの問題点について考察する．また，それらの分析を基具合や事故などが起きたのではないかと推測できる．また，顔に，機械学習とは異なるアプローチとしてルールベースの抽出

文字と同様の使い方で「…」が使われていたり，症状の記述を手法を提案する．機械学習による手法についての考察で得た，省略して，不具合を示す写真の URL が添付されていたりする

Twitter 上の不具合情報の特性をもとに，抽出ルールを人手で場合などもある．省略が用いられている場合は，顔文字やその作成し，実際に抽出実験を行うことで精度を検証をする．

他の記号などから文の極性を測ったり，前後のツイートを見る

2. 本研究で抽出対象とする不具合情報などして，不具合らしさを推測する必要がある．

2. 2 対象とする不具合情報の定義

Twitter 上に出現する不具合情報は，一般メディアのものとTwitter 上の不具合情報は一般メディアのものに比べて非常は大きく異なる特徴を持つ．ここでは，一般メディアの不具合に多様であり，曖昧な表現をされる場合もある．よって，ここ情報と比較しながら，Twitter 上の不具合情報の持つ特徴につでは本論文で扱う不具合情報を次のように定義する．

いて述べ，本研究で扱う不具合情報について定義する．

［条件 1］ 不具合対象が同ツイート内に存在している

2. 1 一般メディアの不具合情報との比較

Twitter では一度のつぶやきが 140 文字以内という制限があ

新聞記事や不具合事例をまとめたサイトの不具合情報は，多り，短い文を気軽に投稿できるという特徴がある．そのため，くの場合，不具合対象とその症状について詳しく明記しており，時に一連の話題が複数ツイートに分けて投稿される場合がある．

標準的な日本語で記述されている（図 1 参照）．それに対して，例えば不具合対象についての記述と，症状についての記述が複Twitter 上で見られる不具合情報には，具体的な症状の記述の数ツイートに分けて投稿される場合がある．今回はそのような省略や，Web 特有の表現の使用など，Twitter ならではの特徴ケースは対象外とし，少なくとも同ツイート内に不具合対象がが強く反映されている．ここで，Twitter 上の不具合情報の特出現しているものを対象とする．

長について，具体的な事例を示しながら説明する．

［条件 2］ 症状の記述の省略を認める

2. 1. 1 Web 特有の表現
Twitter 上のテキストにはネットスラングや顔文字といった具体的な症状の記述が省略されている不具合情報は，情報の信頼度や確かさといった点では疑問があるものの，Twitter なWeb 特有の表現が頻繁に出現する．Web 特有の表現が用いららではの興味深い表現であるといえる．少なくとも顔文字やれている例を次に示す．

「…」など不具合を連想させるようなその他の付加要素がある•

あと遂に車があかんわ www ブレーキ踏んだら轟音がwwwwww 怖すぎ笑えん (´；ω；‘)Twitter 上の不具合情報では，特に悲しんでいる顔文字や驚いた顔文字，落ち込んでいる感情を表す記号などが特によく用い場合に限り，具体的な不具合の症状の記述が省略されている場
合でも，不具合情報として扱う．

3. 機械学習による不具合情報抽出られる．また，文全体としてネガティブな極性を持ちやすい不ここでは，機械学習を用いた不具合情報の抽出方法について具合情報だが，笑いを意味する「ｗ」という記号が用いられる述べる．機械学習により作成した分類器に対し，実際の Twitterこともある．

上のリアルなデータを適用し，その結果について考察を行う．

2. 1. 2 比 喩 表 現

3. 1 手Twitter 上の不具合情報では，不具合の症状の記述に比喩表機 械 学 習 器 に は SVM [5] を ，実 装 の た め の ツ ー ル に は現が用いられることがある．症状の記述に比喩表現が用いられ

SVMlight [6] を使用する．我々は，先行研究において顔文字ている例を次に示す．

やネットスラングといった Twitter 特有の特徴を考慮した複•

こんな時に車のバッテリーが死ぬなんて法

数の素性を組み合わせた分類器を作成したが，BoW(Bag of

この例では，本来「バッテリーがあがる」と書くべきところに，Words) だけを用いた場合に対する有意性は見られなかった [7]．

「死ぬ」という比喩表現が用いられている．同様な意味で「逝っよって，今回の実験では素性として BoW のみを用いるものとた」や「終わった」などの比喩表現が用いられることもある．

する．

2. 1. 3 具体的な症状の記述の省略

3. 2 先行研究の実験設定とその結果Twitter 上の不具合情報では，具体的に症状について述べて分類器の訓練データには，Twitter から人手で収集した不具—2—

合情報（以降，正例）と，Twitter から機械でランダムに収集しせたり，正例に学習コストを付加した場合には，再現率が低下た不具合情報ではないツイート（以降，負例）をそれぞれ 450 件してしまう問題がある．

ずつ，計 900 件を用いた．また，検定方法には，leave-one-out

機械学習による手法において，総合的に精度を向上させるに法による交差検定を用いた．先行研究で作成した分類器の，訓は，正例・負例ともにデータ数を増加させることが最も重要で練データに対する再現率と適合率，F 値を表 1 に示す．素性あるが，人手による正例の収集には大きなコストがかかり現実として BoW のみを用いたシンプルな分類器でも，F 値が約的ではない．また，膨大なノイズ（無関係なデータ）の中から，90%と非常に高い精度になっているのがわかる．

ごく一部の不具合情報を取り出すという問題設定に対し，機械表1

先行研究で作成した分類器の精度．
再現率 適合率 F 値0.880.980.93

学習によって二値分類問題として解こうとするアプローチは適切ではない可能性がある．訓練データの集めづらさや，データのバランスを考慮すると，今回のタスクにはパターンマッチング等を用いた抽出問題としてのアプローチが適していると考えられる．

3. 3 追 実 験
先行研究において作成した分類器は，訓練データに対して非常に高い精度で不具合情報を分類することに成功した．しかし，訓練データに強く依存した分類モデルになってしまっている可能性があるため，Twitter 上のリアルなテストデータを適用することで，再度精度を検証する．

4. ルールベースの手法による不具合情報抽出
ここでは，ルールベースの手法による不具合情報の抽出方法について述べる．ルールベースの手法では，人手で不具合情報の抽出ルールや抽出パターンを作成することで，不具合情報を抽出する．まず，不具合の対象となるドメインごとに不具合

3. 3. 1 実 験 設 定
テストデータとして，Twitter から自動で収集したツイート30000 件を用いる．テストデータはアノテーションしていない完全未知なデータであるため，分類器が抽出した結果について人手で不具合かどうかのアノテーションを行い，適合率のみで評価を行う．の症状や製品の異常を表す表現の収集を行い，不具合表現辞書を作成する．次に，ドメインごとに不具合情報の特徴を分析し，不具合らしさをより強める働きを持った副詞や修飾子を不具合ブースト表現として収集する．さらに，ドメインの不具合情報ではないその他のツイートから，正常な動作を表す表現をストップワードとして収集する．最後に，不具合表現と不具

3. 3. 2 実 験 結 果
分類器に，未知のテストデータを適用した場合の結果を表 2に示す．訓練データに対する精度は非常に高い値であったのに対し，未知のテストデータを適用した場合には大きく適合率が低下している．

合ブースト表現，ストップワードをそれぞれ組み合わせ，抽出ルールを作成する．

4. 1 不具合表現の収集
不具合情報において，不具合の症状や製品の異常を表す表現を不具合表現と定義する．不具合情報の抽出において，不具合

表 2 分類器にテストデータを適用した場合の精度．

表現を認識することは重要であるが，不具合を表す表現は非常抽出数 正解数 適合率に多様であり，それらを網羅的に収集するのは困難である．ま3742

た，通常は不具合らしさを持たないが，特定のドメインと共に720

0.19

出現した場合にのみ，不具合らしさを持つような表現も存在す

3. 4 機械学習による手法の問題点

る．例えば，図 2 のような例では，A の文章は不具合情報であテストデータによる検証で，適合率が非常に低い値となってり，「落ちる」が不具合表現となるが，B の文章は不具合情報でしまった大きな原因として，訓練データの単語のカバレッジがはなく，「落ちる」も不具合表現ではない．

不足していることが考えられる．テストデータ数が 30000 件であるのに対し，訓練データ数が合計 900 件と非常に少なく，訓A.「パソコンがいきなり落ちたんだけど！
！
？？？」練データから得られる単語のカバレッジが低くなってしまい，B.「マウスが床に落ちて電池飛んでった」

テストデータを適切に分類することができなかったと考えら

図 2 携帯電話の不具合対象要素の例

れる．
また，Twitter 上における実際のデータのバランスを考慮す

このように，特定のドメインに強く依存した不具合表現も存ると，訓練データにおける正例と負例の比率が等しくなって在するため，単純に不具合を示す可能性のある表現のみを収集いるのも適切ではない．Twitter 上において不具合情報は，全しても不十分であり，ドメインとの関係についての知識も必要体のごくわずかな割合でしか存在しておらず，Twitter 上のほとなる場合がある．

とんどの情報は不具合とは無関係な情報である．よって，訓練

そこで，本手法では不具合の対象となるドメインごとに不具データにおいても，実際の Twitter 上の環境と同じように，負合表現を収集，辞書を作成する．不具合表現は非常に多様であ

例のデータ数が正例よりも多いほうが望ましい．または，機械るものの，ドメインによっては出現する不具合表現が偏ってい学習において正例に対して学習コストを付加することも有効でたり，限定的である場合がある．よって，1 つのドメインごとあると考えられる．しかし，訓練データの負例の割合を増加さに不具合表現の分析・収集を行うことで，収集がしやすくなる—3—と考えられる．また，ドメインと不具合表現を関連づけて扱う

体や Web 特有の表現の影響で非常に解析しづらく，意味的関ことにより，ドメインに対して無効な不具合表現によって誤っ係の認識を行うのはコストが大きい．そこで，ここでは不具合た情報を抽出してしまうことを防止できる．具体的には，次のらしさを強調，または減少させている要素に着目し，それらの手順で不具合表現の収集を行う．

有無を判別することでこの問題を解決する．

（ 1 ） 不具合の検索対象となる製品の決定．

村上らの研究 [8] では，「突然」や「頻繁に」といった，不具（ 2 ） 不具合対象要素の収集．

合や想定外の事態を示唆するような働きを持った連用修飾表現（ 3 ） 不具合表現の獲得．

を収集し，その修飾関係から不具合を表す動詞を収集するといまず，「携帯電話」や「自動車」など，不具合の対象となる製うアプローチをとっている．そこで，本研究では「突然」など品を決定する．次に，その製品の中で不具合の対象となり得るのような，不具合情報に多く出現する修飾表現やフレーズを，要素（以降，不具合対象要素）を収集する．1 つの製品でも，通不具合ブースト表現として収集し，不具合表現と合わせて不具常は様々な部品や部位から構成されており，それぞれで発生す合情報の判別に利用する．例えば先程の図 4 の C の文章では，る不具合にも違いがある．よって，不具合表現もその製品単体「勝手に」という副詞が不具合表現「落ちる」を修飾しているではなく，製品の持つ様々な部分的要素ごとに関連付けて考えことで，文章全体の不具合らしさが強調されている．よって，る必要がある．不具合対象要素の具体的な収集方法として，製不具合表現「落ちる」にとって「勝手に」という副詞は不具合品に関連のあるツイートを収集し，正規表現を用いて製品名のブースト表現であるといえる．

直後にくる要素を抜き出し，その中から不具合と関連のあるとさらに，不具合ブースト表現とは逆に，不具合らしさを減少思われるものを人手で選別する．例えば，スマートフォンにおさせたり，無くしたりさせる表現も存在する．それらの表現はける不具合対象要素の例としては次の図 3 のようなものがある．

ストップワードとして収集し，不具合ではない情報の誤抽出を防止するために用いる．例えば，先程の例の D の文章では，「充電源，充電，画面，バッテリー，ボタン，調子電切れて」という部分が，不具合らしさを無くさせる働きをし図3ている．よって，不具合表現「落ちる」にとって，「充電切れて」

スマートフォンの不具合対象要素の例．

はストップワードとなる．
不具合対象要素を収集したら，次にそれぞれの要素を含むツ

不具合対象要素と不具合表現の関係に加え，不具合ブーストイートを収集・分析し，人手で不具合表現を抽出する．製品と要素とストップワードの有無も考慮することで，単純に不具合その部分要素を含むツイートという条件を設けることで，出現表現の有無だけでは解決できないような事例でも適切に対応する不具合表現も比較的限定的になり，収集が行い易くなる．

することが可能になると考えられる．不具合ブースト表現とス

スマートフォンの各不具合対象要素ごとの不具合表現の例を表

トップワードは，不具合表現を収集する際に人手で獲得し，不3 に示す．

具合要素と不具合表現と関連付けて保持しておく．

表 3 携帯電話の不具合対象要素と不具合表現の例
不具合対象要素

4. 3 抽出ルールの作成
不具合表現，不具合ブースト表現，ストップワードをそれぞ不具合表現などれ収集したら，入力となるツイートに次の手順で処理を行うこ

充電出来ない ， すぐになくなる

電源落ちる ， 消える

画面

映らない ， 真っ暗になるなど（ 1 ） 不具合対象要素の決定．

ボタン

反応しない ， 押せないなど（ 2 ） 不具合表現のマッチング．などとで不具合情報を抽出する．

（ 3 ） 不具合ブーストワード・ストップワードのマッチング．

4. 2 不具合ブースト表現とストップワードの収集

まず，不具合の対象となる要素が何なのかを決定する．これは，不具合情報には，ドメインとそれに関連のある不具合表現の不具合対象となる製品を決定した際に収集した不具合対象要素知識だけでは解けない事例が存在する．例えば，次の図 4 のよのリストをもとに，パターンマッチングによって決定する．不うな場合である．

具合対象要素が何であるかがわかったら，次に，その不具合対象要素に関連のある不具合表現が出現しているかどうかを判

C.「スマホの電源が勝手に落ちるのなんでー？」

定する．さらに，不具合対象要素と不具合表現に，何らかの不D.「スマホ充電切れて電源落ちたー (--)」

具合ブースト表現またはストップワードが関連づいている場合

図 4 不具合表現だけでは解けない例．には，それらの有無についてもマッチングを行い，ブースト表現が出現している場合には不具合情報として抽出し，ストップ

この例ではどちらの文章にも「電源」という不具合対象要素ワードが出現している場合は不具合ではないとして抽出しない．と，「落ちる」という不具合表現が出現している．しかし，C の不具合ブースト表現やストップワードが関連づいていない場合文章は不具合情報であるが，D の文章はあくまで正常な事象でには，不具合表現が出現した時点で不具合情報として抽出する．

あり，不具合情報ではない．このように，不具合対象要素と不例として，4. 2 節の図 4 にある文章 C を不具合情報として具合表現の有無に加え，文章の意味的関係を考慮しなければ解抽出する際のイメージ図を図 5 に示す．まずスマートフォンにけない事例も存在する．しかし，Twitter の文章は口語的な文おける不具合対象要素として「電源」がマッチし，さらに「電—4—図5

ルールによる抽出のイメージ図．

源」に関連のある不具合表現の中から「落ちる」がマッチする．

作成するのではなく，特定のドメイン単位でルールを作成する

さらに，「電源」と「落ちる」に依存する不具合ブースト表現とため，適用するテストデータを変更しても精度が大幅に低下しして「勝手に」がマッチし，最終的に不具合情報として判断さづらいと思われる．さらに，それぞれの手法の抽出結果を比較れる．

してみると，ドメインに強く依存した不具合表現が用いられて

4. 4 実験いる不具合情報は，機械学習では抽出に失敗している場合が多

4. 4. 1 実 験 設 定

かったが，ルールによる抽出ではそういった事例も正しく抽出作成した抽出ルールで，実際に Twitter 上で収集したデータができていた．

から不具合情報の抽出を行い，有効性を検証する．機械学習にルールによる手法の課題としては，抽出数が少ない点があげよる手法と比較するため，不具合の対象となるドメインやテスられる．未アノテーションのテストデータのため正確な再現率トデータなどは同じものを用いる．不具合の対象は，「車」「パは不明だが，機械学習による手法よりも抽出数が少なく，30000ソコン」「携帯電話（スマートフォン）」の 3 種類とし，テスト件というテストデータの数から考えても，まだ抽出に失敗してデータには Twitter から収集した未知のツイート 30000 件を用いる不具合情報が多数存在していると考えられる．しかし，今いる．

後もエラー分析を重ね，不具合表現や不具合ブースト表現など

4. 4. 2 実験結果と考察のさらなる獲得を続けることで，確実に再現率は向上していく

ルールによる手法で，テストデータから不具合情報を抽出しと思われる．また，ルールによる手法の高い適合率を利用し，た結果を表 4 に示す．抽出数こそ機械学習による手法に比べ少ルールによる手法を大量のデータに適用し，獲得した不具合情ないものの，非常に高い適合率で不具合情報を抽出できること

報を機械学習の訓練データとして利用することで，同時に機械が確認できた．ただし，30000 件のテストデータに対し，抽出学習による手法の制度改善にもつながっていくと考えられる．

数が 474 件と少なく，再現率においてはまだ改善の余地がある

現在はルールによる手法と機械学習による手法を独立させて用といえる．今後は不具合表現の収集とルールの拡張を続け，再いているが，今後は 2 つの手法を組み合わせた手法に関しても現率の向上を目指す．

検討していきたい．

表 4 ルールによる手法の実験結果．
抽出数 正解数
提案手法

474444

さらに，応用タスクとして Web 特有の表現を不具合表現と適合率して活用することが挙げられる．Twitter 上の不具合情報には，0.94

不具合表現さえ省略され，顔文字や記号，長音化などの現象により置き換えられているような事例が存在する．それらの情報は，前後のツイートを見なければ，それ単体で不具合表現かど5. 考

察うかを判断することができないが，顔文字などの種類によって機械学習による手法では，テストデータを適用すると大幅には不具合を暗に示しているような文章も存在する．そういった適合率が低下したのに対し，ルールによる手法ではテストデー情報を「不具合候補」という第 2 のクラスとして抽出することタを適用しても高い適合率で抽出することができた．また，今ができれば，より Twitter の特性が現れた不具合情報の獲得が回のルールによる手法では，特定のデータに依存してルールを期待できる．

—5—

6. まとめと今後の展望
本論文では，抽出ルールを用いて，Twitter から自動的に不具合情報を抽出する手法を論じた．情報抽出において一般的な，機械学習による手法を Twitter 上のデータに適用した場合の問題点について考察し，ドメインごとの不具合表現に着目した
ルールベースの抽出手法を提案した．結果として，高い適合率で不具合情報を抽出することができたが，再現率については改善の必要があることがわかった．
今後はさらに不具合表現の収集と抽出ルールの拡張を行い，再現率の向上を目指すとともに，機械学習とルールによる手法を組み合わせた手法についても検討していく．さらに応用タスクとして，顔文字等の Web 特有の要素に着目し，不具合表現が省略されているような不具合情報の抽出も試みる．
文献[1] 粟納裕貴, 馬強, 吉川正俊,”失敗知識データベースを用いた失敗
事象の原因分析”, DEIM2012，E2-5，(2012)．
[2] 酒井浩之，梅村洋之，増山繁，”交通事故事例に含まれる事故原因表現の新聞記事からの抽出”，自然言語処理，Vol.12，No.2
pp.99-123 (2006)．
[3] 野畑周, 佐田いち子, 井佐原均, 新聞記事中の事故・事件名の自動抽出 ，情報処理学会，研究報告 2005-NL-167，pp.125-130(2005)．
[4] 大森信行, 森辰則, 不具合事例文からの製品・部品を示す語の抽出−語の実体性による分類― ，電子情報通信学会論文誌 D,Vol.J95-D No.3, pp.697-706 (2012)．
[5] Vladimir N. Vapnik ：”The Nature of Statistical LearningTheory”，Springer,New York (1995)．
[6] Joachims T：”Making large-Scale SVM Learning Practical.
In Advances in Ker-nel Methods-Support Vector Learning”，
chapter 11, MIT Press (1999)．
[7] 栗原光平, 嶋田和孝, Twitter からの不具合情報の抽出抽出 ，
電気学会情報システム研究会 IS-13, pp.63-68 (2013)．
[8] 村上拓真, 那須川哲哉, 特長的な記述を利用した問題発見手法の実現 ，電子情報通信学会技術研究報告，言語理解とコミュニ
ケーション 111(119), pp.31-35, (2011)．

—6—