解説資料

情報知能学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)の中から見つけ出すこ
と」
情報検索
• コンピュータを利用して、「必要な情報を見つ
ける」こと
• とくに、
理想の
相手
Q君
「ユーザー(人間)の検索質問(query)に適合
Q君の友達
する文書(document)を文書の集まり
Q君の友達たち
(document
collection)の中から見つけ出すこ
と」
情報検索処理の流れ
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 today 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)
語句ー文書行列ともいう。どちらも、termdocument matrixの訳
d2における索引語
例:
d1 d2 d3 d4 d5
の出現頻度。
n次元「ベクトル」と
t1 1
0
5
2
3
みなせる
t2 0
3
0
4
0
t2のそれぞれの
.................
文書での出現頻度
ここでは5次元
tn 0
5
0
3
2
ベクトル
ベクトルの「類似性」
• 2次元ベクトルa,bの類似性(どんな関係なら
「似ている」か)を考えよう
• 確認:ベクトルは、向きと大きさをもつ
(1)
a
(2)
b
a
b
(3)
a
(4)
b
b
a
ベクトルの類似性は
• ベクトルの間の『角度』で決まる
でも角度をどのように求めるか…
• 次回までに復習しておくこと
(1) ベクトルの内積の計算方法(2次元ベクトルだ
けではなく、多次元ベクトルでも計算できること)
(2) 二つのベクトルの間の『角度』の求め方
ヒント:角度のcosineの値でもよい
今日学んだこと
• 情報検索の基礎
文書から索引語を抽出する方法
索引語の抽出における「形態素解析」の役割
ChaSenの使用方法
索引語-文書行列
索引語の類似性と文書の類似性の考え方
作業
• 今日学んだことを『文章』として、
[email protected]
あてに、題名「情報知能学4」として送る
• そのレポートには、学籍番号と氏名を1行目に書く
• そのレポートに、ChaSenの課題(スライド18枚目)に
対する自分の答えを書く
• できれば、ベクトルの内積、ベクトルの間の角度の計
算方法も調べて(思い出して)書く
• 締め切りは、10月17日(土)昼12時