概要
- AlpineLinux上でSudachiPyを動かしてみた。
はじめに
形態素解析器といえばMeCabという知識で止まっていたが、最近になってSudachiの存在を知ったので触ってみる。
メインはJavaで実装されているようだが、Pythonの[SudachiPy]
(https://github.com/WorksApplications/SudachiPy)も開発中のようだったので、今回はPython版を使ってみた。
手順
DockerFileで7ステップ。
- Alpine Linuxのベースイメージを調達し、alpine:3.7のイメージからスタートする。
FROM alpine:3.7
- 前提ライブラリや構築時に使うライブラリを入れる。
RUN apk --no-cache --update-cache \
add python3 \
git \
curl \
unzip \
&& ln -s /usr/bin/python3 /usr/bin/python \
&& ln -s /usr/bin/pip3 /usr/bin/pip \
&& pip install --no-cache-dir --upgrade pip
- [SudachiPy]
(https://github.com/WorksApplications/SudachiPy)のReadMeを参考に(というかそのままコピペして)git cloneしてインストールする。
RUN git clone https://github.com/WorksApplications/SudachiPy.git \
&& cd SudachiPy \
&& pip3 install -e .
- 辞書が入っていないので別途ダウンロードして解凍し、Readme記載の通りの名前と場所に配置する。ファイル名とか格納場所とかを見失いやすいので注意。
RUN wget -q https://github.com/WorksApplications/Sudachi/releases/download/v0.1.0/sudachi-0.1.0-dictionary-core.zip \
&& unzip sudachi-0.1.0-dictionary-core.zip \
&& mv system_core.dic SudachiPy/resources/system.dic
- 「すもももももももものうち」を形態素解析してみる。
RUN echo "すもももももももものうち" | sudachipy -a -m A -o outputA.txt && cat outputA.txt
- typeオプションがA、B、Cとあるので、残りの2通りも試してみる。
RUN echo "すもももももももものうち" | sudachipy -a -m B -o outputB.txt && cat outputB.txt
RUN echo "すもももももももものうち" | sudachipy -a -m C -o outputC.txt && cat outputC.txt
実行結果
DockerFileの使い方として間違っている気がするけど、Dockerビルドの延長で実行しているので、その結果を貼る。
Step 5/7 : RUN echo "すもももももももものうち" | sudachipy -a -m A -o outputA.txt && cat outputA.txt
---> Running in 64c5ae7ccd34
すもも 名詞,普通名詞,一般,*,*,* 李 すもも スモモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
の 助詞,格助詞,*,*,*,* の の ノ
うち 名詞,普通名詞,副詞可能,*,*,* 内 うち ウチ
EOS
Step 6/7 : RUN echo "すもももももももものうち" | sudachipy -a -m B -o outputB.txt && cat outputB.txt
---> Running in 8e35cefb72f4
すもも 名詞,普通名詞,一般,*,*,* 李 すもも スモモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
の 助詞,格助詞,*,*,*,* の の ノ
うち 名詞,普通名詞,副詞可能,*,*,* 内 うち ウチ
EOS
Step 7/7 : RUN echo "すもももももももものうち" | sudachipy -a -m C -o outputC.txt && cat outputC.txt
---> Running in cb1dc26b2c13
すもも 名詞,普通名詞,一般,*,*,* 李 すもも スモモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
も 助詞,係助詞,*,*,*,* も も モ
もも 名詞,普通名詞,一般,*,*,* 桃 もも モモ
の 助詞,格助詞,*,*,*,* の の ノ
うち 名詞,普通名詞,副詞可能,*,*,* 内 うち ウチ
EOS
今回の一文だけだとtypeオプション(the mode of splitting)の違いは関係なかった。
今後
今回は何も考えずに実行するところまで。もう少し内容を見てみたい。