有用python做過中文分詞全文索引的嗎

2021-05-25 22:20:51 字數 2191 閱讀 9847

1樓:匿名使用者

pip install snownlp#中文文字的情感分析

from snownlp import snownlp

s = snownlp(u'這個東西真心很贊')

s.words         # [u'這個', u'東西', u'真心',

#  u'很', u'贊']

s.tags          # [(u'這個', u'r'), (u'東西', u'n'),

#  (u'真心', u'd'), (u'很', u'd'),

#  (u'贊', u'vg')]

s.sentiments    # 0.9769663402895832 positive的概率

s.pinyin        # [u'zhe', u'ge', u'dong', u'xi',

#  u'zhen', u'xin', u'hen', u'zan']

s = snownlp(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')

s.han           # u'「繁體字」「繁體中文」的叫法

# 在臺灣亦很常見。'

如何利用python對中文進行分詞處理

2樓:追憶小土豆

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做分詞處理

3樓:我愛

可以利用python的jieba分詞,得到文字中出抄現次數較多的詞。

首先baipip安裝一下jieba,這個可以分詞然後用計du

數器counter()統計一下得到的zhi分dao詞中各詞的數量最後most_***mon(5),是列印出排名前五位的詞(包括特殊符號)

#encoding:utf-8

import sys

reload(sys)

sys.setdefaultencoding('utf-8')import jieba

from collections import counterstr1 = 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_***mon(5):

print i[0],i[1]

如何用Python中的NLTK對中文進行分析和處理

一 nltk進行分bai 詞用到的函式 nltk.sent tokenize text 對文字 du按照句子zhi進行dao分割 nltk.word tokenize sent 對句子進行分詞 二 nltk進行詞內性標註容 用到的函式 nltk.pos tag tokens tokens是句子分詞後...

Python學習222分片

numbers 1,2,3,4,5,6,7,8,9,10 0 1 2 3 4 5 6 7 8 9 numbers 3 6 冒號的兩邊分別是分片開始序號 和結束序號。python中的序號是從0開始的 如上面的示意圖 所以,首先 numbers 1,2,3,4,5,6,7,8,9,10 中第0位的是1,...

用python做自然語言處理,中文情感分析用貝葉斯分類器不行嗎

中文已經分好詞了,用貝葉斯分類器不行嗎?classifier bayesclassifier.train traintext 只有五十條訓練集而且每個專都不長啊。怎 麼會有這麼多特屬徵呢 這句話應該不是說你feature太多了,而是說for迴圈中,使用了兩個變數去unpack featuresets...