狠狠撸

狠狠撸Share a Scribd company logo
スタート形态素解析
 @todeskingが形态素解析を作ってみたという趣旨の話です
自己紹介
? @todesking
? 実質2時間しか寝ていない
? Web系の会社でJavaやRubyを使っています
? レコメンドとかそのへんを少々
? ソフトウェア開発全般に興味があります
求職中です


? RubyやScalaでアジャイルな開発してる
 かんじの企業情報を募集中です
概要
?   今日話すこと

    ?   形态素解析とは

    ?   辞書の構造

    ?   形态素解析の仕組み

?   (詳しくは)話さないこと

    ?   機械学習による?コーパスからの辞書の作成

    ?   未知語処理

    ?   高速化のためのあれこれ
形态素解析については
皆さんご存知ですね
形态素	 	 	 名詞,一般,*,*,*,*,形态素,ケイタイソ,ケイタイソ
解析	 	 	 	 	 名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
について	 助詞,格助詞,連語,*,*,*,について,ニツイテ,ニツイテ
は	 	 	 	 	 	 	 助詞,係助詞,*,*,*,*,は,ハ,ワ
皆さん	 	 	 名詞,一般,*,*,*,*,皆さん,ミナサン,ミナサン
ご存知	 	 	 名詞,一般,*,*,*,*,ご存知,ゴゾンジ,ゴゾンジ
です	 	 	 	 	 助動詞,*,*,*,特殊?デス,基本形,です,デス,デス
ね	 	 	 	 	 	 	 助詞,終助詞,*,*,*,*,ね,ネ,ネ
EOS




            こういうやつ?
形态素解析

? 入力された文字列を?単語の列に分解する
? 複数の可能性がある場合?一番もっともらし
 いパターンを求める
形态素解析

? とりあえずMeCab使っとけばOK
? ブラックボックスとして扱えるくらいの性能
 ? ロバスト
? しかし?たまに痛い目を見る
 ? 辞書に単語追加するときとか
 ? 中身をちゃんと知りましょう
今回は?単純な形态素解析
 を実装してみました
アルゴリズム概要

? 辞書を元に?単語の分け方の候補を求める
? 候補の中から?一番最もらしいものを出力する
? かんたんですね
コスト

? 一般的には?「スコア」の逆の意味です
? 低ければ低いほど良い数値
? この数値が低いほど?もっともらしい候
 補だということです
最初に?データの構造について
? MeCabの辞書から?以下のデータを使用しま
 した(mecab-naistdic)

 ? 単語の定義
 ? 連接コストの定義
 ? 品詞の定義
? 他にもあるけど?今回使ったのはこれだけ?
MeCabの辞書: 単語の定義
    ? 形态素解析に必要なのは
     ? 表記(surface)
     ? 品詞ID
     ? 単語のコスト
    ? その他?追加情報が色々入ってます
     ? 読みとか
さくさく,1358,1358,6325,名詞,一般,*,*,*,*,さくさく,サクサク,サクサク,,
反,585,585,4544,接頭詞,名詞接続,*,*,*,*,反,ハン,ハン,,
ベイズ,1358,1358,2824,名詞,一般,*,*,*,*,ベイズ,ベイズ,ベイズ,,
する,624,624,5744,動詞,自立,*,*,サ変?スル,基本形,する,スル,スル,,
MeCabの辞書: 連接コストの定義
  ? 単語と同じくらい重要です?
   ? 右品詞ID
   ? 左品詞ID
   ? コスト
  ? 二つの品詞のつながりやすさについて
    定義
         0	 20	 -1131
         0	 21	 -1483
         0	 22	 -325
         0	 23	 -254
MeCabの辞書: 品詞の定義

 ? 品詞IDと名称の組み合わせが登録され
   てます
 ? 品詞ID
 ? 品詞名
 ? なくても解析はできるけど?表示用に?
解析してみましょう
 > 人間が死ぬ
まずは辞書データの読み込み

? 辞書データ
 ? 単語定義
 ? 連接コスト定義
 ? 品詞定義
? を?ファイルからメモリに読みます
辞書データは大きい
? mecab-naistdicの場合?プレインテキスト
 で100Mバイトくらいはあります?

? 辞書のインストール時に「コンパイ
 ル」が必要なのは?データをバイナリ形
 式に変換してロード時間とメモリ消費
 量を削減するためです

 ? 今回はやってません
単语定义を元に?分割の
    パターンを洗い出す
人,1370,1370,6623,名詞,接尾,一般,*,*,*,人,ジン,ジン,,
人,1370,1370,8219,名詞,接尾,一般,*,*,*,人,ニン,ニン,,
人,1372,1372,6611,名詞,接尾,助数詞,*,*,*,人,ニン,ニン,,
人,1358,1358,5189,名詞,一般,*,*,*,*,人,ヒト,ヒト,,
人,1370,1370,9778,名詞,接尾,一般,*,*,*,人,ヒト,ヒト,,
人間,1358,1358,3958,名詞,一般,*,*,*,*,人間,ニンゲン,ニンゲン,,
が,170,170,2722,助詞,格助詞,一般,*,*,*,が,ガ,ガ,,
が,322,322,4189,助詞,接続助詞,*,*,*,*,が,ガ,ガ,,
が,580,580,4546,接続詞,*,*,*,*,*,が,ガ,ガ,,
単语定义を元に?分割の
      パターンを洗い出す
      人(接尾,一般)

BOS   人(接尾,助数詞)   間(固有名詞,地域)   が


             人間(名詞,一般)

BOS/EOS: 処理を単純にするため?文字列の始まりと終わりに
ダミーの単語を入れる
こんなかんじになります

 人
 人     間
       間    が   死
                死         ぬ
  人     間
        間   が    死        ぬ


      人間             死ぬ
                     死ぬ
次に?コストが一番小さくなる
          つなぎかたを求めます
                                単語自体がもつコスト
                                 その単語の珍しさ

 BOS               人(接尾,一般)        間(固有名詞,地域)
cost=0              cost=6623        cost=8553

 BOS/EOS → 接尾,一般
                           品詞のつながりがもつコスト
         cost=70
                                その組み合わせの珍しさ
求めました

人
人     間
      間    が   死
               死         ぬ
 人     間
       間   が    死        ぬ


     人間             死ぬ
                    死ぬ



                    死ぬそうです?
以上です


? よかったですね
文字列から単语の候补をさが
             す方法



? Trieでぐぐれ
最小コストのつなぎかた


? ビタビアルゴリズム 形态素解析 とかで
 検索
ソース公開中です

? https://github.com/todesking/okura
? Ruby
? 驳别尘化する予定

More Related Content

Viewers also liked (13)

厂肠补濒补のコンパイルを3倍速くした话
厂肠补濒补のコンパイルを3倍速くした话厂肠补濒补のコンパイルを3倍速くした话
厂肠补濒补のコンパイルを3倍速くした话
tod esking
?
形态素解析の过去?现在?未来
形态素解析の过去?现在?未来形态素解析の过去?现在?未来
形态素解析の过去?现在?未来
Preferred Networks
?
精神论によるいきいきとした组织づくりのご提案
精神论によるいきいきとした组织づくりのご提案精神论によるいきいきとした组织づくりのご提案
精神论によるいきいきとした组织づくりのご提案
tod esking
?
分散バージョン管理システム骋颈迟の绍介
分散バージョン管理システム骋颈迟の绍介分散バージョン管理システム骋颈迟の绍介
分散バージョン管理システム骋颈迟の绍介
tod esking
?
仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト
tod esking
?
日本语形态素解析
日本语形态素解析日本语形态素解析
日本语形态素解析
Yoshihiro Shimoji
?
贫者のための入力デバイス
贫者のための入力デバイス贫者のための入力デバイス
贫者のための入力デバイス
tod esking
?
「今日から使い切る」 ための GNU Parallel による並列処理入門
「今日から使い切る」ための GNU Parallelによる並列処理入門「今日から使い切る」ための GNU Parallelによる並列処理入門
「今日から使い切る」 ための GNU Parallel による並列処理入門
Koji Matsuda
?
鬱くしい日本语のための形态素解析入门
鬱くしい日本语のための形态素解析入门鬱くしい日本语のための形态素解析入门
鬱くしい日本语のための形态素解析入门
Hiroyoshi Komatsu
?
CVチーム勉強会 Halide編
CVチーム勉強会 Halide編CVチーム勉強会 Halide編
CVチーム勉強会 Halide編
Tetsuro Kato
?
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポート
Shinpei Nakata
?
颁#/奥笔贵で作るデスクトップマスコット入门
颁#/奥笔贵で作るデスクトップマスコット入门颁#/奥笔贵で作るデスクトップマスコット入门
颁#/奥笔贵で作るデスクトップマスコット入门
Fujikido
?
リクルート式 自然言语処理技术の适応事例绍介
リクルート式 自然言语処理技术の适応事例绍介リクルート式 自然言语処理技术の适応事例绍介
リクルート式 自然言语処理技术の适応事例绍介
Recruit Technologies
?
厂肠补濒补のコンパイルを3倍速くした话
厂肠补濒补のコンパイルを3倍速くした话厂肠补濒补のコンパイルを3倍速くした话
厂肠补濒补のコンパイルを3倍速くした话
tod esking
?
形态素解析の过去?现在?未来
形态素解析の过去?现在?未来形态素解析の过去?现在?未来
形态素解析の过去?现在?未来
Preferred Networks
?
精神论によるいきいきとした组织づくりのご提案
精神论によるいきいきとした组织づくりのご提案精神论によるいきいきとした组织づくりのご提案
精神论によるいきいきとした组织づくりのご提案
tod esking
?
分散バージョン管理システム骋颈迟の绍介
分散バージョン管理システム骋颈迟の绍介分散バージョン管理システム骋颈迟の绍介
分散バージョン管理システム骋颈迟の绍介
tod esking
?
仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト仕様変更で死なないためのユニットテスト
仕様変更で死なないためのユニットテスト
tod esking
?
贫者のための入力デバイス
贫者のための入力デバイス贫者のための入力デバイス
贫者のための入力デバイス
tod esking
?
「今日から使い切る」 ための GNU Parallel による並列処理入門
「今日から使い切る」ための GNU Parallelによる並列処理入門「今日から使い切る」ための GNU Parallelによる並列処理入門
「今日から使い切る」 ための GNU Parallel による並列処理入門
Koji Matsuda
?
鬱くしい日本语のための形态素解析入门
鬱くしい日本语のための形态素解析入门鬱くしい日本语のための形态素解析入门
鬱くしい日本语のための形态素解析入门
Hiroyoshi Komatsu
?
CVチーム勉強会 Halide編
CVチーム勉強会 Halide編CVチーム勉強会 Halide編
CVチーム勉強会 Halide編
Tetsuro Kato
?
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポート
Shinpei Nakata
?
颁#/奥笔贵で作るデスクトップマスコット入门
颁#/奥笔贵で作るデスクトップマスコット入门颁#/奥笔贵で作るデスクトップマスコット入门
颁#/奥笔贵で作るデスクトップマスコット入门
Fujikido
?
リクルート式 自然言语処理技术の适応事例绍介
リクルート式 自然言语処理技术の适応事例绍介リクルート式 自然言语処理技术の适応事例绍介
リクルート式 自然言语処理技术の适応事例绍介
Recruit Technologies
?

Recently uploaded (11)

第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?

スタート形态素解析

Editor's Notes