日本語の分かち書きや形態素解析の定番であるmecabとNEologd(mecab-ipadic-neologd)の組み合わせ。
辞書ファイルであるNEologdは2週間に一回更新されるらしいですし、インストールするのも手順が多いため、コンテナで動かせるようにします。
Dockerを使って動かすことで、常に最新のNEologdの辞書ファイルを使うことができるという点もメリットです。
やること
使うコンテナ
intimatemerger/mecab-ipadic-neologd
をつかいます。
https://hub.docker.com/r/intimatemerger/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 (コンテナは生き続ける)
つかいかた
こちらのページの一部の文章をかけます。
ラジオなど、音声メディアの前では「ゆかり」という一人称を使っている。 親しい間柄の人物と会話する場合は「あたし」を使う。 雑誌などの活字メディアで使われる一人称は「私」。
対話モードでの使用
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環境汚さなくていいのは楽チン。
- 分かち書きがとても簡単!