主にMecabを使う時によくみるリンクとメモ。
ほぼ自分用のメモです。よって、Mac OSのことしか考慮していません。
※Mecabのインストール方法や使い方は全く説明していません。 各所に記事があるので、そちらを参考にしてください。
以降、ですます調ではなくなります。
パス
- 辞書の格納先は
mecab-config --dicdir
でみることができる- 参考: mecab-ipadic-NEologdのREADME
- Mac OSの場合は
/usr/local/lib/mecab/dic
品詞
IPA辞書 (以降ipadic) やUnidicは、品詞体系が国語の授業で習ったような分類と異なっている。 (※ここでいう国語の授業で習った分類とは、Wikipediaの 日本語の品詞に記載されているような 学校文法 のことを示す。)
例えば、ipadicには形容動詞はない。そのかわりに「形容動詞語幹」なるカテゴリが名詞の下の「品詞細分類1」に存在する。
「自分が取得したい情報は、この辞書で言うどの品詞か?」をちゃんと調べたほうが良い。
品詞ID
- 品詞を定義する品詞IDは辞書ディレクトリ下にある
pos-id.def
で調べられる- 参考: MeCab: 品詞 ID
品詞一覧を表示するスクリプト例
iconv -f EUC-JP /path/to/pos-id.def | cut -f1 -d',' |uniq
- ipadicは元の文字コードがEUC-JPなので、変換処理を挟まないと文字化けする。
- iconv もしくは nkf で変換
-f1
を-f1,2
に変更すれば 品詞細分類1 を含めて一覧を表示できる。
品詞体系についてまとめたページ
- 形態素解析ツールの品詞体系 http://www.unixuser.org/~euske/doc/postag/
- 詳解 MeCab | Yuta Hayashibe https://hayashibe.jp/tr/mecab/
ipadic / IPA辞書
- Mecabのデフォルト辞書。
- https://taku910.github.io/mecab/#download でダウンロードするか、
brew install mecab-ipadic
でダウンロードできる。 - 現在の最新は 2.7.0。
マニュアル
- ipadic version 2.7.0 ユーザーズマニュアル
- ipadicの後継NAIST Japanese Dictonary-0.4.0 もあるが、Chasenがインストールされていないと使えない辞書の模様
- Chasenをインストールしていないため詳細未確認
品詞体系
- NAIST-jdic/IPADIC | Yuta Hayashibe に一覧がまとまっている
- ちなみに、
/ipadic/pos-id.def
からgrepして取得した品詞は以下のとおり
その他 フィラー 副詞 助動詞 助詞 動詞 名詞 形容詞 感動詞 接続詞 接頭詞 記号 連体詞
辞書引き
実際にどのような単語がどの品詞に該当するか手っ取り早く調べる方法
ls -1 /path/to/mecab-ipadic-2.7.0-20070801/*.csv >> Adj.csv Adnominal.csv Adverb.csv Auxil.csv Conjunction.csv Filler.csv Interjection.csv Noun.adjv.csv Noun.adverbal.csv Noun.csv Noun.demonst.csv Noun.nai.csv Noun.name.csv Noun.number.csv Noun.org.csv Noun.others.csv Noun.place.csv Noun.proper.csv Noun.verbal.csv Others.csv Postp-col.csv Postp.csv Prefix.csv Suffix.csv Symbol.csv Verb.csv
具体例: 動詞の「遊ぶ」の活用形を表示
iconv -f EUC-JP Verb.csv | grep "遊ぶ" >> 遊ぶ,754,754,7372,動詞,自立,*,*,五段・バ行,基本形,遊ぶ,アソブ,アソブ 遊ば,756,756,6964,動詞,自立,*,*,五段・バ行,未然形,遊ぶ,アソバ,アソバ 遊ぼ,755,755,7372,動詞,自立,*,*,五段・バ行,未然ウ接続,遊ぶ,アソボ,アソボ 遊び,759,759,7949,動詞,自立,*,*,五段・バ行,連用形,遊ぶ,アソビ,アソビ 遊ん,758,758,7266,動詞,自立,*,*,五段・バ行,連用タ接続,遊ぶ,アソン,アソン 遊べ,752,752,7372,動詞,自立,*,*,五段・バ行,仮定形,遊ぶ,アソベ,アソベ 遊べ,757,757,7372,動詞,自立,*,*,五段・バ行,命令e,遊ぶ,アソベ,アソベ 遊びゃ,753,753,7372,動詞,自立,*,*,五段・バ行,仮定縮約1,遊ぶ,アソビャ,アソビャ
mecab-ipadic-NEologd
流行語につよい辞書。ネオログ辞書と呼ばれている印象。 正式名称の通り、ipadicに基づいて構築されている。
頻繁に更新されているので、検証や研究に使う場合はバージョンを固定した方がよい。
ちなみに、現在最新にしたところ (mecab-ipadic-2.7.0-20070801-neologd-20200130
) 、以下がアップデートされた。
default system dictionary | mecab-ipadic-NEologd 森山 未來 | 森山未來 す と ぷり | すと ぷり 帰 蝶 | 帰蝶 みき お | みきお 西宮 市 | 西宮市 北九州 市 | 北九州市 向井 秀徳 | 向井秀徳 テセウス の 船 | テセウスの船 斎藤 道三 | 斎藤道三 ビュッ フェ | ビュッフェ 野田 秀樹 | 野田秀樹 草間 リチャード 敬 太 | 草間リチャード敬太 警察 24 時 | 警察24時 わ た なべ 麻衣 | わたなべ麻衣
test-mecab-ipadic-neologd.sh の実行部分
流行してるっぽい人名・作品名に対応しているのがわかる。
品詞体系
- 基本的にipadicと同じ
git clone
したmecab-ipadic-neologd
下の/build/mecab-ipadic-2.7.0-20070801-neologd-XXXXXXXX
に辞書のcsvファイルがある- ipadic (
mecab-ipadic-2.7.0-20070801/*.csv
) と同じcsv + neolog独自のcsvファイルで構成されている
現在、neolog独自のcsvファイルは以下だった。
mecab-user-dict-seed.20200130.csv neologd-adjective-std-dict-seed.20151126.csv neologd-adjective-verb-dict-seed.20160324.csv neologd-adverb-dict-seed.20150623.csv neologd-common-noun-ortho-variant-dict-seed.20170228.csv neologd-ill-formed-words-dict-seed.20170127.csv neologd-interjection-dict-seed.20170216.csv neologd-noun-sahen-conn-ortho-variant-dict-seed.20160323.csv neologd-proper-noun-ortho-variant-dict-seed.20161110.csv
辞書引き
主に mecab-user-dict-seed.XXXX.csv
に最新の単語 (名詞・記号) が含まれているので、欲しい単語が登録されているか確かめることができる。
「テセウスの船」が追加されたようなので、2020年冬開始ドラマが追加されているか調べた。【冬ドラマ一覧】2020年1月スタート! 注目の新ドラマ情報まとめ!! | ORICON NEWSを参考に、タイトルを何個かピックアップした。
検索例
grep "麒麟がくる," mecab-user-dict-seed.20200130.csv
辞書に収録されていた2020年冬開始ドラマ
麒麟がくる,1288,1288,4973,名詞,固有名詞,一般,*,*,*,麒麟がくる,キリンガクル,キリンガクル 恋はつづくよどこまでも,1288,1288,4700,名詞,固有名詞,一般,*,*,*,恋はつづくよどこまでも,コイハツヅクヨドコマデモ,コイワツズクヨドコマデモ ゆるキャン△,1288,1288,5072,名詞,固有名詞,一般,*,*,*,ゆるキャン△,ユルキャン,ユルキャン 知らなくていいコト,1288,1288,4909,名詞,固有名詞,一般,*,*,*,知らなくていいコト,シラナクテイイコト,シラナクテイーコト 病室で念仏を唱えないでください,1288,1288,-2416,名詞,固有名詞,一般,*,*,*,病室で念仏を唱えないでください,ビョウシツデネンブツヲトナエナイデクダサイ,ビョーシツデネンブツオトナエナイデクダサイ
作品名などの新しい固有名詞は基本的に 名詞,固有名詞,一般
で登録されている。
ちなみに辞書に収録されていない「シロでもクロでもない世界で、パンダは笑う。」や「絶対零度~未然犯罪潜入捜査~」 *1 をneolog辞書で分かち書きすると以下のようになる。
サブタイトルを「〜」で括っていたり、句読点が含まれていたりすると、すごく分割されてしまう。 つらい
mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd 絶対零度~未然犯罪潜入捜査~ 絶対零度 名詞,固有名詞,人名,一般,*,*,絶対零度,ゼッタイレイド,ゼッタイレイド ~ 記号,一般,*,*,*,*,* 未然 名詞,一般,*,*,*,*,未然,ミゼン,ミゼン 犯罪 名詞,一般,*,*,*,*,犯罪,ハンザイ,ハンザイ 潜入捜査 名詞,固有名詞,一般,*,*,*,潜入捜査,センニュウソウサ,センニューソーサ ~ 記号,一般,*,*,*,*,* EOS シロでもクロでもない世界で、パンダは笑う。 シロ 名詞,一般,*,*,*,*,シロ,シロ,シロ で 助詞,格助詞,一般,*,*,*,で,デ,デ も 助詞,係助詞,*,*,*,*,も,モ,モ クロ 名詞,一般,*,*,*,*,クロ,クロ,クロ で 助詞,格助詞,一般,*,*,*,で,デ,デ も 助詞,係助詞,*,*,*,*,も,モ,モ ない 形容詞,自立,*,*,形容詞・アウオ段,基本形,ない,ナイ,ナイ 世界 名詞,一般,*,*,*,*,世界,セカイ,セカイ で 助詞,格助詞,一般,*,*,*,で,デ,デ 、 記号,読点,*,*,*,*,、,、,、 パンダ 名詞,一般,*,*,*,*,パンダ,パンダ,パンダ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 笑う 動詞,自立,*,*,五段・ワ行促音便,基本形,笑う,ワラウ,ワラウ 。 記号,句点,*,*,*,*,。,。,。 EOS
ちなみに長すぎることで話題になりがちな、ラノベのタイトルも収録されています。
うちの娘の為ならば、俺はもしかしたら魔王も倒せるかもしれない。,1288,1288,-32750,名詞,固有名詞,一般,*,*,*,うちの娘の為ならば、俺はもしかしたら魔王も倒せるかもしれない。,ウチノムスメノタメナラバオレハモシカシタラマオウモタオセルカモシレナイ,ウチノムスメノタメナラバオレハモシカシタラマオーモタオセルカモシレナイ 通常攻撃が全体攻撃で二回攻撃のお母さんは好きですか?,1288,1288,-5927,名詞,固有名詞,一般,*,*,*,通常攻撃が全体攻撃で二回攻撃のお母さんは好きですか?,ツウジョウコウゲキガゼンタイコウゲキデニカイコウゲキノオカアサンハスキデスカ,ツージョーコーゲキガゼンタイコーゲキデニカイコーゲキノオカーサンワスキデスカ
neologdn
- Github: https://github.com/ikegami-yukino/neologdn
- Blog: http://yukinoi.hatenablog.com/entry/2015/10/11/205006
neolog辞書の解析前に行うことが望ましい文字列の正規化処理に対応したパッケージ。
pip install neologdn
ですぐにインストールできる。
neologdと一文字違いなので、自分はよくtypoしてしまう。気をつけましょう。
import neologdn neologdn.normalize("絶対零度~未然犯罪潜入捜査~") >> '絶対零度未然犯罪潜入捜査'
先ほどの「絶対零度 (略)」はチルダっぽい文字は削除というルールに基づいて「〜 (波ダッシュ)」が削除された。
数字の扱い
neolog辞書の特徴的な点として、数字を含む単語も名詞として扱う点がある。
例えば、「2月29日」をipadicとneologdで解析した結果は、それぞれ以下のように異なる。 *2
ipadic
2月29日 2 名詞,数,*,*,*,*,* 月 名詞,一般,*,*,*,*,月,ツキ,ツキ 29 名詞,数,*,*,*,*,* 日 名詞,接尾,助数詞,*,*,*,日,ニチ,ニチ EOS
neologd
2月29日 2月29日 名詞,固有名詞,一般,*,*,*,2月29日,ニガツニジュウキュウニチ,ニガツニジュウキュウニチ
例えば数値をマスキングしたい場合、標準ipadicであれば、解析結果の 名詞,数
(と名詞,副詞可能
)に対してマスキングすればよいが、neologdで分かち書きした場合はそれ以外の名詞単語にも数字が含まれている場合があるので、正規表現等で置換処理が必要。
数字を含む単語を 名詞,固有名詞,一般
として考慮しているとはいえ、全てを網羅しているわけではないので、以下のような結果になってしまうこともある。
neologd
相棒Season18 相棒 名詞,一般,*,*,*,*,相棒,アイボウ,アイボー Season1 名詞,固有名詞,一般,*,*,*,Season 1,シーズンイチ,シーズンイチ 8 名詞,数,*,*,*,*,*
おわりに
Mecabの分かち書き辞書の、細々とした情報についてまとめました。
こういう分かち書きする上でつまずきがちな、ちょっとした知見を共有してくれる記事が増えたら良いなと思います。
自分は日本語分かち書き辞書にipadicとneologdしか使ってきていないのですが、 UnidicやJuman辞書を使うことがあれば改めてまとめるかもしれません。
⭐️⭐️⭐️⭐️⭐️
Starボタンは積極的に押していきましょう。
*1:絶対零度 (テレビドラマ) - Wikipedia シリーズの過去のタイトルは収録されていた e.g. 絶対零度〜未解決事件特命捜査〜、 絶対零度〜特殊犯罪潜入捜査〜
*2:実際には、レミオロメンの3月9日 (曲) - Wikipediaなど、日付を含む固有名詞も世の中に存在するが、そういった単語に関係なく、neolog辞書には全ての日付が辞書に収録されている