情報知能学 IV 情報知能学科 白井 英俊
予定表 1.10 月 13 日:日本語処理の基礎 導入としての「情報検索」の紹介 課題:誰が理想の恋人か? 2.10 月 20 日:日本語処理の基礎:形態素解 析、文法用語、構文解析、プログラム作 成 3.10 月 27 日:正規表現の基礎 4.11 月 10 日:正規表現の応用 課題の解決
課題:誰が理想の相手か? 出典:豊田秀樹.(2008). 『データマイニング入門ー R で学ぶ最新データ解析』. 東京図 書. Q 君には 33 人の友達がいる。それぞれの性格を表した ファイルが z フォルダーにある。 data01. ときどき素直になる。少し離れた距離で見 守ってくれる。周りを良く観察している。 data02. 負けず嫌いだし勝気。嫉妬深い感じだし、独 占欲も強そう。 data03. 性格は優しい。人の気持を優先的に考えてく れる。いつも誰かのためを思って一生懸命に行動し てくれる。普段はとても明るい人。落ち着きが無い こともある。...
Q 君の理想の相手 Q 君が理想とするのは 「社交的で優しいし、俺のことを優先し てくれるけど、意外とクールな面もある 人」 さて、どのようにして、 33 人から理想の相 手を見つけるか?
情報検索 コンピュータを利用して、「必要な情報 を見つける」こと とくに、 「ユーザー(人間)の検索質問 (query )に 適合する文書 (document) を文書の集まり (document collection) の中から見つけ出すこ と」
情報検索 コンピュータを利用して、「必要な情報 を見つける」こと とくに、 「ユーザー(人間)の検索質問 (query )に 適合する文書 (document) を文書の集まり (document collection) の中から見つけ出すこ と」 Q君Q君 Q 君の友達 Q 君の友達たち 理想の 相手
情報検索処理の流れ 1. 検索に備えて文書 (document) を「表現」す る --- 索引付け (indexing) 2. 検索質問 (query) を「表 現」 --- 典型的には:索引 語の集まりとして表す 3. 文書と検索質問とを比 較して、適合するもの を返す
情報検索処理の流れ 1. 検索に備えて文書 (document) を「表現」す る --- 索引付け (indexing) 2. 検索質問 (query) を「表 現」 --- 典型的には:索引 語の集まりとして表す 3. 文書と検索質問とを比 較して、適合するもの を返す 友達の性格記述から 用語を抽出し、「語句の 集まり」として友達を 『表現』する ここでは「ベクトル空間」 モデルを用いて適合度 を計算しよう 上と同様に、『理想とする 相手の記述」から語句を 抽出し、「語句の集まり」 として『表現』する
索引付け (indexing) 文書から索引語を抽出する それぞれの文書を特徴づける索引語を漏 れなく抽出することが大事 Q 君の友達の性格記述から語句を抜き出す
索引付け (indexing) 文書から索引語を抽出する それぞれの文書を特徴づける索引語を漏 れなく抽出することが大事 それにはどのようにすればよいのだろう か? Q 君の友達の性格記述から語句を抜き出す
文書から『単語』を切り出す 英語の場合は、比較的簡単 例: THE BLACK CAT (Edgar Alan Poe) から FOR the most wild, yet most homely narrative which I am about to pen, I neither expect nor solicit belief. Mad indeed would I be to expect it, in a case where my very senses reject their own evidence. Yet, mad am I not--and very surely do I not dream. But tomorrow I die, and to-day I would unburthen my soul. My immediate purpose is to place before the world, plainly, succinctly, and without comment, a series of mere household events. In their consequences, these events have terrified--have tortured--have destroyed me.
英語の場合... 分かち書きされている 単語と単語の間は、スペースやコンマ、 引用符、ダッシュなどで区切られている UNIX のコマンド: cat ファイル | tr –sc ‘A-Za-z’ ‘\012’ | sort | uniq –c | sort -nr
日本語の場合... 分かち書きされていない 文字の種類(平仮名、カタカナ、漢字、 アルファベット、数字、句読点、記号な ど)の境目が単語の切れ目を『示唆』 しかし、たとえば「障がい者施設」は、 これで一つの単語 コンピュータで何とかやる方法はないもの か?
形態素解析器 日本語の文(や文章)を、形態素(単語より もやや細かな単位)に分け、その文法情報な どを出力するツールがある 有名なのは Juman( 京都大学で開発されたもの) ChaSen( 茶筌、奈良先端大学院大学で開発 ) MeCab( 和布蕪、京大と NTT の共同開発) このうち、 ChaSen と MeCab は理系ネットワークの コンピュータにインストールされている
ChaSen の実践 WinCha という ChaSen の GUI (グラフィカ ル・ユーザー・インタフェース)を用い る 次の文を形態素解析する: 社交的で優しいし、俺のことを優先して くれるけど、意外とクールな面もある人
WinCha の起動画面
解析結果の例
課題 ChaSen のマニュアルを参考として (1) 「表層語、基本形、読み、発音」とは、そ れぞれどのようなものか、説明せよ。 (2) 「品詞、活用」とは、それぞれどのような ものか、説明せよ。 (3) 文書を特徴づけるために用いるには、「表 層語、基本形、読み、発音、品詞、活用」のう ち、どれが適切だろうか? (4) 「オプション」の欄に表示される記号の意 味は?
単語から索引語へ 形態素解析器を用いて、日本語の文(や文 章)から、単語 ( 正確には形態素)が切り 出せることは分かった しかし、単語=索引語だろうか? つまり、切り出した単語をそのまま、『文 書』を特徴づける「索引語」として用いて も良いのか?
単語から索引語へ (2) 33 個の文に現れる単語のリスト 次回で紹介するプログラムを走らせると、 33 個の 文( Q 君の友達の性格記述)に現れた単語 ( 記号を 含む ) と出現頻度は、多いものから少ないもの順に、 以下: 93: 。 41: だ 35: に 34: の が 33: て 21: する...
単語から索引語へ(3) ストップワード (stop word) : 不要語 記号や、助詞、助動詞「だ」、ある種の 名詞(「こと、の」など)や、ある種の 動詞 ( 「ある」など)、ある種の形容詞 ( 「ない」など)は、どの文書でも出現頻 度が高い 言語学的な用語: 機能語 (function word) と 内容語 (content word) の違い ストップワード(不要語)は、文書を特徴 づけるのに役に立たない
索引付け (indexing) 検索に備えて文書 (document) を「表現」する --- 索引付け (indexing) それぞれの文書において、 どのような索引語が何回くらい出現してい るか を調べる 索引語の頻度が「文書を特徴づける」
検索質問 (query) の「表現」 検索質問 (query) を「表現」 --- 文書の『表現』と同様、どのような 索引語が何回くらい出現しているか、で 表現する
索引語ー文書行列 索引語ー文書行列:行は索引語、列は文書に 対応付けた行列 (matrix) 語句ー文書行列ともいう。どちらも、 term-document matrix の訳 例: d1 d2 d3 d4 d5 t t tn d2 における索引語 の出現頻度。 n次元「ベクトル」と みなせる t2のそれぞれの 文書での出現頻度 ここでは 5 次元 ベクトル
ベクトルの「類似性」 2 次元ベクトル a,b の類似性 ( どんな関係なら 「似ている」か ) を考えよう 確認:ベクトルは、向きと大きさをもつ ab (1) a b (2) a b (3) a b (4)
ベクトルの類似性は ベクトルの間の『角度』で決まる でも角度をどのように求めるか … 次回までに復習しておくこと (1) ベクトルの内積の計算方法 (2 次元ベクト ルだけではなく、多次元ベクトルでも計算で きること) (2) 二つのベクトルの間の『角度』の求め方 ヒント:角度の cosine の値でもよい
今日学んだこと 情報検索の基礎 文書から索引語を抽出する方法 索引語の抽出における「形態素解析」の 役割 ChaSen の使用方法 索引語 - 文書行列 索引語の類似性と文書の類似性の考え方
作業 今日学んだことを『文章』として、 あてに、題名「情報知能学4」として送る そのレポートには、学籍番号と氏名を 1 行目に 書く そのレポートに、 ChaSen の課題 ( スライド 18 枚 目)に対する自分の答えを書く できれば、ベクトルの内積、ベクトルの間の 角度の計算方法も調べて(思い出して)書く 締め切りは、 10 月 17 日(土)昼 12 時