Comments
Description
Transcript
文献情報とテキストマイニング 考え方 背景① ~ 大量の論文・文献 背景
考え方 大量に生れる文献から 有機的に情報を取り出す 単なる検索(無機的に取り出す!)では 追いつかなくなった 文献情報とテキストマイニング 文献情報とテキストマイニング 今日のタネ本は 事例で学ぶテキストマイニング 上田太一郎 共立出版 テキストマイニングを使う技術/作る技術 那須川哲哉 東京電機大学出版局 あとはオリジナルな話 2010/6/29 背景① ~ 大量の論文・文献 2 背景② 「検索⇒人力整理」の限界 例えばPubMed/MEDLINEの論文数 例: パスウェイ(反応経路)情報抽出 MedLine Number of Citations 800000 毎月2300件 の増加 ↓ チェック しきれるか? 700000 600000 500000 400000 300000 200000 100000 0 FY1998 FY2000 FY2002 FY2004 FY2006 FY2008 http://www.nlm.nih.gov/bsd/bsd_key.html より作成 2010/6/29 3 2010/6/29 4 より知的な処理 いくつかの方向 まだ他にもあるかもしれない 問題② 検索を柔軟にし、的確な結果を得たい (次頁) 5 2010/6/29 柔軟な検索 ①ことば(単語)の問題 用語のゆれを吸収したい 例:父・父親、 犬・イヌ 同義語(類語)辞典を作っておく必要がある?? 例:「マルチーズの飼い方」vs「犬の飼い方」 犬 概念の上下関係の 辞典(知識)も必要 マル 北海 テリヤ 逆に特化したい場合: チーズ 道犬 「マルチーズの特徴」 vs「犬の特徴」 2010/6/29 XXとの一致で検索した場合 「XXは違う」や 「XXではダメだったが、YYではokである」 でも一致する ⇒ 単語の一致では、文の記述まで見ていない 人間が一致検索の結果を更に選別するのか? 7 6 柔軟な検索 ②文の記述の問題 少し広い概念で探したい 検索がうまく絞り込めず、結果が膨大なときが多く、 その時は後の処理が大変になる 結果を更にプログラム処理したいとき、自動的に 進めない (一旦人手で選ぶことが必要) 例えば文書の統計量を見る (言葉の偏りなど) 2010/6/29 マッチ ~ 完全一致を求める 問題① 検索結果から更に人手で選ぶ前提 人が介在せず、検索結果を利用・組み合わせて より高度な情報(例えばある程度の中身)を得る パターンマッチ以外の処理 現在の検索 = マッチする単語を含む文書 検索結果を人力で選別 ⇒ 自動的に的確な答 検索結果の自動利用 検索(人による)に的確な答を返す 検索: 単純な検索の問題 量が多いと大変 次の処理へそのまま渡せない(人間介在必要) 2010/6/29 8 柔軟な検索 ③内容の理解 「自然言語処理」が必要 ある論文で(XX⇒YY)と言っており 別の論文で(YY⇒ZZ)と言っている ならば、計算機は 人が書いた文章の処理⇒自然言語処理が必要 自然言語処理は情報の分野 自然言語処理の2つの流れ? 文章から(XX⇒YY)と(YY⇒ZZ)を抽出して、 さらにそれを結合して(XX⇒YY⇒ZZ)を提示して 欲しい (⇒は推論でも反応経路でも何でもいい) 計算機は 人間の言語活動をしっかり把握し、可能ならば人間の 機能を機械で置き換えたい 自然言語をうまく扱って、実社会で役立つシステムを 作りたい 後者で前述のサービスが出来るか? ある程度内容(例では⇒という関係)を理解しなけれ ばならない 2010/6/29 9 2010/6/29 自然言語処理の基礎知識(復習) 語・文・文章 自然言語処理の基礎知識(復習) 私は柿が好きだ。でも彼は嫌いだ。 語語 語語 語 語 語の問題 文の問題 文法的構造(語のつながり) つながりによる意味 文 文章 私は 柿が 好きだ 名 助 詞 詞 名 助 詞 詞 形容 動詞 助 動 詞 係り受け 文脈 指示語などの文脈中の解釈 2010/6/29 11 文法(構文規則)に従って 語の間の関係を解析する (つながりによる意味) 文章(複数の文)の分析 など 日本語の場合、語に分解(切る) 語尾変化などの認識 語の文法属性(品詞とか)を決める (語の意味) 文の分析 ← 構文解析 文章の問題 品詞(文法的性質) (語尾)変化 意味 語の抽出 ← 形態素解析 文 10 指示語などの文脈中の解釈 (文脈、場面による意味解釈) 2010/6/29 12 知的な検索 本の検索の例① 知的な文書処理のいろいろ 単純検索の拡張 形態素解析、特に語尾変化などは使われている 知的な検索 現状は「出来るところからやる」レベル 例: 語の出現頻度、「共起」の統計、 数値データ・選択肢データとの相関など さまざまな応用場面: 例~論文検索 2010/6/29 **検索 検索** 幅を広げるために、キーワードリストを別途準備 図書分類項目 ~ 上位概念の表示の効果 「明解Javaによるアルゴリズムとデータ構造」に対して BSH:プログラミング(コンピュータ) BSH:アルゴリズム 13 2010/6/29 知的な検索 本の検索の例② 14 知的な検索 本の検索の例③ 同義語・類語: 東京大学OPAC Plus "言選Web“ 更に、語として見て完全一致、前方一致、後方一致 検索 情報を取り出す (テキストマイニング) 従来: 文字列パターンとして同じものが出現 するかを判定 論文・本の検索に同義語・類語辞書を使う OMIM拡張の例 自動クラスタ化 ⇒ 「似た本」探し(連想検索) 類語・類概念を論文DBから自動抽出 https://mbc.dl.itc.u-tokyo.ac.jp/UT_OPAC_Plus_gensenweb/ 1.調査したい日本語の専門用語(フレーズ)をいれて「実行」ボタン をクリック! 2.国内学術Webサイトから調べた「関連語」とそれをキーワードに した東京大学OPACリンクを提示します。 「解説文」(帯など)に含まれる語 解説文に含む語をキーワードリストの代わりに 解説文のソースは、帯や「BOOKS」データベースなど? 2010/6/29 15 2010/6/29 http://www.keyman.or.jp/3w/prd/09/30001909/?vos=nkeyadww30000018 16 知的な検索 本の検索の例③ 知的な検索 本の検索の例④ 文書の連想検索例: WebCat Plus Webcat Plusは、国立情 報学研究所(NII)が提供す るGeNii(ジーニイ):NII学 術コンテンツ・ポータルを 構成するサービスのひとつ です。大量の情報の中か ら、人間の思考方法に近 い検索技術「連想検索機 能」を使って、必要な図書 を効率的に探すことができ るシステムが、この Webcat Plusです。 http://webcatplus.nii.ac.jp/about/top.html 2010/6/29 人間の行動頼り ~ amazon 「この本を買った人はこの本も…」 「バスケット解析」 ~ 「データマイニング」の例 <(米国で)スーパーマーケットで若い男性(?)が、 オムツとビールとを買う傾向がある> ~ 神話! 1992年、Teradata社のチームが、Osco Drug StoresのPOSデータを解析し(1.2million baskets) 5pm-7pmにビールとオムツを共に買う傾向が見ら れたが、年齢層や性別との関連は未分析、 が真実らしい。 http://webcatplus.nii.ac.jp/about_plus/top.html 17 http://www.theregister.co.uk/2006/08/15/beer_diapers/ http://www.teradata-j.com/library/insight/ins_0401.html 2010/6/29 18 (脱線)バスケット解析の最初? 2010/6/29 19 Wall Street Journal 1992/12/23 "They found that if someone in a Midwestern city buys disposable diapers at 5 p.m., the most common thing he'll buy next is a six-pack of beer," says Thomas Blischok, an NCR vice president. So to boost snack sales, the store put a kiosk of chips near the diaper aisle. "Sales of snacks in that time period went up 17%." 2010/6/29 20 「事例で学ぶテキストマイニング」第4章の例 テキストマイニング 例 例1)社説タイトルから情報を抽出する 社説(毎日新聞電子版)、形態素解析(ChaSen)、 意味分類ソフト タイトル中の単語(名詞)の頻度統計 キーワードについて、時系列分析 どんな言葉がよく出てくるか ⇒ 例 次頁 いつそのキーワードがよく出てきたか ⇒ 例 次頁 固有表現(固有名詞、数字等)とキーワードの相関 人名・地名・組織名などとキーワードとの共起頻度 2010/6/29 21 出典 「事例で学ぶテ キストマイニング 」 第4章 2010/6/29 22 2010/6/29 24 「事例で学ぶテキストマイニング」第4章の例 例2)アンケート中の自由記述項の分析 単語頻度分析、近接出現(コンコーダンス)分析 どんな言葉が多いか、どんな言葉が繋がって出てくるか アンケート中選択項目との関連の分析(相関・特徴) クラスタリングによるグループ分け 構文分析 係り受け関係の組合わせでの頻度分析 アンケート選択項目(年齢・地域…)との関連の分析 クラスタリングによるグループ分け 2010/6/29 23 テキストマイニングを使う技術/作る技術 (那須川哲哉) p116 2010/6/29 25 2010/6/29 流行: ブログ・SNS・ツイッター解析 26 面白い実験の例 ~ レポート比較 (生命・医療と関係ないが)テキストマイニング どんな言葉がトレンド(~多く使われる)か? 自製品の出現頻度は? 自製品と共に使われる(共起)ことばは? 自製品の評判は?(よい言葉vs悪い言葉) 学生の出すレポートの類似具合を測定し、 写して出したレポートを見つけたい(剽窃) 既出の技術を試してみた 単語出現頻度ベクトルの比較 http://www.cvl.cs.chubu.ac.jp/lab/study/education/similar/similar.html 参照 単語配列(遺伝子と同様に)類似性測定(英語) http://www.dcs.gla.ac.uk/publications/PAPERS/7444/TR-2004-164.pdf 参照 2010/6/29 テキストマイニングを使う技術/作る技術 (那須川哲哉) p116 27 データ不足で、評価は未だこれから 2010/6/29 28 文書比較~単語出現頻度比較 考え方: 語の出現頻度のパターンが似ているか否か で文書を比較する 例: 「考え方」、「語」、「出現」、「頻度」…が どのような出現頻度分布になるか? 文書比較~単語出現頻度比較 語wの出現頻度の指数として ここだと1回ずつで面白くないが、もっと長ければ どの単語が頻繁に出てくるか、相対的な出方を パターンとして比較することが出来るだろう。 文書ごとに、語ごとのTF*IDFを計算したベク トル(単語出現頻度ベクトル)を作る 29 1 TF*IDF TF*IDF TF*IDF TF*IDF … 2 TF*IDF TF*IDF TF*IDF TF*IDF … 3 TF*IDF TF*IDF TF*IDF TF*IDF … … TF*IDF TF*IDF TF*IDF TF*IDF … 単語2 単語3 30 文書比較~単語出現頻度比較 文書AとBの間の類似性 ← 語の出現頻度のパターンが似ている ← 文書の単語ベクトルの方向が近い ← 単語ベクトルのなす角が0に近い ←(正規化した)単語ベクトル間の内積 =|a|・|b|・cos(なす角) が1に近い(|a|,|b|=1) 2010/6/29 … 単語1 2010/6/29 文書比較~単語出現頻度比較 単語4 文書 計算法? 2010/6/29 (その文書内での)語wの出現回数TF 全文書数Nに対する、語wが出現した文書の数 DFの比率の逆数のlog IDF = log(IDF/DF) 31 文書1 文書2 cos値 s17.txt s18.txt 1.0000 s13.txt s7.txt 0.8622 s13.txt s17.txt 0.7567 s13.txt s18.txt 0.7567 s7.txt s2.txt 0.6671 s19.txt s20.txt 0.6414 文書s17: カーネルとは、OSの基本モジュールである。 (a)割り込み処理とシステムサービス及び プロセスのそれぞれの実行を管理する 「プロセスディスパッチャ」を統合した 基本機能として実現する。 OSの基本機能のうち、プロセス管理機能の 中核は、このカーネル機能として実現する。 文書s18: カーネルとはOSの基本モジュールである。 (a)割り込み処理と、システムサービス及び s13.txt s16.txt 0.6348 プロセスのそれぞれの実行を管理する s2.txt s17.txt 0.6037 「プロセスディスパッチャ」とを統合した 基本機能として実現する。 s2.txt s18.txt 0.6037 OSの基本機能のうち、プロセス管理機能の (名詞、動詞、形容詞のみで比較) 中核は、このカーネルの機能として実現する。 2010/6/29 32 文書比較~単語出現頻度比較 普通は、「特徴のある」「名詞」のみで比較 文書比較~配列比較技術の援用 よく出る「普通の」名詞は含めないで、 キーワードに相当するような語(普通語でないが この文書群の中で多用されている語)を使う 名詞の連接部分は改良が必要 「基本モジュール」は(今使っている形態素解析= 単語分割)では「基本」と「モジュール」になるが、 おそらく「基本モジュール」とした方が特徴として よく表しているだろう(?) 2010/6/29 (語が)一致すれば+1、欠失挿入と変異は-1 2010/6/29 文書比較~配列比較技術の援用 割り込み 処理 と システム サービス 割り込み 処理 と システム サービス および プロセス の それぞれ の 実行 を 管理 する 及び プロセス の それぞれ の 実行 を 管理 する 効果の測定と、2つの(もっとある?)の比較 ネットからのコピペを検出したい ネット上でどうやってコピー元を探し出すか? プロセス ディスパッチャ と を 統合 し た 「 プロセス ディスパッチャ 」 を 統合 し た 基本 機能 として 実現 する 。 O S の 管理 機能 の うち 、 基本 機能 として 実現 する 。 O S の 基本 機能 の うち 、 プロセス 管理 機能 の 中核 は 、 プロセス 管理 機能 の 中核 は 、 この カーネル この カーネル 2010/6/29 機能 機能 34 レポート写し検出で足りないこと O S の 基本 モジュール すなわち 中核 で ある 。 O S の 基本 モジュール で ある 。 狭義 の カーネル で あり 、 ( a ) DNAの時は塩基4種、タンパク質はアミノ酸20種 ここでは「語」~種類はいくらでも~別に問題ない スコア関数は(単純に考えて) 33 カーネル と は 、 アイデアは、遺伝子配列の類似性の検出 動的計画法によるSmith-Watermanの方法 が使えるはず 配列の要素として として 実現 する 。 として 実現 する 。 35 案1)先生が(出題意図から)キーワードを選び、 そのキーワードでネット検索をして上位Nサイト からダウンロードして、学生レポートと比較する 案2)学生レポートから自動的に検索キーワード を抽出し、それによってネット検索をして、上位 サイトからダウンロードして、比較する ダウンロードした本文をきれいにする必要あり 図や広告が入っていて結構難しい(API利用可能性?)36 2010/6/29