bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

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

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

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

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),香洲企業(yè)網(wǎng)站建設(shè),香洲品牌網(wǎng)站建設(shè),網(wǎng)站定制,香洲網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,香洲網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1、fxsjy/jieba

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

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

支持三種分詞模式

支持繁體分詞

支持自定義詞典

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

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

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

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

能力強(qiáng)。利用規(guī)模最大的人工分詞和詞性標(biāo)注中文語(yǔ)料庫(kù)(約含5800萬(wàn)字)訓(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萬(wàn)字。只進(jìn)行分詞速度達(dá)到1.3MB/s,速度比jieba慢

Python 解決中文編碼問(wèn)題基本可以用以下邏輯:

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

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

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

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

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

[python] view plain copy

#!/usr/bin/python

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

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

def?splitSentence(inputFile,?outputFile):

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

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

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é)果寫(xiě)入到輸出文件

fin.close()

fout.close()

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

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

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

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

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

如何用python和jieba分詞,統(tǒng)計(jì)詞頻?

#!?python3

#?-*-?coding:?utf-8?-*-

import?os,?codecs

import?jieba

from?collections?import?Counter

def?get_words(txt):

seg_list?=?jieba.cut(txt)

c?=?Counter()

for?x?in?seg_list:

if?len(x)1?and?x?!=?'\r\n':

c[x]?+=?1

print('常用詞頻度統(tǒng)計(jì)結(jié)果')

for?(k,v)?in?c.most_common(100):

print('%s%s?%s??%d'?%?('??'*(5-len(k)),?k,?'*'*int(v/3),?v))

if?__name__?==?'__main__':

with?codecs.open('19d.txt',?'r',?'utf8')?as?f:

txt?=?f.read()

get_words(txt)

python的 learn.preprocessing.vocabularyprocessor怎么理解

1 tf.contrib.learn.preprocessing.VocabularyProcessor (max_document_length, min_frequency=0, vocabulary=None, tokenizer_fn=None)

參數(shù):

max_document_length: 文檔的最大長(zhǎng)度。如果文本的長(zhǎng)度大于最大長(zhǎng)度,那么它會(huì)被剪切,反之則用0填充。

min_frequency: 詞頻的最小值,出現(xiàn)次數(shù)小于最小詞頻則不會(huì)被收錄到詞表中。

vocabulary: CategoricalVocabulary 對(duì)象。

tokenizer_fn:分詞函數(shù)

代碼:

from tensorflow.contrib import learn

import numpy as np

max_document_length = 4

x_text =[

'i love you',

'me too'

]

vocab_processor = learn.preprocessing.VocabularyProcessor(max_document_length)

vocab_processor.fit(x_text)

print next(vocab_processor.transform(['i me too'])).tolist()

x = np.array(list(vocab_processor.fit_transform(x_text)))

print x

[1, 4, 5, 0]

[[1 2 3 0]

[4 5 0 0]]

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

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

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

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

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

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

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

1. jieba中文處理

jieba是一個(gè)在中文自然語(yǔ)言處理中用的最多的工具包之一,它以分詞起家,目前已經(jīng)能夠?qū)崿F(xiàn)包括分詞、詞性標(biāo)注以及命名實(shí)體識(shí)別等多種功能。既然Jieba是以分詞起家,我們自然要首先學(xué)習(xí)Jieba的中文分詞功能。Jieba提供了三種分詞模式:

在jieba分詞中,最常用的分詞函數(shù)有兩個(gè),分別是 cut 和 cut_for_search ,分別對(duì)應(yīng)于“精確模式/全模式”和“搜索引擎模式”。

當(dāng)然,兩者的輸入?yún)?shù)也不一樣,cut函數(shù)的輸入主要有三個(gè),分別是:

cut_for_search 函數(shù)主要有兩個(gè)參數(shù):

需要注意的是, cut 和 cut_for_search 返回的都是generator,如果想直接返回列表,需要使用 lcut 和 lcut_for_search

如果在一些特定場(chǎng)景中,需要使用一些特殊詞匯進(jìn)行分詞,就需要加載自定義的分詞詞典:

其中,用戶字典的格式為:

每一行表示一個(gè)單詞,每行最多由三部分組成

如果只是少量詞匯,可以使用

需要注意的是,如果沒(méi)有給出詞頻和詞性信息,在后續(xù)的處理中可能會(huì)造成一定的影響。

jieba提供了兩種關(guān)鍵詞提取算法,分別是TF-IDF以及TextRank

關(guān)于TF-IDF的原理,可以參考吳軍老師的《數(shù)學(xué)之美》,里面給出了很詳細(xì)的說(shuō)明。本文只介紹利用TF-IDF算法提取關(guān)鍵詞。

其中:

TextRank的用法與extract_tags的函數(shù)定義完全一致

詞性標(biāo)注主要是在分詞的基礎(chǔ)上,對(duì)詞的詞性進(jìn)行判別,在jieba中可以使用如下方式進(jìn)行:

在jieba中采用將目標(biāo)文檔按行分割,對(duì)每一行采用一個(gè)Python進(jìn)程進(jìn)行分詞處理,然后將結(jié)果歸并到一起(有點(diǎn)類似于MapReduce)。據(jù)說(shuō)目前尚不支持Windows,僅支持Linux和MacOS。

啟動(dòng)并行分詞使用如下命令:

關(guān)閉并行分詞使用如下命令:

使用tokenize函數(shù)后,會(huì)獲得一個(gè)詞語(yǔ)信息的元組,元組中的第一個(gè)元素是分詞得到的結(jié)果,第二個(gè)元素是詞的起始位置,第三個(gè)元素是詞的終止位置。

除了本文介紹的jieba分詞工具包以外,還有很多好用的中文分詞工具,比如

標(biāo)題名稱:python分詞函數(shù) 分詞函數(shù) python
當(dāng)前網(wǎng)址:http://vcdvsql.cn/article24/hepeje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)App開(kāi)發(fā)微信小程序ChatGPT移動(dòng)網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)