wikiコーパスのダウンロード
$ curl https://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2 -o jawiki-latest-pages-articles.xml.bz2
xml形式なので、テキストを抜き出す。
そういったプログラムを用意してくださっているので利用する。
$ git clone https://github.com/attardi/wikiextractor
実行
$ python wikiextractor/WikiExtractor.py jawiki-latest-pages-articles.xml.bz2
抽出された内容はフォルダに分けられるので、catで1つのファイルにまとめる
$ cat text/*/* > jawiki_org.txt
内容に<documetn ...>とあったり、空白行があったりするのでトリミング
$ cat ./jawiki_org.txt | sed -e 's/<.*>//g' | sed -e '/^ *$/d' > ./jawiki.txt
必要あればmecabで分かち書き
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/ -Owakati jawiki.txt > jawiki_wakachi.txt
以上の操作で完了
2017年1月26日木曜日
2017年1月22日日曜日
ImportError: No module named queue
pythonでword2vecを使おうとしたときのエラー
これの原因としては、sixまわりのファイルが以下の2つに重複して入ってたことによる
そもそもの原因は、バージョンが低かったこと。
pipでアップグレードすると、2. のパスが更新される。
でも、実際にプログラムを実行すると1. を見に行く。
なので、バージョンの低いファイルを読み込んでしまい、エラーになっていた。
仕方ないので、1. にあったsix.pyとsix.pycを削除したら動くようになった。
本当なら削除するよりも、パスを変更する等の方がいいのだけれど…
$ python word2vec.py
Traceback (most recent call last):
File "word2vec.py", line 3, in <module>
from gensim.models import word2vec
File "/Library/Python/2.7/site-packages/gensim/__init__.py", line 6, in <module>
from gensim import parsing, matutils, interfaces, corpora, models, similarities, summarization
File "/Library/Python/2.7/site-packages/gensim/summarization/__init__.py", line 4, in <module>
from .keywords import keywords
File "/Library/Python/2.7/site-packages/gensim/summarization/keywords.py", line 13, in <module>
from six.moves.queue import Queue as _Queue
ImportError: No module named queue
これの原因としては、sixまわりのファイルが以下の2つに重複して入ってたことによる
1. /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/
2. /Library/Python/2.7/site-packages
そもそもの原因は、バージョンが低かったこと。
pipでアップグレードすると、2. のパスが更新される。
でも、実際にプログラムを実行すると1. を見に行く。
なので、バージョンの低いファイルを読み込んでしまい、エラーになっていた。
仕方ないので、1. にあったsix.pyとsix.pycを削除したら動くようになった。
本当なら削除するよりも、パスを変更する等の方がいいのだけれど…
ValueError: numpy.dtype has the wrong size
pythonでword2vecを使おうとしたときに出たエラー
pipでnumpyをインストールしているとダメらしい。
easy_installで入れ直すと動く
$ python word2vec.py
Traceback (most recent call last):
File "word2vec.py", line 3, in <module>
from gensim.models import word2vec
File "/Library/Python/2.7/site-packages/gensim/__init__.py", line 6, in <module>
from gensim import parsing, matutils, interfaces, corpora, models, similarities, summarization
File "/Library/Python/2.7/site-packages/gensim/models/__init__.py", line 14, in <module>
from .word2vec import Word2Vec
File "/Library/Python/2.7/site-packages/gensim/models/word2vec.py", line 108, in <module>
from gensim.models.word2vec_inner import train_batch_sg, train_batch_cbow
File "__init__.pxd", line 155, in init gensim.models.word2vec_inner (./gensim/models/word2vec_inner.c:10913)
ValueError: numpy.dtype has the wrong size, try recompiling. Expected 88, got 96
pipでnumpyをインストールしているとダメらしい。
easy_installで入れ直すと動く
$ pip uninstall numpy
$ easy_install numpy
mecab-ipadic-neologdのインストール
みなさんご存知の形態素解析ソフトmecab。
mecab-ipadic-neologdを使えばweb上から得た新しい単語の解析も可能になる。
mecabはインストールされている前提で、辞書からの登録。
not foundの場合はxzをインストールする。
きちんと動作すると途中でyes or noを聞かれる
yesと答えた後、パスワードを入力
一例として、上記の内容が出力される。
インストール完了
実際に使う時は以下のコマンドをパスつきで実行
分かち書きオプションもばっちり
mecab-ipadic-neologdを使えばweb上から得た新しい単語の解析も可能になる。
mecabはインストールされている前提で、辞書からの登録。
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd/
$ ./bin/install-mecab-ipadic-neologd
[install-mecab-ipadic-NEologd] : Start..
[install-mecab-ipadic-NEologd] : Check the existance of libraries
[install-mecab-ipadic-NEologd] : find => ok
[install-mecab-ipadic-NEologd] : sort => ok
[install-mecab-ipadic-NEologd] : head => ok
[install-mecab-ipadic-NEologd] : cut => ok
[install-mecab-ipadic-NEologd] : egrep => ok
[install-mecab-ipadic-NEologd] : mecab => ok
[install-mecab-ipadic-NEologd] : mecab-config => ok
[install-mecab-ipadic-NEologd] : make => ok
[install-mecab-ipadic-NEologd] : curl => ok
[install-mecab-ipadic-NEologd] : sed => ok
[install-mecab-ipadic-NEologd] : cat => ok
[install-mecab-ipadic-NEologd] : diff => ok
[install-mecab-ipadic-NEologd] : tar => ok
[install-mecab-ipadic-NEologd] : unxz is not found.
not foundの場合はxzをインストールする。
$ brew install xz
$ ./bin/install-mecab-ipadic-neologd
きちんと動作すると途中でyes or noを聞かれる
[install-mecab-ipadic-NEologd] : Do you want to install mecab-ipadic-NEologd? Type yes or no.
yes
yesと答えた後、パスワードを入力
default system dictionary | mecab-ipadic-NEologd
エン ケン | エンケン
マツコ 会議 | マツコ会議
ど根性 ガエル の 娘 | ど根性ガエル の 娘
スマ ステ | スマステ
山下 美月 | 山下美月
蒼 井 翔太 | 蒼井翔太
ワッキー 貝山 | ワッキー貝山
亜 人 ちゃん | 亜人 ちゃん
男 水 | 男水
ハミルトン 島 | ハミルトン島
島田 八 段 | 島田 八段
天守 物語 | 天守物語
ひだ まり スケッチ | ひだまりスケッチ
一例として、上記の内容が出力される。
インストール完了
実際に使う時は以下のコマンドをパスつきで実行
分かち書きオプションもばっちり
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/ -Owakati
登録:
投稿 (Atom)