python分詞函數(shù) python分詞方法

python3怎么使用結(jié)巴分詞

下面這個(gè)程序是對(duì)一個(gè)文本文件里的內(nèi)容進(jìn)行分詞的程序:test.py

鄧州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

[python] view plain copy

#!/usr/bin/python

#-*-?encoding:utf-8?-*-

import?jieba????????????????????????????????????????????????????#導(dǎo)入jieba模塊

def?splitSentence(inputFile,?outputFile):

fin?=?open(inputFile,?'r')??????????????????????????????????#以讀的方式打開文件

fout?=?open(outputFile,?'w')????????????????????????????????#以寫得方式打開文件

for?eachLine?in?fin:

line?=?eachLine.strip().decode('utf-8',?'ignore')???????#去除每行首尾可能出現(xiàn)的空格,并轉(zhuǎn)為Unicode進(jìn)行處理

wordList?=?list(jieba.cut(line))????????????????????????#用結(jié)巴分詞,對(duì)每行內(nèi)容進(jìn)行分詞

outStr?=?''

for?word?in?wordList:

outStr?+=?word

outStr?+=?'/?'

fout.write(outStr.strip().encode('utf-8')?+?'\n')???????#將分詞好的結(jié)果寫入到輸出文件

fin.close()

fout.close()

splitSentence('myInput.txt',?'myOutput.txt')

寫完程序之后,在Linux重點(diǎn)輸入:python test.py即可運(yùn)行程序進(jìn)行分詞。

輸入的文件內(nèi)容如下所示:

經(jīng)過結(jié)巴分詞后,輸出結(jié)果如下所示:

注意:第11行的 jieba.cut()返回的結(jié)構(gòu)是一個(gè)可迭代的generator,可以用list(jieba.cut(...))轉(zhuǎn)化為list

如何用python對(duì)文章中文分詞并統(tǒng)計(jì)詞頻

1、全局變量在函數(shù)中使用時(shí)需要加入global聲明

2、獲取網(wǎng)頁內(nèi)容存入文件時(shí)的編碼為ascii進(jìn)行正則匹配時(shí)需要decode為GB2312,當(dāng)匹配到的中文寫入文件時(shí)需要encode成GB2312寫入文件。

3、中文字符匹配過濾正則表達(dá)式為ur'[\u4e00-\u9fa5]+',使用findall找到所有的中文字符存入分組

4、KEY,Value值可以使用dict存儲(chǔ),排序后可以使用list存儲(chǔ)

5、字符串處理使用split分割,然后使用index截取字符串,判斷哪些是名詞和動(dòng)詞

6、命令行使用需要導(dǎo)入os,os.system(cmd)

如何用PYTHON做分詞處理

可以利用python的jieba分詞,得到文本中出現(xiàn)次數(shù)較多的詞。

首先pip安裝一下jieba,這個(gè)可以分詞

然后用計(jì)數(shù)器Counter()統(tǒng)計(jì)一下得到的分詞中各詞的數(shù)量

最后most_common(5),是打印出排名前五位的詞(包括特殊符號(hào))

#encoding:utf-8

import?sys

reload(sys)

sys.setdefaultencoding('utf-8')

import?jieba

from?collections?import?Counter

str1?=?open('tips.txt').read()

wordlist_after_jieba?=?jieba.cut(str1,?cut_all?=?True)

list_wl?=?Counter(wordlist_after_jieba)

for?i?in?list_wl.most_common(5):

print?i[0],i[1]

如何利用Python對(duì)中文進(jìn)行分詞處理

python做中文分詞處理主要有以下幾種:結(jié)巴分詞、NLTK、THULAC

1、fxsjy/jieba

結(jié)巴的標(biāo)語是:做最好的 Python 中文分詞組件,或許從現(xiàn)在來看它沒做到最好,但是已經(jīng)做到了使用的人最多。結(jié)巴分詞網(wǎng)上的學(xué)習(xí)資料和使用案例比較多,上手相對(duì)比較輕松,速度也比較快。

結(jié)巴的優(yōu)點(diǎn):

支持三種分詞模式

支持繁體分詞

支持自定義詞典

MIT 授權(quán)協(xié)議

2、THULAC:一個(gè)高效的中文詞法分析工具包

前兩天我在做有關(guān)于共享單車的用戶反饋分類,使用jieba分詞一直太過零散,分類分不好。后來江兄給我推薦了THULAC: 由清華大學(xué)自然語言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室研制推出的一套中文詞法分析工具包 。THULAC的接口文檔很詳細(xì),簡(jiǎn)單易上手。

THULAC分詞的優(yōu)點(diǎn):

能力強(qiáng)。利用規(guī)模最大的人工分詞和詞性標(biāo)注中文語料庫(約含5800萬字)訓(xùn)練而成,模型標(biāo)注能力強(qiáng)大。

準(zhǔn)確率高。該工具包在標(biāo)準(zhǔn)數(shù)據(jù)集Chinese Treebank(CTB5)上分詞的F1值可達(dá)97.3%,詞性標(biāo)注的F1值可達(dá)到92.9%

速度較快。同時(shí)進(jìn)行分詞和詞性標(biāo)注速度為300KB/s,每秒可處理約15萬字。只進(jìn)行分詞速度達(dá)到1.3MB/s,速度比jieba慢

Python 解決中文編碼問題基本可以用以下邏輯:

utf8(輸入) —— unicode(處理) —— (輸出)utf8

Python 里面處理的字符都是都是unicode 編碼,因此解決編碼問題的方法是把輸入的文本(無論是什么編碼)解碼為(decode)unicode編碼,然后輸出時(shí)再編碼(encode)成所需編碼。

由于處理的一般為txt 文檔,所以最簡(jiǎn)單的方法,是把txt 文檔另存為utf-8 編碼,然后使用Python 處理的時(shí)候解碼為unicode(sometexts.decode('utf8')),輸出結(jié)果回txt 的時(shí)候再編碼成utf8(直接用str() 函數(shù)就可以了)。

本文題目:python分詞函數(shù) python分詞方法
網(wǎng)頁路徑:http://muchs.cn/article16/dospsdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、外貿(mào)建站虛擬主機(jī)、網(wǎng)站設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司