windowsのpythonでjanomeを使って分かち書き
janomeのインストール
Windowsで分かち書きをしたくて色々調べたが、大道はmecabを使うのだが、インストールが面倒とのこと、次点でjanomeがあるがこちらはpipで手軽にインストールできるけども、速度は1/10000程度とのこと、とりあえずhanomeですることに、インストールは簡単、
> pip install janome
でOK
test.pyを作って
from janome.tokenizer import Tokenizer
t = Tokenizer()
s = 'すもももももももものうち'
print(s)
for token in t.tokenize(s):
print(token)
で
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
でOK 。辞書が古いらしいのでNEologdを使えるようにする。
(失敗)NEologdのインストール
windows上でもできるようだが、ubuntu上でした方が楽らしいので、仮想マシンにubuntuをインストールしてそこで行うことにした。
とりあえず準備としてgit とcurlが必要なのでまずインストール、その後mecab環境が必要。
sudo apt install git curl$
sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8sudo apt install makegit clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
で環境構築完了。辞書の作成
cd mecab-ipadic-neologdsudo bin/install-mecab-ipadic-neologd -n -a
構築に1分くらいかかる。
Do you want to install mecab-ipadic-NEologd? Type yes or no.
って出てくるのでyesをタイプ
/usr/lib/x86_64-linux-gnu/mecab/dic
にmecab-ipadic-neologd ディレクトリができるのでこのディレクトリをWindows側にコピー、とりあえず c:\tool\mecab-ipadic-neologd とした
これで仮想マシンはとりあえず終了。
がjanomeでつかえないね。とりあえず、標準辞書では分かち書きできるからよしとしよう。
janomeでコンパイル
JanomeでNEologd辞書を使う にあった方法をやってみる
git clone https://github.com/neologd/mecab-ipadic-neologd.git
xz -dkv mecab-ipadic-neologd/seed/*.csv.xz
cat mecab-ipadic-neologd/seed/*.csv > neologd.csv
できあがった neologd.csv を.pyのあるのと同じディレクトリに移動し、以下のpythonプログラムを実行
from janome.dic import UserDictionary
from janome import sysdic
user_dict = UserDictionary('neologd.csv', 'utf8', 'ipadic', sysdic.connections)
user_dict.save('neologd')
これがめっちゃ時間かかって動いていないかと思った。VS Codeの中で動かしている生なのか、最初、動いていないのかと思うくらい難も起こっていなかったが、タスクマネージャーで見ると、4コアで何か作業しているようだ、各コアの動作状況で見ないと、総合では25%程度で凪なので、動いているかどうかわからない。メモリはとりあえずめっちゃ食う。
とりあえず、待ち中。
約20分特に状況変化無し。約30分特に状況変化無し。
約40分特に状況変化無し。約50分特に状況変化無し。
約60分特に状況変化無し。約70分特に状況変化無し。
約80分特に状況変化無し。約90分特に状況変化無し。
約100分特に状況変化無し。メモリ、大丈夫か?最初ぐっとあがってその後じわじわあがってきた。
約110分(CPU負荷がちょっと下がったように見えるが)特に状況変化無し。
約120分特に状況変化無し。約140分特に状況変化無しメモリ使用率99%→97%。
約160分に状況変化無し。作業中止
コメント
コメントを投稿