没有项目描述

JapaneseTokenizer的Python项目详细描述


MIT LicenseBuild Status

这是什么?

这是用于日语标记器(也称为标记器)的简单python包装器

这个项目的目标是调用标记器并将一个句子分成标记 尽可能简单。

而且,该项目支持各种标记化工具公共接口。 因此,比较来自不同标记器的输出是很容易的。

此项目也可以在 Github

如果您发现任何错误,请向github问题部门报告。或任何拉动 欢迎您的要求!

要求

  • python 2.7版
  • python 3.x
    • 签入3.5、3.6、3.7

功能

  • 各种标记器之间的简单/通用接口
  • 简单/通用接口,用于筛选包含停止字或 词性条件
  • 添加用户词典的简单界面(仅限mecab)

支持的标记器

麦加布

Mecab 是用于各种语言的开源标记器系统(如果您有 字典)

详见english documentation

朱曼

Juman是 京都大学黑石实验室开发的令牌发生器系统, 日本。

朱曼在日语中有很强的暧昧的写作风格,而且很强 感谢基于网络的大型词典。

朱曼告诉你们单词的语义。

juman++

Juman++是 京都大学黑石实验室开发的令牌发生器系统, 日本。

juman++是juman的后续系统。采用RNN模型 标记化。

juman++在日语中具有强烈的模糊性写作风格,并且 感谢基于网络的大型词典。

朱曼告诉你们单词的语义。

注意:新的juman++开发版本(高于2.x)可在 Github

基特亚

Kytea标记器工具是否已开发 格雷厄姆·纽比格。

Kytea的算法与Mecab或Juman的不同。

设置

标记器自动安装

make install

Mecab Neologd字典自动安装

make install_neologd

标记器手动安装

mecab

请参阅here以安装 mecab系统。

麦加新语词典

Mecab Neologd Dictionary是基于 ipadic字典,是mecab的基本字典。

有了Mecab新词词典,你就可以解析新出现的单词了 做一个标记。

在这里,新词是这样的,电影演员的名字或公司的名字…

here和 安装Mecab Neologd字典。

朱曼
wget -O juman7.0.1.tar.bz2 "http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/juman/juman-7.01.tar.bz2&name=juman-7.01.tar.bz2"
bzip2 -dc juman7.0.1.tar.bz2  | tar xvf -
cd juman-7.01
./configure
make
[sudo] make install

juman++

  • GCC版本必须为>;=5
wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz
tar xJvf jumanpp-1.02.tar.xz
cd jumanpp-1.02/
./configure
make
[sudo] make install

基特亚

安装Kytea系统

wget http://www.phontron.com/kytea/download/kytea-0.4.7.tar.gz
tar -xvf kytea-0.4.7.tar
cd kytea-0.4.7
./configure
make
make install

Kytea有python wrapper 多亏了稻崎阿里加。安装kytea python包装器

pip install kytea

安装

[sudo] python setup.py install

注意

在安装过程中,如果安装失败,您将看到警告消息 pyknpkytea

如果看到这些消息,请尝试手动重新安装这些软件包。

用法

标记化示例(对于python3.x.要查看python2.x的exmaple代码, 普拉斯群岛 here

import JapaneseTokenizer
input_sentence = '10日放送の「中居正広のミになる図書館」(テレビ朝日系)で、SMAPの中居正広が、篠原信一の過去の勘違いを明かす一幕があった。'
# ipadic is well-maintained dictionary #
mecab_wrapper = JapaneseTokenizer.MecabWrapper(dictType='ipadic')
print(mecab_wrapper.tokenize(input_sentence).convert_list_object())

# neologd is automatically-generated dictionary from huge web-corpus #
mecab_neologd_wrapper = JapaneseTokenizer.MecabWrapper(dictType='neologd')
print(mecab_neologd_wrapper.tokenize(input_sentence).convert_list_object())

过滤示例

import JapaneseTokenizer
# with word filtering by stopword & part-of-speech condition #
print(mecab_wrapper.tokenize(input_sentence).filter(stopwords=['テレビ朝日'], pos_condition=[('名詞', '固有名詞')]).convert_list_object())

词性结构

mecab,juman,kytea有不同的词性系统(pos)。

您可以查看词类表(POS) here

类似包装

natto py

Natto PY是一个复杂的软件包用于标记化。它支持 以下功能

  • 标记化的简单界面
  • 导入其他词典
  • 部分解析模式

许可证

麻省理工学院许可证

对于开发人员

您可以构建一个具有依赖项的环境来测试 包裹。

简单地说,您可以构建docker映像并运行docker容器。

开发环境

开发环境是用test/docker-compose-dev.yml定义的。

使用docker-compose.yml文件,您可以调用python2.7或python3.7

如果你使用的是Pycharm专业版,你可以设置 docker-compose.yml作为远程解释器。

要调用python2.7,请设置/opt/conda/envs/p27/bin/python2.7

要调用python3.7,请设置/opt/conda/envs/p37/bin/python3.7

测试环境

这些命令检查从包安装过程到测试 包裹。

$ docker-compose build
$ docker-compose up

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题