hanlp分词器hanlp 同义词转换器词典怎么使用

1640人阅读
知识图谱(3)
本来想通过python调用Java实现Hanlp的使用,参考文章:
##########python可以用easy_install安装一些软件############
1.JPype使用介绍
Python 作为一种灵活的软件开发语言在当今被广泛使用。在软件开发过程中,有时需要在 Python 项目中利用既有的 Java 代码,已达到节省时间和开发成本的目的。因此,找到一个 Python 代码调用 Java 代码的桥梁是非常有意义的。
JPype 就是这样的一个工具,利用它可以使 Python 程序方便的调用 Java 代码,从而扩充 Python 语言的能力,弥补 Python 语言的不足。本文介绍了如何利用 JPype 整合 Python 程序和 Java 程序的一些基本方法。
下面是一个简单的 python 程序,通过 JPype 调用 Java 的打印函数,打印出字符串。
清单 1. hello world
import jpype
jvmPath = jpype.getDefaultJVMPath()
jpype.startJVM(jvmPath)
jpype.java.lang.System.out.println( “ hello world! ” )
jpype.shutdownJVM()
运行该例程的时候,getDefaultJVMPath()找不到默认的jvm路径,检查发现在命令行下输入java和javac都是没问题,而且已经配置好环境变量。找到jpype官方文档给的例程(),使用说明()发现历程中jdk中jre文件有client文件夹,而现在版本只有server文件夹,然后找一篇文章介绍jvm中client模式和server模式的区别(),发现他们用的都是jdk1.6,而现在的版本是jdk1.8,猜想新版本已经没有该功能了,把jdk换成1.6版本还是发现没有client文件夹,放弃在python中调用java包Hanlp,直接在java程序中使用hanlp。
11大Java开源中文分词器的使用方法和分词效果对比:
2.关于HanLP
HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持:
中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),
命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),
关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、神经网络依存句法分析)。
Hanlp的安装和入门说明:
HanLP 中的数据分为 词典 和 模型 ,其中 词典 是词法分析必需的, 模型 是句法分析必需的
官网demo:
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11128次
排名:千里之外
原创:24篇18:51 提问
hanlp自定义字典不起作用
配置的地址没有报错,
CustomDictionaryPath=data/dictionary/custom/CustomDictionary.CompanyName.school.
字典(school.txt):
上海财经大学 ntu 1
上海交通大学 ntu 1
复旦大学 ntu 1
北京大学 ntu 1
清华大学 ntu 1
中国科学技术大学 ntu 1
浙江大学 ntu 1
中国人民大学 ntu 1
对外经济贸易大学 ntu 1
中央财经大学 ntu 1
同济大学 ntu 1
外交学院 ntu 1
上海外国语大学 ntu 1
北京外国语大学 ntu 1
北京航空航天大学 ntu 1
方法这样调用:
Segment segment = HanLP.newSegment().enableCustomDictionary(true);
final List schoolList = segment.seg(content);
但我定义的词和词性还是没有按照我设置的词进行分词,
例如我在自己的分词txt文件中设置了 浙江大学 ntu 1,
但分词后还是分成了 浙江 nt,大学 n,请大神指点一二
回复数排序
另外注意以下两点:
1、保证自定义字典文件编码格式为utf-8;
2、删除\data\dictionary\custom\CustomDictionary.txt.bin缓存文件;
再次运行会提示找不到CustomDictionary.txt.bin文件,然后大概需要100s等待重新加载自定义词典即可!
补充一点,自定义词中不能含有空格,否则一直会有警告。11大Java开源中文分词器的使用方法和分词效果对比 - 为程序员服务
11大Java开源中文分词器的使用方法和分词效果对比
作者:liuchi1993
本文的目标有两个:
1、学会使用11大Java开源中文分词器
2、对比分析11大Java开源中文分词器的分词效果
本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。
11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:
从上面的定义我们知道,在Java中,同样的方法名称和参数,但是返回值不同,这种情况不可以使用重载。
这两个方法的区别在于返回值,每一个分词器都可能有多种分词模式,每种模式的分词结果都可能不相同,第一个方法忽略分词器模式,返回所有模式的所有不重复分词结果,第二个方法返回每一种分词器模式及其对应的分词结果。
在这里,需要注意的是我们使用了Java8中的新特性默认方法,并使用stream把一个map的value转换为不重复的集合。
下面我们利用这11大分词器来实现这个接口:
1、word分词器
2、Ansj分词器
3、Stanford分词器
4、FudanNLP分词器
5、Jieba分词器
6、Jcseg分词器
7、MMSeg4j分词器
8、IKAnalyzer分词器
9、Paoding分词器
10、smartcn分词器
11、HanLP分词器
现在我们已经实现了本文的第一个目的:学会使用11大Java开源中文分词器。
最后我们来实现本文的第二个目的:对比分析11大Java开源中文分词器的分词效果,程序如下:
运行结果如下:
关注大数据和大数据应用_大数据第一科技网
原文地址:, 感谢原作者分享。
您可能感兴趣的代码

我要回帖

更多关于 hanlp同义词 的文章

 

随机推荐