Upgrade to Pro — share decks privately, control downloads, hide ads and more …

B3ゼミ1回目~日本語における形態素解析について~

F0374c992b2847f78a662cc964171343?s=47 nishi-k
January 07, 2016
140

 B3ゼミ1回目~日本語における形態素解析について~

発表日2016年1月7日

F0374c992b2847f78a662cc964171343?s=128

nishi-k

January 07, 2016
Tweet

Transcript

  1. B3勉強会 第1回 2016年1月7日 ~日本文の形態素解析について~ 自然言語処理研究室 学部3年 西山 浩気

  2. はじめに • 使用した書籍 - 黒橋 禎夫, 自然言語処理 • 発表内容 1.

    “語”の分け方 2. 日本語の形態素解析の手法 3. 未知語処理
  3. 語の区切り方 • 英語の場合 - 空白で区切ったものが語 例: I | bought |

    a | book | . • 日本語の場合 - 空白がないため ・ 何を語とするか ・ 複数の語をまとめたものをどのように区別するか  例: 本棚 → “本” + “棚” もしくは “本棚” が問題 → 自然言語処理の第一歩は文章がどのような語から構成されるかを明らかにす ること → 語の中のさらに小さな単位(形態素)で考える必要がある
  4. 形態素 • 形態素 とは - 言語の意味の最小単位 - 語はひとつ以上の形態素から構成される • 自立語(内容語)

    - 独立した意味を持つ語, 文法的な機能はない - 名詞, 動詞, 形容詞, 副詞など • 付属語(機能語) - 文法的な機能を持つ語, 語彙的な意味は持たない - 助動詞, 助詞, 前置詞など • 接頭辞と接尾辞 - 例: ま冬 , 美しさ
  5. 形態素解析 • 形態素解析とは - 語の区切り・品詞・活用形などを求める処理 - 文の構成を知る • 形態素解析に用いる辞書 -

    単語辞書: 単語の表記, 品詞, 活用などの情報 - 連結可能性辞書: どのような単語または品詞・活用が日本語 文中で連続して出現するかを記述
  6. 形態素解析の手順 • 例: ねたら元気になった 0 ね • 単語辞書を参照し、入力文の各文字から始まる文字列で単語辞書に マッチするものを全て取り出し各候補のノードを作る •

    文頭と文末には仮想的なノードを作る ね(名詞:根) 文末 ねた(動詞:ねる) ねたら(動詞:ねる) 文頭
  7. 形態素解析の手順 • 例: ねたら元気になった 0 ね 1 た 2 ら

    3 元 4 気 5 に 6 な 7 っ 8 た 9 。 • 入力文の各位置においてその位置までの左にある語候補と右にある語候 補が連結するものであるかどうかを連結可能辞書で調べる • 連結可能であればリンクする • 連結可能でないものはリンクが貼られない 文頭 ね(名詞:根) たら(名詞:鱈) 文末 ねた(動詞:ねる) ら(接尾辞) ねたら(動詞:ねる) 元気 に(助詞) なった (動詞:になる) になった(動詞:になう) ラティス構造
  8. 形態素解析の手順 • 例: ねたら元気になった 0 ね 1 た 2 ら

    3 元 4 気 5 に 6 な 7 っ 8 た 9 。 • パス(リンクされたノードの並び)が文頭から文末までつながっている - 連結可能性がある(日本語として認められる解釈) - 実際にはありえない解釈 → 適切なパスを選択する必要がある 文頭 ね(名詞:根) たら(名詞:鱈) 文末 ねた(動詞:ねる) ら(接尾辞) ねたら(動詞:ねる) 元気 に(助詞) なった (動詞:なる) になった(動詞:になう)
  9. 適切なパスの選択 • 解決策 - 形態素やその連接にコストを与え、そのコストが最小となるパスを選択 する • コストの与え方 - 付属語のコストを1

    , 自立語のコストを4とする - 連接コストを1, 「名詞 + 動詞」のようなあまりテキスト中に出現しない 連接を4とする。 • コストの与え方としてコーパスに基づく学習の方法もある。
  10. 適切なパスの選択 • 例: ねたら元気になった 0 ね 1 た 2 ら

    3 元 4 気 5 に 6 な 7 っ 8 た 9 。 • ラティス構造から全てのパスを列挙し、最もコストの小さくなるパスを探す - 組み合わせ爆発が生じるため不可能 - 効率的にコストが最小のパスを選択する必要がある → ビタビアルゴリズム 文頭 ね(名詞:根) たら(名詞:鱈) 文末 ねた(動詞:ねる) ら(接尾辞) ねたら(動詞:ねる) 元気(名詞) に(助詞) なった(助詞) になった(動詞:になう) 4 1 1 4 4 1 4 1 1 4 1 1 1 4 1 1 4 4 1
  11. ビタビアルゴリズム • 例: ねたら元気になった 0 ね 1 た 2 ら

    3 元 4 気 5 に 6 な 7 っ 8 た 9 。 • 文頭からある地点までの経路で最もコストの少ない経路を選択する - 文頭から”元気” , “元気”から文末 • その地点までの最短距離を覚えておくだけで良い - 組み合わせ爆発を防ぐことができる 文頭 ね(名詞:根) たら(名詞:鱈) 文末 ねた(動詞:ねる) ら(接尾辞) ねたら(動詞:ねる) 元気 に(助詞) なった(助詞) になった(動詞:になう) 4(5) 1(1) 1(1) 4(10) 4(5) 1(x) 4(5) 1(11) 1(6) 4(10) 1(11) 1(12) 1(13) 4(17) 1(18) 1(19) 4(18)
  12. 未知語処理 • ラティス構造の問題点 - 解析文のある部分が単語辞書に含まれている必要がある - 実テキストには固有名詞・専門用語・ネット用語 - 未知語: 単語辞書に登録されていない語

    →未知語があるばあいラティス構造が作られない
  13. 未知語処理 • 解決策1 - 入力文の全ての部分に対して擬似的なノードを作る - 大きなコストを与えておく - 漢字連続, カタカナ連続を一語とする

    → 辞書中の解釈のほうがコストが小さいため優先
  14. 未知語処理 • 解決策2 • 単語辞書中の単語への帰着 - 未知語の一部は単語辞書中の語へ置き換えが可能 例(複合語): 松葉ガニ →

    松葉 | ガニ      ガニ → カニ - ある位置で左に名詞、次の文字がひらがな、カタカナの濁音 であればそれを清音化
  15. 辞書の自動拡充 • 未知語は非常に多い(JUMANではWikipediaから18万語) - 手作業で行うことは現実的でない - 自動化する必要 • 例: Wikipedia

    の見出しから辞書へ追加する(140万語) - 全て登録するのは際限がない! → 基準を設ける必要がある
  16. 辞書の自動拡充 • 自動拡充の基準 例1: 複合語と固有名詞 - 京都大学 → 京都 |

    大学 : 複合語なので登録の必要はない - 爽健美茶 → 爽 | 健 | 美 | 茶 :固有名詞として登録 例2: カタカナ語 - フットサル → フット | サル : サルの仲間?? - サルの仲間であればネット上で似た使われ方をする - 似た使われ方をされていない場合は一語として登録
  17. 形態素解析辞書 • JUMAN - 基本単語辞書 約4万語 - Wikipediaからの自動拡充 18万語 -

    Webテキストからの自動拡充 7千語 - 定期的な自動拡充、単語辞書中の語への帰着 • 茶筅(ChaSen) , MeCab
  18. 参考文献 • 黒橋 禎夫, 自然言語処理, 放送大学教育振興会, (2015.3.20)