『自然言語処理の基本と技術』第2章まとめ
#『自然言語処理の基本と技術』
自然言語処理の基礎知識
/icons/hr.icon
2-1 コーパスと辞書
コーパス
均衡コーパス
現代日本語書き言葉均衡コーパス(BCCWJ)
BrownCorpus
大規模なコーパスを利用した処理が一般的(コンピュータの性能、ストレージの向上)
辞書
目的を持って集められた語句のリスト
形態素解析用辞書などもある
MRD(Machine Readable Dictionary)とも呼ばれる
/icons/hr.icon
2-2 知識獲得
知識獲得
文字列を処理することで、コンピュータにとって有益な知識の状態にすること
語彙の知識
語彙と語彙の関係
語彙の知識の獲得
分布類似度
語彙の類似度を推測する
類似度の高い語をまとめてグループを作る = 単語のクラスタリング
単語のベクトル表現を大規模なテキストから自動的に学習する
なかでもSkip-gramモデルが人気
Skip-gramモデルのOSS word2vec は手軽で幅広く応用されている
語彙統語パターン
上位下位関係の抽出においてよく使われる考え方
HTMLなどの構造化文書を利用する
句・文などの関係性の獲得
「言い換え」が重要
たとえば、「Xの著者はYである」と「YはXを書いた」は言い換え表現の関係
「言い換え」を支える言語資源たち
シソーラス
WordNetが最も有名
オントロジー
セマンティックWeb
FOAF(FriendofaFriend)
知識ベース
/icons/hr.icon
2-3 情報抽出
情報抽出とは
自然言語から構造化された情報を抽出する技術
固有表現抽出、関係抽出、イベント情報抽出など
イベント情報抽出
自然言語から、ある出来事の参加者や時間などを抽出する技術
課題
1. 自然言語で出来事を表現する方法(パターン)は無数にある
全てを網羅するのは難しい => 高い精度で抽出するのは難しい
2. 対象となる分野に依存する
例えば「新商品発売情報用の抽出パターン」は「災害発生時のイベント抽出」には全く使用できない = 分野適用問題
/icons/hr.icon
2-4 テキストマイニング
テキストマイニングはテキストを対象としたデータマイニング技術
企業が収集した「お客様の声」を解析し、そこに含まれる単語を洗い出したり、その単語を肯定的・否定的な意見に分類したり、その数を統計処理したりといった処理がテキストマイニングの典型例です。
感情推定・評判分析については7章で解説
/icons/hr.icon
2-5 形態素解析
単語分割の重要性
「文」ではなく「単語」で扱った方が意味のある正確な情報を得ることができる
特に日本語において重要
英語はスペース区切りだから楽。
日本語はスペースがないから分割するのがしんどい
英語圏で開発されたツールを日本語に適用するとエラーになるケースも
形態素解析
単語分割+品詞付与
MeCab
形態素解析のOSS
分かち書き
東京オリンピックが決まった -> 東京 オリンピック が 決まっ た
未知語対策
辞書に登録されていない新語や人名は分割に失敗しやすい
IPA辞書
新聞記事を基準に編集されている辞書。くだけた表現に弱い
mecab-ipadic-neologd
Web上の言語資源から収集したMeCab用の辞書。
MeCab以外のソフトウェア
KyTea
JUMAN
/icons/hr.icon
2-6 構造解析の技術
文の構造の曖昧性
単語と品詞がわかっても、文全体での曖昧さは残る
例えば 白い表紙の新しい本 という文章
白い表紙 の 新しい本
表紙の新しい、 白い本
新しくて白い表紙 の 本
などの解釈がある
構造を解析する代表的な技術 = 係り受け解析、句構造解析
係り受け解析
係り受け構造(=単語間の関係)を自動的に付与する技術
左から右へ解析する方法
shift or reduce を選択しながら解析する
shift-reduce法とも呼ばれる
精度は高くないが解析スピードが早い
文全体の係り受けを同時に解析する方法
単語の組み合わせを列挙して係り受け関係を機械学習に基づいて計算する
最小全域木に基づく係り受け解析(MST法)
精度は高いが解析スピードが遅い
この手法のソフトウェア = Eda(日本語向け), MSTParser(英語向け)
句構造解析
句(単語列)に着目して文の構造を解析する
ご飯を食べた = 動詞句
ご飯を食べた男 = 名詞句
英語解析において広く利用
Stanford Parser, Berkeley Paeser
日本語のような語順が比較的自由な言語では句構造より係り受け構造で扱う方が自然であると言われており、句構造解析はあまり利用されていません。
/icons/hr.icon