赞
踩
之前介绍的工具集主要用于英文的处理,而以中文为代表的汉藏语系与以英语为代表的印欧语系不同,一个显著的区别在于词语之间不存在明显的分隔符,句子一般是由一串连续的字符构成,因此在处理中文时,需要使用更有针对性的分析工具。
语言技术平台(Language Technology Platform,LTP)是哈尔滨工业大学社会计算与信息检索研究中心(HIT-SCIR)历时多年研发的一整套高效、高精度的中文自然语言处理开源基础技术平台。该平台集词法分析(分词、分词标注和命名实体识别)、句法分析(依存句法分析)和语义分析(语义角色标注和语义依存分析)等多项自然语言处理技术于一体。最新发布的LTP4.0版本使用Python语言编写,采用预训练模型以及多任务学习机制,能够以较小的模型获得非常高的分析精度。
安装:
pip install ltp
安装上的话,用这个:
pip install ltp -i https://pypi.tuna.tsinghua.edu.cn/simple
下面对LTP的使用方法进行简要的介绍:
1.中文分词
如上所述,由于中文词语之间没有空格进行分割,而自然语言处理中通常以词为最小的处理单位,因此需要对中文进行分词处理。中文的分词与英文的标记解析功能类似,只是中文分词更强调识别句子中的词语信息,因此往往不被成为标记解析。另外,与标记解析相比,由于一个句子往往有多重可能的分词结果,因此分词任务的难度更高,精度也更低。使用LTP进行分词非常容易,具体示例如下。
- from ltp import LTP
- ltp = LTP()# 默认加载Small模型,首次使用时会自动下载并加载模型
- segment,hidden = ltp.seg(['南京市长江大桥。'])# 对句子进行分词,结果使用segment访问,hidden用于# 访问每个词的隐含层向量,用于后续分析步骤
-
- print(segment)
2.其他中文自然语言处理功能
除了分词功能,LTP还提供了分句、词性标注、命名实体识别、依存句法分析和语义角色标注等功能。
与NLTK类似,在此只演示如何使用LTP进行分句和词性标注。
- sentences = ltp.sent_split(["南京长江大桥。","汤姆生病了。他去了医院。"])
- print(sentences)
- segment,hidden = ltp.seg(sentences)
- print(segment)
- pos_tags = ltp.pos(hidden) # 词性标注
- print(pos_tags)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。