建设网站iss,手工活接单在家做有正规网站吗,做网站 每月赚 钱,wordpress语言包编辑导读#xff1a;随着自然语言处理(Natural Language Processing, NLP)技术日趋成熟#xff0c;实现中文分词的工具也越来越多。中文分词技术作为中文自然语言处理的第一项核心技术#xff0c;是众多上层任务的首要基础工作#xff0c;同时在日常的工作中起着基础性的作用。… 导读随着自然语言处理(Natural Language Processing, NLP)技术日趋成熟实现中文分词的工具也越来越多。中文分词技术作为中文自然语言处理的第一项核心技术是众多上层任务的首要基础工作同时在日常的工作中起着基础性的作用。本文将讲解如何在Python环境下调用HanLP包进行分词并结合Python语言简约的特性实现一行代码完成中文分词。常用中文分词工具工具名称是否开源工具描述Jieba结巴分词免费使用jieba库是一款优秀的支持 Python 第三方中文分词库jieba支持三种分词模式精确模式、全模式和搜索引擎模式。SnowNLP中文的类库免费使用SnowNLP是一个python写的类库可以方便的处理中文文本内容是受到了TextBlob的启发而写的诞生了一个方便处理中文的类库。FoolNLTK中文处理工具包免费使用FoolNLTK是基于Bi-LSTM模型训练成的中文分词工具仅适用于Linux系统。Jiagu甲骨工具包免费使用Jiagu以BiLSTM等模型为基础使用大规模语料训练而成。集成多种NLP基础处理功能并支持知识图谱开放信息抽取。HanLP汉语言处理包免费使用HanLP是一系列模型与算法组成的NLP工具包由大快搜索主导并完全开源目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。pyltp哈工大语言云付费使用pyltp 是哈工大自然语言工作组推出的一款基于Python 封装的自然语言处理工具提供了分词词性标注命名实体识别依存句法分析语义角色标注的功能。THULAC(清华中文词法分析)付费使用THULACTHU Lexical Analyzer for Chinese是由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包具有中文分词和词性标注功能。NLPIR汉语分词系统付费使用NLPIR大数据语义智能分析平台由北京理工大学大数据搜索与挖掘实验室研发的“自然语言处理与信息检索共享平台。01 什么是中文分词 众所周知英文是以词为单位的词和词之间是靠空格隔开。而在汉语中词以字为基本单位但是一篇文章的语义表达却仍然是以词来划分。例如英文句子I am a student用中文则为我是一个学生。计算机可以很简单通过空格知道student是一个单词但是不能很容易明白学、生两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词就是中文分词有些人也称为切词。我是一个学生分词的结果是我 是 一个 学生。因此需要针对中文汉字将其按照一定的方式进行组织分成不同的词。 中文分词是让计算机自动识别出句子中的词然后在词间加入边界标记符。这个过程的主要困难在于分词规范、歧义切分和未登陆词的识别。 分词规范可以理解为国人并没有统一对汉语词的认识对汉语词的认识的操作尺度很难把握极易受到主观因素的影响从而无法提供一个公认的、具有权威性的词表例如普通说话人的语感与语言学家的标准就有较大的差异。 歧义切分可以举例如下南京市长江大桥的分词有两种切分南京市\长江大桥 和 南京\市长\江大桥。这种情况在汉语文本中非常普遍并且处理这类问题往往也要复杂得多。 未登录词的识别生词可以有两种解释一是指已有词典中没有收录的词二是指已有的训练语料中未曾出现过的词。所以从某种意义上来说生词对分词的影响是最容易处理的。02 HanLP分词1. 安装HanLP HanLP的API总体来说并不多且需要进行的配置并不复杂适合新手上手。下载完成后可以使用如下命令进行安装。要求Python 3.6以上支持Windows可以在CPU上运行推荐GPU/TPU。pip install pyhanlp 注若未安装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/pyhanlp2. 分词实战2.1 简单实例 首先我们通过一个官网的实例直观认识下HanLP的分词结果。import pyhanlp
text 铁甲网是中国最大的工程机械交易平台
words []
for term in pyhanlp.HanLP.segment(text):words.append(term.word)
print(words) #输出分词结果分词结果如下所示。[铁甲, 网, 是, 中国, 最大, 的, 工程, 机械, 交易, 平台]2.2 自定义词典分词 接着我们通过自定义增加不同领域内的专有名词的词典从而进一步优化HanLP的分词结果。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作为开源框架并不是只有分词这一个功能还提供了很多在分词之上的算法如关键词提取、自动摘要、依存句法分析、情感分析等这里不再赘述。