导航:首页 > 编程语言 > python依存句法分析

python依存句法分析

发布时间:2022-09-03 11:13:48

Ⅰ 如何用 python 中的 NLTK 对中文进行分析和处理

有很多好用的中文处理包:
Jieba:可以用来做分词,词性标注,TextRank
HanLP:分词,命名实体识别,依存句法分析,还有FudanNLP,NLPIR
个人觉得都比NLTK好用~

Ⅱ 目前常用的自然语言处理开源项目/开发包有哪些

中文主要有:NLTK,HanLP,Ansj,THULAC,结巴分词,FNLP,哈工大LTP,中科院ICTCLAS分词,GATE,SnowNLP,东北大学NiuTrans,NLPIR;英文主要有:NLTK,Genism,TextBlob,Stanford NLP,Spacy。英文的开源NLP工具主要参见StackoverFlow-java or python for nlp。HanLP:HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。开发语言:Java,网址:hankcs/HanLP,开发机构:大快公司,协议:Apache-2.0功能:非常多,主要有中文分词,词性标注,命名实体识别,关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析,文本分类:情感分析,word2vec,语料库工具。

Ⅲ hanlp可以使用python调用吗

安装JDK

JPype并没有像IKVM那样实现自己的JVM,而是以pipe方式调用原生JVM。所以我们需要一个JVM,比如:

Oracle JDK

OpenJDK

安装JDK非常简单,分清楚32位和64位即可,必须与OS和Python的位数一致,具体安装过程不再赘述。

唯一需要注意的是,必须设置环境变量JAVA_HOME到JDK的根目录,JDK的安装程序不一定会帮你做这一步。

安装编译工具链

Python的package一般是以源码形式发布的,其中一些C代码必须在用户机器上编译,所以需要安装编译工具链。当然你也可以跳过这步,直接下载binary。

Windows

安装免费的Visual C++ Express 2010。

Debian/Ubuntu
sudo apt-get install g++

Red Hat/Fedora
su -c 'yum install gcc-c++'

安装JPype

本文读者应该都是Python程序员,所以略过了安装Python这一步。不过必须注意的是,JPype版本与Python的对应兼容关系:

Python2.x:JPype

Python3.x:JPype1-py3

使用setup.py安装

下载源码后解压,在目录下运行:

*nix
sudo python3 setup.py install

Windows
python setup.py install

直接下载binary

当然你也可以选择下载binary,比如JPype1-py3主页上的binary列表。

在Pycharm中安装

如果你正在使用Pycharm这款IDE的话,那么事情就简单多了。

首先在Project Interpreter里面点击加号:

搜索JPype,选择你需要的版本安装:

稍等片刻就安装成功了:

测试安装结果

终于又到了写代码的开心时间了,可以通过如下代码测试是否安装成功:
from jpype import *startJVM(getDefaultJVMPath())java.lang.System.out.println("hello world")shutdownJVM()

输出如下结果表示安装成功:
hello worldJVM activity report : classes loaded : 31JVM has been shutdown

调用HanLP

关于HanLP

HanLP是
一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体
识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析
(MaxEnt依存句法分析、神经网络依存句法分析)。

下载HanLP

你可以直接下载Portable版的jar,零配置。

也可以使用自定义的HanLP——HanLP由3部分组成:类库hanlp.jar包、模型data包、配置文件hanlp.properties,请前往项目主页下载最新版:https://github.com/hankcs/HanLP/releases。对于非portable版,下载后,你需要编辑配置文件第一行的root指向data的父目录,详见文档。

这里,假设新建了一个目录(假定为C:\hanlp),把hanlp.jar和hanlp.properties(portable版的话,仅需一个hanlp-portable.jar)放进去:

Python调用

下面是一份Python3的调用示例:
# -*- coding:utf-8 -*-
# Filename: main.py
# Author:hankcs
# Date: 2015/11/26 14:16
from jpype import *

startJVM(getDefaultJVMPath(), "-Djava.class.path=C:\hanlp\hanlp-1.2.8.jar;C:\hanlp", "-Xms1g", "-Xmx1g")
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分词
print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))
testCases = [
"商品和服务",
"结婚的和尚未结婚的确实在干扰分词啊",
"买水果然后来世博园最后去世博会",
"中国的首都是北京",
"欢迎新老师生前来就餐",
"工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作",
"随着页游兴起到现在的页游繁盛,依赖于存档进行逻辑判断的设计减少了,但这块也不能完全忽略掉。"]
for sentence in testCases: print(HanLP.segment(sentence))
# 命名实体识别与词性标注
NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
print(NLPTokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))
# 关键词提取
document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \
"根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \
"有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \
"严格地进行水资源论证和取水许可的批准。"
print(HanLP.extractKeyword(document, 2))
# 自动摘要
print(HanLP.extractSummary(document, 3))
# 依存句法分析
print(HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。"))
shutdownJVM()

Ⅳ python自然语言处理有没有新的版本

1 缘起

本文试着向读者们介绍自然语言处理(Natural Language Processing)这一领域,通常简称为 NLP。然而,不同于一般只是描述 NLP 重要概念的文章,本文还借助 Python 来形象地说明。对于不熟悉 Python 的读者们,本文也提供了部分参考资料教你如何进行 Python 编程

2 相关介绍

2.1 自然语言处理

自然语言处理广纳了众多技术,对自然或人类语言进行自动生成,处理与分析。虽然大部分 NLP 技术继承自语言学和人工智能,但同样受到诸如机器学习,计算统计学和认知科学这些相对新兴的学科影响。

在展示 NLP 技术的例子前,有必要介绍些非常基础的术语。请注意:为了让文章通俗易懂,这些定义在语言上就不一定考究。

Ⅳ 部分常用分词工具使用整理

以下分词工具均能在Python环境中直接调用(排名不分先后)。

1、jieba(结巴分词) 免费使用

2、HanLP(汉语言处理包) 免费使用

3、SnowNLP(中文的类库) 免费使用

4、FoolNLTK(中文处理工具包) 免费使用

5、Jiagu(甲骨NLP) 免费使用

6、pyltp(哈工大语言云) 商用需要付费

7、THULAC(清华中文词法分析工具包) 商用需要付费

8、NLPIR(汉语分词系统) 付费使用

1、jieba(结巴分词)

“结巴”中文分词:做最好的 Python 中文分词组件。

项目Github地址:jieba

安装

pip install jieba

使用

import jieba

jieba.initialize()

text = '化妆和服装'

words = jieba.cut(text)

words = list(words)

print(words)

2、HanLP(汉语言处理包)

HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。

项目Github地址:pyhanlp

安装:

pip install pyhanlp

使用

import pyhanlp

text = '化妆和服装'

words = []

for term in pyhanlp.HanLP.segment(text):

words.append(term.word)

print(words)

3、SnowNLP(中文的类库)

SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。

项目Github地址:snownlp

安装:

pip install snownlp

使用:

import snownlp

text = '化妆和服装'

words = snownlp.SnowNLP(text).words

print(words)

4、FoolNLTK(中文处理工具包)

可能不是最快的开源中文分词,但很可能是最准的开源中文分词。

项目Github地址:FoolNLTK

安装:

pip install foolnltk

使用:

import fool

text = '化妆和服装'

words = fool.cut(text)

print(words)

5、Jiagu(甲骨NLP)

基于BiLSTM模型,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、关键词抽取、文本摘要、新词发现等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。

项目Github地址:jiagu

安装:

pip3 install jiagu

使用:

import jiagu

jiagu.init()

text = '化妆和服装'

words = jiagu.seg(text)

print(words)

6、pyltp(哈工大语言云)

pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

项目Github地址:pyltp,3.4模型下载链接:网盘

安装:

pip install pyltp

使用:

import pyltp

segmentor = pyltp.Segmentor()

segmentor.load('model/ltp_data_v3.4.0/cws.model') # 模型放置的路径

text = '化妆和服装'

words = segmentor.segment(text)

words = list(words)

print(words)

7、THULAC(清华中文词法分析工具包)

THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与 社会 人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。

项目Github地址:THULAC-Python

安装:

pip install thulac

使用:

import thulac

thu = thulac.thulac(seg_only=True)

text = '化妆和服装'

words = thu.cut(text, text=True).split()

print(words)

NLPIR(汉语分词系统)

主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台。

项目Github地址:pynlpir

安装:

pip install pynlpir

下载证书覆盖到安装目录,NLPIR.user 例如安装目录:/usr/lib64/python3.4/site-packages/pynlpir/Data

使用

import pynlpir

pynlpir.open()

text = '化妆和服装'

words = pynlpir.segment(text, pos_tagging=False)

print(words)

pynlpir.close()

Ⅵ python数据挖掘——文本分析

作者 | zhouyue65

来源 | 君泉计量

文本挖掘:从大量文本数据中抽取出有价值的知识,并且利用这些知识重新组织信息的过程。

一、语料库(Corpus)

语料库是我们要分析的所有文档的集合。

二、中文分词

2.1 概念:

中文分词(Chinese Word Segmentation):将一个汉字序列切分成一个一个单独的词。

eg:我的家乡是广东省湛江市-->我/的/家乡/是/广东省/湛江市

停用词(Stop Words):

数据处理时,需要过滤掉某些字或词

√泛滥的词,如web、网站等。

√语气助词、副词、介词、连接词等,如 的,地,得;

2.2 安装Jieba分词包:

最简单的方法是用CMD直接安装:输入pip install jieba,但是我的电脑上好像不行。

后来在这里:https://pypi.org/project/jieba/#files下载了jieba0.39解压缩后 放在Python36Libsite-packages里面,然后在用cmd,pip install jieba 就下载成功了,不知道是是什么原因。

然后我再anaconda 环境下也安装了jieba,先在Anaconda3Lib这个目录下将jieba0.39的解压缩文件放在里面,然后在Anaconda propt下输入 pip install jieba,如下图:

2.3 代码实战:

jieba最主要的方法是cut方法:

jieba.cut方法接受两个输入参数:

1) 第一个参数为需要分词的字符串

2)cut_all参数用来控制是否采用全模式

jieba.cut_for_search方法接受一个参数:需要分词的字符串,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细

注意:待分词的字符串可以是gbk字符串、utf-8字符串或者unicode

jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(...))转化为list代码示例( 分词 )

输出结果为: 我 爱

Python

工信处

女干事

每月 经过 下属 科室 都 要 亲口

交代

24 口 交换机 等 技术性 器件 的 安装

工作

分词功能用于专业的场景:

会出现真武七截阵和天罡北斗阵被分成几个词。为了改善这个现象,我们用导入词库的方法。

但是,如果需要导入的单词很多,jieba.add_word()这样的添加词库的方法就不高效了。

我们可以用jieba.load_userdict(‘D:PDM2.2金庸武功招式.txt’)方法一次性导入整个词库,txt文件中为每行一个特定的词。

2.3.1 对大量文章进行分词

先搭建语料库:

分词后我们需要对信息处理,就是这个分词来源于哪个文章。

四、词频统计

3.1词频(Term Frequency):

某个词在该文档中出现的次数。

3.2利用Python进行词频统计

3.2.1 移除停用词的另一种方法,加if判断

代码中用到的一些常用方法:

分组统计:

判断一个数据框中的某一列的值是否包含一个数组中的任意一个值:

取反:(对布尔值)

四、词云绘制

词云(Word Cloud):是对文本中词频较高的分词,给与视觉上的突出,形成“关键词渲染”,从而国旅掉大量的文本信息,使浏览者一眼扫过就可以领略文本的主旨。

4.1 安装词云工具包

这个地址:https://www.lfd.uci.e/~gohlke/pythonlibs/ ,可以搜到基本上所有的Python库,进去根据自己的系统和Python的版本进行下载即可。

在python下安装很方便,在anaconda下安装费了点劲,最终将词云的文件放在C:UsersAdministrator 这个目录下才安装成功。

五、美化词云(词云放入某图片形象中)

六、关键词提取

结果如下:

七、关键词提取实现

词频(Term Frequency):指的是某一个给定的词在该文档中出现的次数。

计算公式: TF = 该次在文档中出现的次数

逆文档频率(Inverse Document Frequency):IDF就是每个词的权重,它的大小与一个词的常见程度成反比

计算公式:IDF = log(文档总数/(包含该词的文档数 - 1))

TF-IDF(Term Frequency-Inverse Document Frequency):权衡某个分词是否关键词的指标,该值越大,是关键词的可能性就越大。

计算公式:TF - IDF = TF * IDF

7.1文档向量化

7.2代码实战

Ⅶ 如何使用python中的nltk对哈萨克语或阿拉伯语进行句法分析

如果是英语和西班牙语可以用Inflector。https://pypi.python.org/pypi/Inflector
使用这个模块可以对名词的单复数进行转换及字符操作。
哈萨克语或阿拉伯语,还要进行语法分析这个就没办法了。
如果你有语料库及语言知识的话,其实可以自己去做。
话说阿拉伯语的动词活用那不是一般的难,这个是我参与的项目
http://www.cjk.org/cjk/arabic/cave/cave.htm

Ⅷ 使用python对txt文本进行分析和提取

实现的方法和详细的操作步骤如下:

1、首先,打开计算机上的pycharm编辑器,如下图所示,然后进入下一步。

Ⅸ python数据分析的一般步骤是什么

下面是用python进行数据分析的一般步骤:
一:数据抽取
从外部源数据中获取数据
保存为各种格式的文件、数据库等
使用Scrapy爬虫等技术
二:数据加载
从数据库、文件中提取数据,变成DataFrame对象
pandas库的文件读取方法
三:数据处理
数据准备:
对DataFrame对象(多个)进行组装、合并等操作
pandas库的操作
数据转化:
类型转化、分类(面元等)、异常值检测、过滤等
pandas库的操作
数据聚合:
分组(分类)、函数处理、合并成新的对象
pandas库的操作
四:数据可视化
将pandas的数据结构转化为图表的形式
matplotlib库
五:预测模型的创建和评估
数据挖掘的各种算法:
关联规则挖掘、回归分析、聚类、分类、时序挖掘、序列模式挖掘等
六:部署(得出结果)
从模型和评估中获得知识
知识的表示形式:规则、决策树、知识基、网络权值
更多技术请关注python视频教程。

Ⅹ python 能调用fudannlp吗

有很多好用的中文处理包: Jieba:可以用来做分词,词性标注,TextRank HanLP:分词,命名实体识别,依存句法分析,还有FudanNLP,NLPIR 个人觉得都比NLTK好用~

阅读全文

与python依存句法分析相关的资料

热点内容
永宏plc用什么编程电缆 浏览:369
win激活命令行 浏览:886
新手学电脑编程语言 浏览:893
云空间在哪个文件夹 浏览:926
编程游戏小猫抓小鱼 浏览:790
安卓dosbox怎么打开 浏览:774
服务器无影响是怎么回事 浏览:954
比德电子采购平台加密 浏览:202
加密货币400亿 浏览:524
植发2次加密 浏览:44
vc6查看编译的错误 浏览:595
心理大全pdf 浏览:1002
区域链加密币怎么样 浏览:343
查找命令符 浏览:95
压缩工具zar 浏览:735
白盘怎么解压 浏览:475
辰语程序员学习笔记 浏览:47
程序员被公司劝退 浏览:523
java三子棋 浏览:693
加密空间怎么强制进入 浏览:345