1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MeCabで何が何でも記号で区切りたい。

Last updated at Posted at 2019-06-21

日本語形態素解析エンジンといえばMeCab

文章を単語ベースで扱いたい時に、よく分かち書きでお世話になる。

でも最近、属性値抽出(と言いつつほぼNER)に使おうとして以下のような問題に直面した。
辞書はipadic。

mecab -Owakati
バラエティー番組『めちゃ×2イケてるッ!』(フジテレビ)
バラエティー 番組 『 め ちゃ × 2 イケ てる ッ !』( フジテレビ )

分かりにくいかも知れないが、
"ッ" , "!』(" , "フジテレビ" のように切れている。
固有名詞としてラベル付けしたいのは、"めちゃ×2イケてるッ!"の部分なので、
"!』("が一語にまとまってるのは後々困る原因になる。

解決策

後処理でなんとかしてしまっても良いけど、
今後のため、ユーザー辞書を追加して半角全角ほとんどの記号で切れるようにする。
(固有名詞切り出したいならNEologd使えば良いじゃんってなるけど、ipadicでやりたいが故のこのエントリー。)

半角英数字記号と全角英数字かなカナ記号の一覧まとめを参考に、user_dic.csvを作った。

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 イケ てる ッ ! 』 ( フジテレビ ) 

やったぜ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?