第二章:NLP常用开发工具包

1.NumPy

numpy系统是Python的一种开源的数值计算包。 包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

conda install numpy
或者  pip install numpy

2. NLTK

Natural Language Toolkit,自然语言处理工具包,在NLP领域中, 最常使用的一个Python库。

conda install nltk
或者  pip install nltk

3.Gensim

Gensim是一个占内存低,接口简单,免费的Python库,它可以用来从文档中自动提取语义主题。它包含了很多非监督学习算法如:TF/IDF,潜在语义分析(Latent Semantic Analysis,LSA)、隐含狄利克雷分配(Latent Dirichlet Allocation,LDA),层次狄利克雷过程 (Hierarchical Dirichlet Processes,HDP)等。
Gensim支持Word2Vec,Doc2Vec等模型。

conda install gensim
或者  pip install gensim

4.Tensorflow

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统。TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域。TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(戒GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用 性使其也可广泛用于其他计算领域。

conda install tensorflow
或者  pip install tensorflow

5.jieba

“结巴”中文分词:是广泛使用的中文分词工具,具有以下特点:
1)三种分词模式:精确模式,全模式和搜索引擎模式
2)词性标注和返回词语在原文的起止位置( Tokenize)
3)可加入自定义字典
4)代码对 Python 2/3 均兼容
5)支持多种语言,支持简体繁体
项目地址:https://github.com/fxsjy/jieba

pip install jieba

6.Stanford NLP

Stanford NLP提供了一系列自然语言分析工具。它能够给出基本的 词形,词性,不管是公司名还是人名等,格式化的日期,时间,量词, 并且能够标记句子的结构,语法形式和字词依赖,指明那些名字指向同 样的实体,指明情绪,提取发言中的开放关系等。 1.一个集成的语言分析工具集; 2.进行快速,可靠的任意文本分析; 3.整体的高质量的文本分析; 4.支持多种主流语言; 5.多种编程语言的易用接口; 6.方便的简单的部署web服务。

安裝

Python 版本stanford nlp 安装
• 1)安装stanford nlp自然语言处理包: pip install stanfordcorenlp
• 2)下载Stanford CoreNLP文件
https://stanfordnlp.github.io/CoreNLP/download.html
• 3)下载中文模型jar包, http://nlp.stanford.edu/software/stanford-chinese-
corenlp-2018-02-27-models.jar,
• 4)把下载的stanford-chinese-corenlp-2018-02-27-models.jar
放在解压后的Stanford CoreNLP文件夹中,改Stanford CoreNLP文件夹名为stanfordnlp(可选)
• 5)在Python中引用模型:

• from stanfordcorenlp import StanfordCoreNLP
• nlp = StanfordCoreNLP(r‘path', lang='zh')
其中path是第四步中解压出来的那个文件夹

测试

#-*-encoding=utf8-*-
from stanfordcorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP(r'stanfordnlp/', lang='zh')

fin=open('news.txt','r',encoding='utf8')
fner=open('ner.txt','w',encoding='utf8')
ftag=open('pos_tag.txt','w',encoding='utf8')
for line in fin:
    line=line.strip()
    if len(line)<1:
        continue

    fner.write(" ".join([each[0]+"/"+each[1] for  each in nlp.ner(line) if len(each)==2 ])+"\n")
    ftag.write(" ".join([each[0]+"/"+each[1] for each in nlp.pos_tag(line) if len(each)==2 ])+"\n")
fner.close()   
ftag.close()

7.Hanlp

HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然 语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构 清晰、语料时新、可自定义的特点。 功能:中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 新词发现 短语提取 自动摘要 文本分类 拼音简繁

Hanlp环境安装

• 1、安装Java:我装的是Java 1.8
• 2、安裝Jpype,
>  conda install -c conda-forge jpype1
> [或者]pip install jpype1
• 3、测试是否按照成功:
from jpype import *
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("Hello World")
shutdownJVM()       

Hanlp安装

• 1、下载hanlp.jar包: https://github.com/hankcs/HanLP
• 2、下载data.zip: https://github.com/hankcs/HanLP/releases 中
http://hanlp.linrunsoft.com/release/data-for-1.7.0.zip 后解压数据包。
• 3、配置文件
• 示例配置文件:hanlp.properties
• 配置文件的作用是告诉HanLP数据包的位置,只需修改第一行:root=usr/home/HanLP/
• 比如data目录是/Users/hankcs/Documents/data,那么root=/Users/hankcs/Documents/
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值