3
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.

Alpine Linux上でSudachiPyを動かして形態素解析した

Last updated at Posted at 2018-04-23

概要

  • 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
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)の違いは関係なかった。

今後

今回は何も考えずに実行するところまで。もう少し内容を見てみたい。

3
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
3
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?