导航:首页 > 编程语言 > Python开源汉语分词软件

Python开源汉语分词软件

发布时间:2023-01-05 06:07:31

1. 如何利用python对中文进行分词处理

python做中文分词处理主要有以下几种:结巴分词、NLTK、THULAC
1、fxsjy/jieba
结巴的标语是:做最好的 Python 中文分词组件,或许从现在来看它没做到最好,但是已经做到了使用的人最多。结巴分词网上的学习资料和使用案例比较多,上手相对比较轻松,速度也比较快。
结巴的优点:
支持三种分词模式
支持繁体分词
支持自定义词典
MIT 授权协议

2、THULAC:一个高效的中文词法分析工具包
前两天我在做有关于共享单车的用户反馈分类,使用jieba分词一直太过零散,分类分不好。后来江兄给我推荐了THULAC: 由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包 。THULAC的接口文档很详细,简单易上手。
THULAC分词的优点:
能力强。利用规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大。
准确率高。该工具包在标准数据集Chinese Treebank(CTB5)上分词的F1值可达97.3%,词性标注的F1值可达到92.9%
速度较快。同时进行分词和词性标注速度为300KB/s,每秒可处理约15万字。只进行分词速度达到1.3MB/s,速度比jieba慢

Python 解决中文编码问题基本可以用以下逻辑:
utf8(输入) ——> unicode(处理) ——> (输出)utf8
Python 里面处理的字符都是都是unicode 编码,因此解决编码问题的方法是把输入的文本(无论是什么编码)解码为(decode)unicode编码,然后输出时再编码(encode)成所需编码。
由于处理的一般为txt 文档,所以最简单的方法,是把txt 文档另存为utf-8 编码,然后使用Python 处理的时候解码为unicode(sometexts.decode('utf8')),输出结果回txt 的时候再编码成utf8(直接用str() 函数就可以了)。

2. 怎么是用python 语言 使用结巴分词 呢

Python代码

#encoding=utf-8
importjieba

seg_list=jieba.cut("我来到北京清华大学",cut_all=True)
print"FullMode:","/".join(seg_list)#全模式

seg_list=jieba.cut("我来到北京清华大学",cut_all=False)
print"DefaultMode:","/".join(seg_list)#默认模式

seg_list=jieba.cut("他来到了网易杭研大厦")
print",".join(seg_list)

输出:

FullMode:我/来/来到/到/北/北京/京/清/清华/清华大学/华/华大/大/大学/学

DefaultMode:我/来到/北京/清华大学

他,来到,了,网易,杭研,大厦(此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)

3. python中怎样处理汉语的同义词用结巴分词

python中文分词:结巴分词
中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点:
基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
安装(Linux环境)
下载工具包,解压后进入目录下,运行:python setup.py install

模式
默认模式,试图将句子最精确地切开,适合文本分析
全模式,把句子中所有的可以成词的词语都扫描出来,适合搜索引擎

接口
组件只提供jieba.cut 方法用于分词
cut方法接受两个输入参数:
第一个参数为需要分词的字符串
cut_all参数用来控制分词模式
待分词的字符串可以是gbk字符串、utf-8字符串或者unicode
jieba.cut返回的结构是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(...))转化为list

实例

#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all = True)
print "Full Mode:", ' '.join(seg_list)

seg_list = jieba.cut("我来到北京清华大学")
print "Default Mode:", ' '.join(seg_list)

4. 部分常用分词工具使用整理

以下分词工具均能在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开源汉语分词软件相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:301
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163