Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

形態素解析

11,221 views

Published on

形態素解析の技術

形態素解析技術については深層学習の登場により枯れた技術だと思われている中で「本当に必要である技術なのか」と様々な議論がされています。
その業界の流れの中で、なぜ徳島NLP研究所でこの技術をあえて注目し研究しているのか、着眼点・利用価値についてご紹介します。
技術自体がブラックボックスとして扱われがちですが、実際に研究していく中で得られたノウハウを開示し、形態素解析の仕組みについて解説をし、内部で利用する技術の選別/処理内容/実利用での注意点をご説明します。
実例として、形態素解析エンジンについても触れる予定です。

Published in: Technology

形態素解析

  1. 1. 形態素解析の話 2017年6月22日 ワークス徳島人工知能NLP研究所 高岡 一馬
  2. 2. 自己紹介 高岡 一馬 ワークスアプリケーションズ 徳島人工知能NLP研究所 元 茶筌メンテナ 過去4つの形態素解析 器開発にたずさわる コーパス開発 かな漢字変換 テキストマイニング
  3. 3. 3 形態素解析とは
  4. 4. 4 伝統的な自然言語処理の階層 応用技術 情報検索 翻訳 日本語校正 要約 レビュー解析 英文校正 情報抽出 Web応用 対話 要素技術 言い換え 語義曖昧性解消 固有表現抽出 照応解析 知識獲得 基礎技術 形態素解析 構文解析 述語項構造解析 Project Next NLPの資料を一部改変
  5. 5. 5 形態素解析の3要素 Segmentation ● テキストを分割 ● にわとり/は/飛ば/ない Stemming (Lemmatization) ● 語形を辞書形に ● 飛ば → 飛ぶ Part-of-speech Tagging ● 品詞を付与 ● にわとり(名詞)/ は(助詞)/ 飛ば(動詞)/ ない(助動詞)
  6. 6. 6 共通接頭辞検索とラティス 「東京都に住む」 0 1 2 3 4 5 7 BOS 東 京都 に 住む EOS京 都 東京 東 京 京 都 都 住 む に
  7. 7. 7 N-gramモデル Markov連鎖の仮定 ● ある単語列 の生起確率は ● 直前の(N-1)語までのみ依存すると近似 wn =w1 w2...wn P(wn )=P(w1)P(w2|w1)P(w3|w1 w2)... P(wn|w1 w2 ...wn−1) P(w n )=∏ n P(wi |wi−N+1 i−1 )
  8. 8. 8 その他の機能 表記正規化 ● 送りがな ● 異体字 読み付与 ● 読みがな、発音 ● 連濁 派生 ● 可能動詞 ● 自動詞、他動詞 ● 申し込み ● 申込み ● 申込 ● 高岡 ● 髙岡 ● 書ける ● 書く ● 開く ● 開ける
  9. 9. 9 既存のオープンソース 形態素解析器と辞書
  10. 10. 10 解析器と辞書 解析器 辞書 +α MeCab IPADIC NEologd UniDic NEologd JUMAN辞書 JUMANより精度がよい JUMAN JUMAN辞書 KyTea 点推定をつかったモデル IPA品詞体系にちかい
  11. 11. 11 UniDic 国立国語研究所短単位 ● かなり短めの単位、学校文法にちかい品詞体系 ● だれがタグ付けしても再現できるような定義(斉一な単位) 学習コーパス: 現代日本語書き言葉均衡コーパス (BCCWJ) ● 国語研が公開 ● 依存構造解析、述語項構造、照応解析、シソーラスなどが付加 難点 ● 短すぎ ● 分割ルールが直感的でない eg.「寿司屋」「家具/屋」 ● 固有名詞が不足
  12. 12. 12 IPADIC IPA品詞体系にもとづく ● 学校文法にちかい ● 分割長はほどほど ● 分割粒度にばらつきがある 学習コーパス: RWCPコーパス ● 非公開 難点 ● メンテナンスがとまってる ● ライセンスがOSS非互換(ICOT条項) ● 後継のNAIST-jdicも停止
  13. 13. 13 NEologd IPADICを補完 ● 固有名詞、複合名詞を1語として追加 ● 表記補正なども辞書で対応 ● UniDic版もあり Webからの語彙収集 ● システムによる自動・半自動 コスト推定 ● 単語生成コストはコーパスをつかわず調整
  14. 14. 14 JUMAN辞書 益岡・田窪文法にもとづく ● クセのある品詞体系 eg. ナ形容詞、判定詞 パラメータは人手調整 ● JUMAN++はNNも利用 付加情報が多い ● カテゴリ・ドメイン情報、派生語情報 間欠的にメンテナンスされている(らしい) ● JUMAN++では語彙追加も
  15. 15. 15 Tips
  16. 16. 16 前処理は大切 形態素解析器は脆弱 ● 文字コード ● 改行 ● 言語 ● テキストではないもの 構造情報はべつに保存しておく ● タグ、カラム情報、位置 特殊なものは専用のパーサで ● 住所 ヘ_ヘ ミ・・ ミ ( )~
  17. 17. 17 辞書への単語追加 再学習はしない ● 結果がぶれる ● コーパスの調達が手間 ● やりたいことが明確なら手で調整 コストの人手調整方法 ● 品詞をちゃんときめる(MeCabなら連接ID) ● 単語生起コストは適当でも大丈夫 ● 解析はおおむね品詞連接コストできまる
  18. 18. 18 単語追加の注意点 単語追加をさけるべき語 ● 一般的な語の品詞ちがい eg. みんな(固有名詞組織) ● 短い語 ● ひらがな語 eg. 「なのは」問題
  19. 19. 19 解析を強制したい 特定の文字列の解析を一定にしたい ● 文字列を1語で登録 ● 付加情報に分割位置を記録 ● 後処理で分割 にはにはにはにわとりがいる,1285,619,0,動詞,自立,*,*,一段,基本形, 庭に埴輪鶏がいる,ニワニワニワトリガイル,ニワニワニワトリガイル, にわ|名詞|一般|*|*|*|*|庭|ニワ|ニワ/ に|助詞|格助詞|一般|*|*|*|に|ニ|ニ/ はにわ|名詞|一般|*|*|*|*|埴輪|ハニワ|ハニワ/ ...
  20. 20. 20 つかいやすい形態素解析
  21. 21. 21 語の同定 切って、品詞つけるだけでじゅうぶん? ● こまかい品詞分類はいらない ● つかえる分割単位か ● 何につかうのかを意識する その語が何なのか ● 他の資源との関連付け ● Entity Linking, Wikification ● 同義語、概念辞書
  22. 22. 22 解析の一貫性 わかったことは出力 ● 可能性にもとづく品詞 ● 「当分」  (名詞副詞可能) ● 「当分動けない」  (副詞) 「当分の間」  (名詞) 状況にかかわらず一定 ● 検索、機械翻訳 ● 同一文字列には 同一の結果 VS
  23. 23. 23 分割の粒度 ほしい長さはアプリケーションによってちがう ● 検索 ● マイニング ● 語彙調査 既知語と未知語で粒度がかわる 非常識 名詞,一般,*,*,*,*,非常識,ヒジョウシキ,ヒジョーシキ 非 接頭詞,名詞接続,*,*,*,*,非,ヒ,ヒ 効率 名詞,一般,*,*,*,*,効率,コウリツ,コーリツ
  24. 24. 24 形態素解析器 Sudachi
  25. 25. 25 形態素解析器Sudachi 形態素解析器つくります ● オープンソース ● 開発もオープン ● 辞書もつくります ● まずはJavaで
  26. 26. 26 なぜいまさら形態素解析器を? 世の中ニューラルネットワークでEnd to End ● 独立したタスクとしての形態素解析は不要 ブラックボックスだとできないこともある ● どうしても強制したい事例 ● ピンポイントで直したい 語の同定は? ● 他の資源との接続 ● 「テキストから社員名を同定してDBとひもづけたい」
  27. 27. 27 Sudachiでやりたいこと 複数の分割単位の併用 ● 必要に応じて切り替え 多数の収録語彙 ● UniDicとNEologdを ベースに調整 継続的なメンテナンス ● 10年以上はつづけたい 機能のプラグイン化 ● 自由に機能追加 同義語辞書との連携 ● OSSで公開予定
  28. 28. 28 C単位 ワークス徳島人工知能NLP研究所 B単位 ワークス 徳島 人工 知能 NLP 研究所 A単位 ワークス 徳島 人工 知能 NLP 研究 所 複数の分割単位を出力 分割単位 ● A単位 UniDic相当 ● B単位 IPADIC相当 ● C単位 NEologd相当 それぞれの単位で出力や再分割が可能
  29. 29. 29 表記正規化 送りちがい 打込む → 打ち込む 字種 玉蜀黍 → トウモロコシ 異体字 附属 → 付属 連濁 いとごんにゃく → いとこんにゃく 誤用 シュミレーション → シミュレーション 縮約 ちゃあ → ては ×略語 スマホ → スマートフォン
  30. 30. 30 プラグイン 各処理ステップをフックして処理を差し込む ● 入力テキスト 異体字統制、表記補正 ● 辞書検索 異体字統制、表記補正 ● ラティス 未知語処理、品詞接続禁制 ● 出力解 人名処理、分割粒度調整 ユーザーが自由にプラグインを作成できる
  31. 31. 31 大規模使用時の省メモリ化 辞書イメージをメモリ上で共有 ● tokenizerごとで独自の辞書セットをもてる VM1 VM2
  32. 32. 32 形態素解析器Sudachi 8月中旬初版リリース予定!

×