日本語の分かち書きや形態素解析の定番であるmecabとNEologd(mecab-ipadic-neologd)の組み合わせ。
辞書ファイルであるNEologdは2週間に一回更新されるらしいですし、インストールするのも手順が多いため、コンテナで動かせるようにします。
Dockerを使って動かすことで、常に最新のNEologdの辞書ファイルを使うことができるという点もメリットです。
やること
使うコンテナ
intimatemerger/mecab-ipadic-neologd
をつかいます。
https://hub.docker.com/r/intimatemerger/mecab-ipadic-neologd
レポジトリはこちら。
GitHub - IntimateMerger/dockerfile-mecab-ipadic-neologd: MeCab Docker image with mecab-ipadic-neologd
このDockerImageを提供してるのは日本のこちらの会社です。
corp.intimatemerger.com
コンテナ建て方
pullして対話モードで起動するだけでOKです。楽チン!
# ImageのPull
docker pull intimatemerger/mecab-ipadic-neologd
# 対話モードで起動
docker run -it intimatemerger/mecab-ipadic-neologd mecab
(備考)コンテナの抜け方
※Ctrl+Cでは抜けられないので注意!
- ログアウトするとき:Ctrl+D (コンテナは終了する)
- デタッチするとき: Ctrl+P -> Ctrl+Q (コンテナは生き続ける)
つかいかた
こちらのページの一部の文章をかけます。
田村ゆかり - Wikipedia
ラジオなど、音声メディアの前では「ゆかり」という一人称を使っている。
親しい間柄の人物と会話する場合は「あたし」を使う。
雑誌などの活字メディアで使われる一人称は「私」。
対話モードでの使用
docker run -it 〜
で起動した後、上の原文をそのままペーストすれば結果が返り値として出てきます。
こんなかんじ。
$ docker run -it intimatemerger/mecab-ipadic-neologd mecab
ラジオなど、音声メディアの前では「ゆかり」という一人称を使っている。
親しい間柄の人物と会話する場合は「あたし」を使う。
雑誌などの活字メディアで使われる一人称は「私」。
ラジオ 名詞,一般,*,*,*,*,ラジオ,ラジオ,ラジオ
など 助詞,副助詞,*,*,*,*,など,ナド,ナド
、 記号,読点,*,*,*,*,、,、,、
音声 名詞,一般,*,*,*,*,音声,オンセイ,オンセイ
メディア 名詞,一般,*,*,*,*,メディア,メディア,メディア
の 助詞,連体化,*,*,*,*,の,ノ,ノ
前 名詞,副詞可能,*,*,*,*,前,マエ,マエ
で 助詞,格助詞,一般,*,*,*,で,デ,デ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
ゆかり 名詞,一般,*,*,*,*,ゆかり,ユカリ,ユカリ
」 記号,括弧閉,*,*,*,*,」,」,」
という 助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
一人称 名詞,一般,*,*,*,*,一人称,イチニンショウ,イチニンショー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使っ 動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
いる 動詞,非自立,*,*,一段,基本形,いる,イル,イル
。 記号,句点,*,*,*,*,。,。,。
EOS
親しい 形容詞,自立,*,*,形容詞・イ段,基本形,親しい,シタシイ,シタシイ
間柄 名詞,一般,*,*,*,*,間柄,アイダガラ,アイダガラ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
人物 名詞,一般,*,*,*,*,人物,ジンブツ,ジンブツ
と 助詞,格助詞,一般,*,*,*,と,ト,ト
会話 名詞,サ変接続,*,*,*,*,会話,カイワ,カイワ
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
場合 名詞,副詞可能,*,*,*,*,場合,バアイ,バアイ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
あたし 名詞,代名詞,一般,*,*,*,あたし,アタシ,アタシ
」 記号,括弧閉,*,*,*,*,」,」,」
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使う 動詞,自立,*,*,五段・ワ行促音便,基本形,使う,ツカウ,ツカウ
。 記号,句点,*,*,*,*,。,。,。
EOS
雑誌 名詞,一般,*,*,*,*,雑誌,ザッシ,ザッシ
など 助詞,副助詞,*,*,*,*,など,ナド,ナド
の 助詞,連体化,*,*,*,*,の,ノ,ノ
活字 名詞,一般,*,*,*,*,活字,カツジ,カツジ
メディア 名詞,一般,*,*,*,*,メディア,メディア,メディア
で 助詞,格助詞,一般,*,*,*,で,デ,デ
使わ 動詞,自立,*,*,五段・ワ行促音便,未然形,使う,ツカワ,ツカワ
れる 動詞,接尾,*,*,一段,基本形,れる,レル,レル
一人称 名詞,一般,*,*,*,*,一人称,イチニンショウ,イチニンショー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
」 記号,括弧閉,*,*,*,*,」,」,」
。 記号,句点,*,*,*,*,。,。,。
EOS
ファイルでの入出力(指定フォルダをコンテナにマウント)
実際のユースケースでは対話モードだけでなく、テキストファイルに対して行うことも多々あると思います。
その時は、以下のように実行します。
処理したいテキストファイルがあるフォルダをコンテナのボリュームにマウントして、入出力ファイルを指定するっていうのをやっています。
# わたしの環境でのサンプル
$ docker run -v /Users/aftercider/Documents:/home intimatemerger/mecab-ipadic-neologd mecab /home/input.txt -o /home/output.txt
$ cat output.txt
ラジオ 名詞,一般,*,*,*,*,ラジオ,ラジオ,ラジオ
など 助詞,副助詞,*,*,*,*,など,ナド,ナド
、 記号,読点,*,*,*,*,、,、,、
音声 名詞,一般,*,*,*,*,音声,オンセイ,オンセイ
メディア 名詞,一般,*,*,*,*,メディア,メディア,メディア
の 助詞,連体化,*,*,*,*,の,ノ,ノ
前 名詞,副詞可能,*,*,*,*,前,マエ,マエ
で 助詞,格助詞,一般,*,*,*,で,デ,デ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
ゆかり 名詞,一般,*,*,*,*,ゆかり,ユカリ,ユカリ
」 記号,括弧閉,*,*,*,*,」,」,」
という 助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
一人称 名詞,一般,*,*,*,*,一人称,イチニンショウ,イチニンショー
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使っ 動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
いる 動詞,非自立,*,*,一段,基本形,いる,イル,イル
。 記号,句点,*,*,*,*,。,。,。
EOS
親しい 形容詞,自立,*,*,形容詞・イ段,基本形,親しい,シタシイ,シタシイ
間柄 名詞,一般,*,*,*,*,間柄,アイダガラ,アイダガラ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
人物 名詞,一般,*,*,*,*,人物,ジンブツ,ジンブツ
と 助詞,格助詞,一般,*,*,*,と,ト,ト
会話 名詞,サ変接続,*,*,*,*,会話,カイワ,カイワ
する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル
場合 名詞,副詞可能,*,*,*,*,場合,バアイ,バアイ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
あたし 名詞,代名詞,一般,*,*,*,あたし,アタシ,アタシ
」 記号,括弧閉,*,*,*,*,」,」,」
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
使う 動詞,自立,*,*,五段・ワ行促音便,基本形,使う,ツカウ,ツカウ
。 記号,句点,*,*,*,*,。,。,。
EOS
雑誌 名詞,一般,*,*,*,*,雑誌,ザッシ,ザッシ
など 助詞,副助詞,*,*,*,*,など,ナド,ナド
の 助詞,連体化,*,*,*,*,の,ノ,ノ
活字 名詞,一般,*,*,*,*,活字,カツジ,カツジ
メディア 名詞,一般,*,*,*,*,メディア,メディア,メディア
で 助詞,格助詞,一般,*,*,*,で,デ,デ
使わ 動詞,自立,*,*,五段・ワ行促音便,未然形,使う,ツカワ,ツカワ
れる 動詞,接尾,*,*,一段,基本形,れる,レル,レル
一人称 名詞,一般,*,*,*,*,一人称,イチニンショウ,イチニンショー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
「 記号,括弧開,*,*,*,*,「,「,「
私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
」 記号,括弧閉,*,*,*,*,」,」,」
。 記号,句点,*,*,*,*,。,。,。
EOS
感想
- 手元のpython環境汚さなくていいのは楽チン。
- 分かち書きがとても簡単!