当前位置:首页 » 编程语言 » python3结巴

python3结巴

发布时间: 2022-08-09 16:16:32

Ⅰ 在python 环境下,使用结巴分词,自动导入文本,分词,提取关键词.脚本 大侠给个

#-*-coding:UTF-8-*-

importjieba

__author__='lpe234'


seg_list=jieba.cut("我来到北京天安门",cut_all=True)
print','.join(seg_list)
...
Loadingmodelfromcache/var/folders/sv//T/jieba.cache
我,来到,北京,天安,天安门
Loadingmodelcost0.433seconds.
.

Processfinishedwithexitcode0

Ⅱ python问题

#python3
importre
importsys
a='''我是中国人
巴林公主将于今日举行婚礼'''
b='''我
我是
是中国人
中国人
我是中国

巴林
公主


今日
举行
婚礼
举行婚礼'''
b=b.splitlines()
defsolve(a=a,b=b,file=sys.stdout):
def_f(s,start,temp=[]):
forpinb:
ifs[start:].startswith(p):
temp.append(p)
end=start+len(p)+1
ifend>=len(s):
file.write(str(temp)+' ')
temp.pop()
return
else:
_f(s,end,temp)
temp.pop()
forsina.splitlines():
_f(s,0)
>>>solve()
['我','是中国人']
['我是','中国人']
['我是中国','人']
['巴林','公主','将','于','今日','举行','婚礼']
['巴林','公主','将','于','今日','举行婚礼']

Ⅲ 怎么是用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算法识别出来了)

Ⅳ 一个txt文档,已经用结巴分词分完词,怎么用python工具对这个分完词的文档进行计算统计词频,求脚本,非

#!/usr/bin/envpython3
#-*-coding:utf-8-*-

importos,random

#假设要读取文件名为aa,位于当前路径
filename='aa.txt'
dirname=os.getcwd()
f_n=os.path.join(dirname,filename)
#注释掉的程序段,用于测试脚本,它生成20行数据,每行有1-20随机个数字,每个数字随机1-20
'''
test=''
foriinrange(20):
forjinrange(random.randint(1,20)):
test+=str(random.randint(1,20))+''
test+=' '
withopen(f_n,'w')aswf:
wf.write(test)
'''
withopen(f_n)asf:
s=f.readlines()

#将每一行数据去掉首尾的空格和换行符,然后用空格分割,再组成一维列表
words=[]
forlineins:
words.extend(line.strip().split(''))

#格式化要输出的每行数据,首尾各占8位,中间占18位
defgeshi(a,b,c):
returnalignment(str(a))+alignment(str(b),18)+alignment(str(c))+' '
#中英文混合对齐,参考http://bbs.fishc.com/thread-67465-1-1.html,二楼
#汉字与字母格式化占位format对齐出错对不齐汉字对齐数字汉字对齐字母中文对齐英文
#alignment函数用于英汉混合对齐、汉字英文对齐、汉英对齐、中英对齐
defalignment(str1,space=8,align='left'):
length=len(str1.encode('gb2312'))
space=space-lengthifspace>=lengthelse0
ifalignin['left','l','L','Left','LEFT']:
str1=str1+''*space
elifalignin['right','r','R','Right','RIGHT']:
str1=''*space+str1
elifalignin['center','c','C','Center','CENTER','centre']:
str1=''*(space//2)+str1+''*(space-space//2)
returnstr1

w_s=geshi('序号','词','频率')
#由(词,频率)元组构成列表,先按频率降序排序,再按词升序排序,多级排序,一组升,一组降,高级sorted
wordcount=sorted([(w,words.count(w))forwinset(words)],key=lambdal:(-l[1],l[0]))
#要输出的数据,每一行由:序号(占8位)词(占20位)频率(占8位)+' '构成,序号=List.index(element)+1
for(w,c)inwordcount:
w_s+=geshi(wordcount.index((w,c))+1,w,c)
#将统计结果写入文件ar.txt中
writefile='ar.txt'
w_n=os.path.join(dirname,writefile)
withopen(w_n,'w')aswf:
wf.write(w_s)

Ⅳ 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)

Ⅵ python3 进行结巴分词时可以并行处理吗

下面这个程序是对一个文本文件里的内容进行分词的程序:test.py
[python] view plain
#!/usr/bin/python
#-*- encoding:utf-8 -*-
import jieba #导入jieba模块

def splitSentence(inputFile, outputFile):
fin = open(inputFile, 'r') #以读的方式打开文件
fout = open(outputFile, 'w') #以写得方式打开文件

for eachLine in fin:
line = eachLine.strip().decode('utf-8', 'ignore') #去除每行首尾可能出现的空格,并转为Unicode进行处理
wordList = list(jieba.cut(line)) #用结巴分词,对每行内容进行分词
outStr = ''
for word in wordList:
outStr += word
outStr += '/ '
fout.write(outStr.strip().encode('utf-8') + '\n') #将分词好的结果写入到输出文件
fin.close()
fout.close()

splitSentence('myInput.txt', 'myOutput.txt')
写完程序之后,在Linux重点输入:python test.py即可运行程序进行分词。

Ⅶ 请问python的结巴jieba为什么提示:MoleNotFoundError: No mole named 'jieba'

朋友,你电脑里面有好几个版本的python了,你安装jieba的版本是3.6.4,
你打开的idle是3.6.5,所以这个版本找不到jieba的路径咯。

Ⅷ 怎么给python安装结巴分词

pip安装
下载包后放到python的目录下
大约记得是Lib/sxxxx-txxxx/这

Ⅸ 我Python3.8.0自带的IDLE中可以使用jieba,为什么Pycharm不行

这种找不到包的情况,基本都是环境问题
就是你安装结巴分词的Python环境,跟你pycharm中建项目的环境不是同一个,你可以看看设置,pycharm里的解释器用的是哪个,估计是虚拟的新环境,虚拟环境的py基本没有第三方库,
你要做的是把解释器路径指向你装包的那个

Ⅹ 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

热点内容
shell运行脚本 发布:2024-04-30 05:27:19 浏览:331
glsl用什么编译 发布:2024-04-30 05:17:47 浏览:824
领克05如何选配置 发布:2024-04-30 04:37:23 浏览:429
酒店管理系统数据库设计 发布:2024-04-30 04:27:56 浏览:178
安卓在哪里看imei 发布:2024-04-30 04:01:36 浏览:6
clc存储 发布:2024-04-30 03:58:59 浏览:831
百钱白鸡c语言 发布:2024-04-30 03:52:57 浏览:298
阿里云服务器外包 发布:2024-04-30 03:33:54 浏览:278
911标配的有哪些配置 发布:2024-04-30 03:18:38 浏览:160
如何访问阿里云服务器多个数据盘 发布:2024-04-30 03:08:45 浏览:188