日本标记器的比较工具
toiro的Python项目详细描述
托伊罗
Toiro是日本标记器的比较工具。在
- 比较标记器的处理速度
- 比较分词器中分段的单词
- 通过基准测试应用程序任务(例如文本分类)比较标记器的性能
它还为日语的自然语言处理提供了有用的功能。在
- 日语文本语料库的数据下载器
- 这些语料库的预处理器
- 日语文本的文本分类器(如SVM、BERT)
安装
Python3.6+是必需的。可以使用以下命令安装toiro。 Janome包含在默认安装中。在
pip install toiro
向toiro添加标记器
如果要向toiro添加标记器,请单独安装。 这是向toiro添加SudachiPy和nagisa的示例。在
^{pr2}$ <详细信息>在
pip install mecab-python3==0.996.5
pip install spacy ginza
pip install spacy[ja]
你需要安装KyTea。请参考here。在
pip install kytea
你需要安装Juman++v2。请参考here。在
pip install pyknp
pip install sentencepiece
pip install fugashi ipadic
pip install fugashi unidic-lite
pip install tinysegmenter3
详细信息>如果你想一次安装所有的托卡侬器,请使用以下命令。在
pip install toiro[all_tokenizers]
入门
您可以检查Python环境中可用的tokonizer。在
fromtoiroimporttokenizersavailable_tokenizers=tokenizers.available_tokenizers()print(available_tokenizers)
Toiro支持12种不同的日本托卡侬。这是添加SudachiPy和nagisa的一个例子。在
{'nagisa':{'is_available':True,'version':'0.2.7'},'janome':{'is_available':True,'version':'0.3.10'},'mecab-python3':{'is_available':False,'version':False},'sudachipy':{'is_available':True,'version':'0.4.9'},'spacy':{'is_available':False,'version':False},'ginza':{'is_available':False,'version':False},'kytea':{'is_available':False,'version':False},'jumanpp':{'is_available':False,'version':False},'sentencepiece':{'is_available':False,'version':False},'fugashi-ipadic':{'is_available':False,'version':False},'fugashi-unidic':{'is_available':False,'version':False},'tinysegmenter':{'is_available':False,'version':False}}
下载livedoor新闻语料库并比较标记器的处理速度。在
fromtoiroimporttokenizersfromtoiroimportdatadownloader# A list of avaliable corpora in toirocorpora=datadownloader.available_corpus()print(corpora)#=> ['livedoor_news_corpus', 'yahoo_movie_reviews', 'amazon_reviews']# Download the livedoor news corpus and load it as pandas.DataFramecorpus=corpora[0]datadownloader.download_corpus(corpus)train_df,dev_df,test_df=datadownloader.load_corpus(corpus)texts=train_df[1]# Compare the processing speed of tokenizersreport=tokenizers.compare(texts)#=> [1/3] Tokenizer: janome#=> 100%|███████████████████| 5900/5900 [00:07<00:00, 746.21it/s]#=> [2/3] Tokenizer: nagisa#=> 100%|███████████████████| 5900/5900 [00:15<00:00, 370.83it/s]#=> [3/3] Tokenizer: sudachipy#=> 100%|███████████████████| 5900/5900 [00:08<00:00, 696.68it/s]print(report){'execution_environment':{'python_version':'3.7.8.final.0 (64 bit)','arch':'X86_64','brand_raw':'Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz','count':8},'data':{'number_of_sentences':5900,'average_length':37.69593220338983},'janome':{'elapsed_time':9.114670515060425},'nagisa':{'elapsed_time':15.873093605041504},'sudachipy':{'elapsed_time':9.05256724357605}}# Compare the words segmented in tokenizerstext="都庁所在地は新宿区。"tokenizers.print_words(text,delimiter="|")#=> janome: 都庁|所在地|は|新宿|区|。#=> nagisa: 都庁|所在|地|は|新宿|区|。#=> sudachipy: 都庁|所在地|は|新宿区|。
跑到码头去
您可以通过从docker Hub构建docker容器来使用所有标记器。在
docker run --rm -it taishii/toiro /bin/bash<详细信息>
在
运行Python解释器。在
root@cdd2ad2d7092:/workspace# python3
比较分词器中分段的单词
>>>fromtoiroimporttokenizers>>>text="都庁所在地は新宿区。">>>tokenizers.print_words(text,delimiter="|")mecab-python3:都庁|所在地|は|新宿|区|。janome:都庁|所在地|は|新宿|区|。nagisa:都庁|所在|地|は|新宿|区|。sudachipy:都庁|所在地|は|新宿区|。spacy:都庁|所在|地|は|新宿|区|。ginza:都庁|所在地|は|新宿区|。kytea:都庁|所在|地|は|新宿|区|。jumanpp:都庁|所在|地|は|新宿|区|。sentencepiece:▁|都|庁|所在地|は|新宿|区|。fugashi-ipadic:都庁|所在地|は|新宿|区|。fugashi-unidic:都庁|所在|地|は|新宿|区|。tinysegmenter:都庁所|在地|は|新宿|区|。详细信息>
获取有关toiro的更多信息
PyCon JP 2020幻灯片
日语教程
贡献
欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。在
- 项目
标签: