日本語形態素解析エンジンといえばMeCab。
文章を単語ベースで扱いたい時に、よく分かち書きでお世話になる。
でも最近、属性値抽出(と言いつつほぼNER)に使おうとして以下のような問題に直面した。
辞書はipadic。
mecab -Owakati
バラエティー番組『めちゃ×2イケてるッ!』(フジテレビ)
バラエティー 番組 『 め ちゃ × 2 イケ てる ッ !』( フジテレビ )
分かりにくいかも知れないが、
"ッ" , "!』(" , "フジテレビ" のように切れている。
固有名詞としてラベル付けしたいのは、"めちゃ×2イケてるッ!"の部分なので、
"!』("が一語にまとまってるのは後々困る原因になる。
解決策
後処理でなんとかしてしまっても良いけど、
今後のため、ユーザー辞書を追加して半角全角ほとんどの記号で切れるようにする。
(固有名詞切り出したいならNEologd使えば良いじゃんってなるけど、ipadicでやりたいが故のこのエントリー。)
半角英数字記号と全角英数字かなカナ記号の一覧まとめを参考に、user_dic.csvを作った。
,-1,-1,1,記号,*,*,*,*,*, ,*,*
,-1,-1,1,記号,*,*,*,*,*, ,*,*
,-1,-1,1,記号,*,*,*,*,*, ,*,*
!,-1,-1,1,記号,*,*,*,*,*,!,*,*
.
.
.
コストを1に設定しているので何が何でも記号で区切るマンです。
user_dic.csv全体はk141303/symbol_dicに置いておきます。
コンパイルしてパスを通す。
手元の環境はMacだったので、mecabユーザ辞書を追加を参考に、コンパイルしてパスを通した。
環境によってmecabがインストールされているパスが異なるので、説明は省きます。
(コンパイル済みのユーザー辞書もk141303/symbol_dicに置いておきます。)
Macユーザー以外はこのあたりの記事を参考に。
Win => Window PCでMeCabの辞書を追加する方法
Linux => Mecabのシステム辞書・ユーザ辞書の利用方法について
できた
nakayamakoutanoMacBook-Air:~ nakayamakouta$ mecab -Owakati
バラエティー番組『めちゃ×2イケてるッ!』(フジテレビ)
バラエティー 番組 『 め ちゃ × 2 イケ てる ッ ! 』 ( フジテレビ )
やったぜ。