1.NumPy numpy系统是Python的一种开源的数值计算包。 包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
2. NLTK Natural Language Toolkit,自然语言处理工具包,在NLP领域中, 最常使用的一个Python库。
3.Gensim Gensim是一个占内存低,接口简单,免费的Python库,它可以用来从文档中自动提取语义主题。它包含了很多非监督学习算法如:TF/IDF,潜在语义分析(Latent Semantic Analysis,LSA)、隐含狄利克雷分配(Latent Dirichlet Allocation,LDA),层次狄利克雷过程 (Hierarchical Dirichlet Processes,HDP)等。 Gensim支持Word2Vec,Doc2Vec等模型。
4.Tensorflow TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统。TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域。TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(戒GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用 性使其也可广泛用于其他计算领域。
1 conda install tensorflow
5.jieba “结巴”中文分词:是广泛使用的中文分词工具,具有以下特点: 1)三种分词模式:精确模式,全模式和搜索引擎模式 2)词性标注和返回词语在原文的起止位置( Tokenize) 3)可加入自定义字典 4)代码对 Python 2/3 均兼容 5)支持多种语言,支持简体繁体 项目地址:https://github.com/fxsjy/jieba
6.Stanford NLP Stanford NLP提供了一系列自然语言分析工具。它能够给出基本的 词形,词性,不管是公司名还是人名等,格式化的日期,时间,量词, 并且能够标记句子的结构,语法形式和字词依赖,指明那些名字指向同 样的实体,指明情绪,提取发言中的开放关系等。 1.一个集成的语言分析工具集; 2.进行快速,可靠的任意文本分析; 3.整体的高质量的文本分析; 4.支持多种主流语言; 5.多种编程语言的易用接口; 6.方便的简单的部署web服务。
安裝 1 2 3 4 5 6 7 8 9 10 11 12 13 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') 例如: nlp = StanfordCoreNLP(r'/home/kuo/NLP/module/stanfordnlp/', lang='zh')
测试 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #-*-encoding=utf8-*- from stanfordcorenlp import StanfordCoreNLP nlp = StanfordCoreNLP(r'/home/kuo/NLP/module/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() print ("okkkkk")
7.Hanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然 语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构 清晰、语料时新、可自定义的特点。 功能:中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 新词发现 短语提取 自动摘要 文本分类 拼音简繁
Hanlp环境安装 1 2 3 4 5 6 7 8 9 • 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 2 3 4 5 6 7 8 • 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/
测试 1 2 3 4 5 6 7 8 9 10 11 12 #-*- coding:utf-8 -*- from jpype import * startJVM(getDefaultJVMPath(), "-Djava.class.path=/home/kuo/NLP/module/hanlp/hanlp-1.6.2.jar:/home/kuo/NLP/module/hanlp", "-Xms1g", "-Xmx1g") # 启动JVM,Linux需替换分号;为冒号: print("=" * 30 + "HanLP分词" + "=" * 30) HanLP = JClass('com.hankcs.hanlp.HanLP') # 中文分词 print(HanLP.segment('你好,欢迎在Python中调用HanLP的API')) print("-" * 70)