nlpir大数据语义智能分析平台推荐 nlpir大数据语义智能分析平台( 二 )

注:若未安装Java则会报如下错误 。 因为HanLP 主项目采用 Java 开发 , 所以需要 Java 运行环境 , 请安装 JDK 。
jpype.jvmfinder.JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVAHOME environment variable properly.项目Github地址:
https://github.com/hankcs/pyhanlp
2. 分词实战
2.1 简单实例
首先 , 我们通过一个官网的实例直观认识下HanLP的分词结果 。
import pyhanlptext = '铁甲网是中国最大的工程机械交易平台'words = for term in pyhanlp.HanLP.segment(text): words.append(term.word)print(words) #输出分词结果分词结果如下所示 。
['铁甲', '网', '是', '中国', '最大', '的', '工程', '机械', '交易', '平台']2.2 自定义词典分词
接着 , 我们通过自定义增加不同领域内的专有名词的词典 , 从而进一步优化HanLP的分词结果 。
【nlpir大数据语义智能分析平台推荐 nlpir大数据语义智能分析平台】CustomDictionary.add("铁甲网") CustomDictionary.insert("工程机械", "nz 1024") CustomDictionary.add("交易平台", "nz 1024 n 1") print(HanLP.segment(txt))分词结果如下所示 。
['铁甲网', '是', '中国', '最大', '的'2.3 优化分词代码
最后 , 我们可以利用Python语言的简约性将代码优化成如下一行 。
其中 , text 存放的是待分词的文本;

正则表达式 re.fullmatch(r'[\u4e00-\u9fa5]+',i)
的作用是仅保留汉字 , 过滤掉非汉字之外的字符 。
words = [i for i in [i.word for i in pyhanlp.HanLP.segment(text)] if re.fullmatch(r'[\u4e00-\u9fa5]+',i)]当然了 , HanLP作为开源框架 , 并不是只有分词这一个功能 , 还提供了很多在分词之上的算法 , 如关键词提取、自动摘要、依存句法分析、情感分析等 , 这里不再赘述 。

推荐阅读