㈠ 关于jieba分词,我已有jie包,手动安装说把jieba放在当然目录或site-package这
在你使用import jieba导入包时,会从sys.path列表中的文件路径中查找,如:python目录,site-pacakges,系统目录,当前目录等(不一定是这个顺序)
site-packages里面放的是第三方包,用安装的方法时,安装包会把对应的文件释放到site-packages,而手动时一样的意思,把对应的包复制到site-packages即可。
㈡ 请问在结巴分词后,如何获取关键词的同义词或近义词呢
恶
㈢ 结巴分词的那个 dict.txt 是用什么工具训练出来的呢
需要使用的哦
㈣ thulac 分词 用的什么词典
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() 函数就可以了)。
㈤ python下nltk.probability包是干什么的
NLTK是python的自然语言工具包,probability用于计算单词的概率。类似于结巴分词的功能吧。
㈥ 结巴是几个语素
jiuba有6个语素。
jieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注的功能,词性类别如下:
Ag | 形语素 | 形容词性语素。形容词代码为 a,语素代码g前面置以A。
a | 形容词 | 取英语形容词 adjective的第1个字母。
ad | 副形词 | 直接作状语的形容词。形容词代码 a和副词代码d并在一起。
an | 名形词 | 具有名词功能的形容词。形容词代码 a和名词代码n并在一起。
b | 区别词 | 取汉字“别”的声母。
c | 连词 | 取英语连词 conjunction的第1个字母。
dg | 副语素 | 副词性语素。副词代码为 d,语素代码g前面置以D。
d | 副词 | 取 adverb的第2个字母,因其第1个字母已用于形容词。
e | 叹词 | 取英语叹词 exclamation的第1个字母。
f | 方位词 | 取汉字“方”
g | 语素 |绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。
h | 前接成分 | 取英语 head的第1个字母。
i | 成语 | 取英语成语 idiom的第1个字母。
j | 简称略语 | 取汉字“简”的声母。
k | 后接成分
l | 习用语 | 习用语尚未成为成语,有点“临时性”,取“临”的声母。
m | 数词 | 取英语 numeral的第3个字母,n,u已有他用。
Ng | 名语素 | 名词性语素。名词代码为 n,语素代码g前面置以N。
n | 名词 | 取英语名词 noun的第1个字母。
nr | 人名 | 名词代码 n和“人(ren)”的声母并在一起。
ns | 地名 | 名词代码 n和处所词代码s并在一起。
nt | 机构团体 | “团”的声母为 t,名词代码n和t并在一起。
nz | 其他专名 | “专”的声母的第 1个字母为z,名词代码n和z并在一起。
o | 拟声词 | 取英语拟声词 onomatopoeia的第1个字母。
p | 介词 | 取英语介词 prepositional的第1个字母。
q | 量词 | 取英语 quantity的第1个字母。
r | 代词 | 取英语代词 pronoun的第2个字母,因p已用于介词。
s | 处所词 | 取英语 space的第1个字母。
tg | 时语素 | 时间词性语素。时间词代码为 t,在语素的代码g前面置以T。
t | 时间词 | 取英语 time的第1个字母。
u | 助词 | 取英语助词 auxiliary
vg | 动语素 | 动词性语素。动词代码为 v。在语素的代码g前面置以V。
v | 动词 | 取英语动词 verb的第一个字母。
vd | 副动词 | 直接作状语的动词。动词和副词的代码并在一起。
vn | 名动词 | 指具有名词功能的动词。动词和名词的代码并在一起。
w | 标点符号
x | 非语素字 | 非语素字只是一个符号,字母 x通常用于代表未知数、符号。
y | 语气词 | 取汉字“语”的声母。
z | 状态词 | 取汉字“状”的声母的前一个字母。
un | 未知词 | 不可识别词及用户自定义词组。取英文Unkonwn首两个字母。(非北大标准,CSW分词中定义)
㈦ python3怎么使用结巴分词
下面这个程序是对一个文本文件里的内容进行分词的程序:test.py
[python] view plain
#!/usr/bin/python
#-*-encoding:utf-8-*-
importjieba#导入jieba模块
defsplitSentence(inputFile,outputFile):
fin=open(inputFile,'r')#以读的方式打开文件
fout=open(outputFile,'w')#以写得方式打开文件
foreachLineinfin:
line=eachLine.strip().decode('utf-8','ignore')#去除每行首尾可能出现的空格,并转为Unicode进行处理
wordList=list(jieba.cut(line))#用结巴分词,对每行内容进行分词
outStr=''
forwordinwordList:
outStr+=word
outStr+='/'
fout.write(outStr.strip().encode('utf-8')+' ')#将分词好的结果写入到输出文件
fin.close()
fout.close()
splitSentence('myInput.txt','myOutput.txt')
写完程序之后,在Linux重点输入:python test.py即可运行程序进行分词。
输入的文件内容如下所示:
注意:第11行的 jieba.cut()返回的结构是一个可迭代的generator,可以用list(jieba.cut(...))转化为list
㈧ 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)
㈨ 结巴分词 词性标注 输出的是什么类型
nltk.word_tokenize(sent) #对句子进行分词二、NLTK进行词性标注用到的函数:...但是nltk有很好的树类,该类用list实现可以利用stanfordparser的输出构建一棵python...
㈩ 怎么是用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算法识别出来了)