Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Mecab + NEologd + Docker + Python3

NotificationsYou must be signed in to change notification settings

p-geon/ja-tokenizer-docker-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • Build Docker
  • MeCab + NEologd
  • HuggingFace Tokenizer with Ja-Bert
  • Word2vec
  • Show help

解説

時間があるときに作ります…ごめんなさい。

環境

  • Docker:Docker version 20.10.9, build c2ea9bc (おそらく19.以上なら大丈夫だと思います)

Build docker (local)

git clone した後にmake run すれば、すべてのコンテナが生成・実行されます。

git clone git@github.com:p-geon/ja-tokenizer-docker-py.gitcd ja-tokenizer-docker-pymake run

Notebooks

以下の三種類とも jupyter notebook を用意し、手を加えやすくしました。Makefile コマンドでdocker build +docker run できます。起動後は URL をブラウザに貼り付けてブラウザで操作してください。

  • tokenizer_mecab_neologd:make notebook_tokenizer_mecab_neologd
  • tokenizer_huggingface:make notebook_tokenizer_huggingface
  • notebook_word2vec:make notebook_word2vec

注意点として、環境とノートブックが一対一対応なので、

notebook_tokenizer_mecab_neologd ではnotebooks/tokenizer_mecab_neologd.ipynb の環境しか動きません。ほかも同様です。名前で判断してください。

(なんかいい解決方法あったら教えて下さい。)

MeCab + NEologd

NEologd ベースの MeCab を使って分かち書きする簡易スクリプトです。Makefile にある変数TEST_SENTENCE の文字列を分かち書きするスクリプトをコンテナ内で走らせます。

usage

make tokenizer_mecab_neologd

result

docker run -it --rm \-v `pwd`:/work \ja-tokenizer-mecab-neologd \python ./scripts/tokenizer_mecab_neologd.py \--sentence "ピジョンとジョン・レノンが融合してピジョンレノンと成った。" \--dir_dict /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologdBOS/EOSピジョン名詞と助詞ジョン・レノン名詞が助詞融合名詞する動詞て助詞ピジョンレノン名詞と助詞成る動詞た助動詞。記号BOS/EOS

HuggingFace Tokenizer with Ja-Bert

東北大のBERT-Tokenizer による分かち書きの簡易スクリプトをコンテナ内で走らせます。Makefile にある変数TEST_SENTENCE の文字列を分かち書きするスクリプトをコンテナ内で走らせます。

ネットワーク負荷軽減のため、キャッシュをsrc/huggingface/ 内に確保します。

usage

make tokenizer_huggingface

result

docker run -it --rm \-v `pwd`:/work \ja-tokenizer-touhoku-bert \python ./scripts/tokenizer_huggingface.py \--sentence "ピジョンとジョン・レノンが融合してピジョンレノンと成った。"Downloading: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 104/104 [00:00<00:00, 108kB/s]Downloading: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 479/479 [00:00<00:00, 483kB/s]Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 252k/252k [00:00<00:00, 316kB/s]tokenized:  ['ピ', '##ジョン', 'と', 'ジョン', '・', 'レノ', '##ン', 'が', '融合', 'し', 'て', 'ピ', '##ジョン', '##レノ', '##ン', 'と', '成っ', 'た', '。']

Word2vec

gensim +日本語Wikipediaエンティティベクトル で単語をベクトル化します。Makefile にある変数TEST_WORD の文字列を分かち書きするスクリプトをコンテナ内で走らせます。

usage

make word2vec

result

docker run -it --rm \-v `pwd`:/work \ja-word2vec \python ./scripts/word2vec.py \--word "ピジョン" \--bin_entity_filename /entity_vector.model.bin<class 'numpy.ndarray'> (200,) [ 0.18742366  0.07586656  0.03849505  0.38004303 -0.00524301 -0.20294596  0.20340575  0.49917793 -0.2951132  -0.08509478]

(表示しているベクトルは都合上、先頭から10個分)

Show help

Makefile のコマンドと、その概要を表示します。

usage

make help

result

tokenizer_mecab_neologd tokenizing with MeCab + NEologdtokenizer_huggingface tokenizing with huggingface tokenizerword2vec             convert word to vector (numpy)run                  test allhelp                 show help (this)

About

Mecab + NEologd + Docker + Python3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp