[Text Mining]JIEBA介紹與教學-Part1 - - 點部落
文章推薦指數: 80 %
... 回饋者給予之意見。
此篇會介紹我使用JIEBA之心得。
... 先前作業安裝nltk與jieba ... 寫法:jieba.cut_for_search(Content). 示範例子:
TextMiningProject,主要是再於分析競爭對手優缺點,並了解同產品項目中,回饋者給予之意見。
此篇會介紹我使用JIEBA之心得。
#方法
演算法部分,網路很多分享,在此就不作介紹
#程式語言
Python
#先前作業
安裝nltk與jieba
pipinstalljieba
pipinstallnltk
#程式碼
#-*-coding:utf-8-*-
importnltk
importjieba
importjieba.possegaspseg
importcodecs
fromnltk.corpusimportstopwords
jieba.set_dictionary('/dict.txt')**#引用預設詞庫**
stop=stopwords.words('/chinese.txt')**#引用停用詞**
content=codecs.open('D:/Comment.txt','rU','utf-8').read()**#開啟你要斷詞之檔案1**
myfile=codecs.open(r'D:/output_file.txt','w','utf-8')**#將結果寫入檔案2**
words=jieba.cut(content,cut_all=False)
forword,flaginwords:
ifwordnotinstop:
myfile.write('%s%s'%(word,flag)+'\n')
myfile.close()
#程式碼解說
words=jieba.cut(content,cut_all=False)
Cut可以當成切割文字的意思(就是分詞拉)
結巴中文分詞支持的三種分詞模式包括:
1.精確模式:將句子最精確地切開,叫適合文本分析。
寫法:words=jieba.cut(content,cut_all=False)
2.全模式:把句子中所有的可以成詞的詞語都掃描出來,速度快。
寫法:words=jieba.cut(content,cut_all=True)
3.搜索引勤模式:在精確模式的基礎上對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
寫法:jieba.cut_for_search(Content)
示範例子:
#encoding=utf-8
importjieba
#jieba.set_dictionary('D:/dict.txt')
jieba.load_userdict('D:/user_dict.txt')
Sentence=jieba.cut("我要成為神奇寶貝大師",cut_all=True)
print(u'全模式'+":"+"/".join(Sentence))
Sentence=jieba.cut("我要成為神奇寶貝大師",cut_all=False)
print(u'精確模式'+":"+"/".join(Sentence))
Sentence=jieba.cut("我要成為神奇寶貝大師")
print(u'Default為精確模式'+":"+"/".join(Sentence))
Sentence=jieba.cut_for_search("我要成為神奇寶貝大師")
print(u'搜索引擎模式'+":"+"/".join(Sentence))
Output:
全模式:我/要/成/為/神奇/神奇寶貝/大/師
精確模式:我要/成為/神奇寶貝/大師
Default為精確模式:我要/成為/神奇寶貝/大師
搜索引擎模式:我要/成為/神奇/神奇寶貝/大師
jieba.set_dictionary('D:/dict.txt') =>為jieba預設詞庫 jieba.load_userdict('D:/user_dict.txt') =>為使用者定義詞庫
若使用預設詞庫,結果如下:
全模式:我/要/成/為/神奇/寶/貝/大/師
精確模式:我要/成為/神奇/寶貝大師
Default為精確模式:我要/成為/神奇/寶貝大師
搜索引擎模式:我要/成為/神奇/寶貝大師
有發現差異性了嗎?神奇寶貝在預設詞庫下,被切割掉了。
但是我在定義詞庫裡增加了"神奇寶貝"的新詞,因此可以順利幫我正確的分詞,產生我想要的結果。
詞典格式和dict.txt一樣,一個詞佔一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。
*注意:文檔必須為UTF-8編碼。
一定有人會覺得說:還要自己手動增加新詞會不會太麻煩了?
在做這案子時,由於資料來源都大陸使用者的留言,慣用語、流行語都和台灣不同,原先預設詞庫無法去準確的分詞
雖然jieba有新詞識別能力,但是自行添加新詞可以保證更高的正確率,因此這提供詞庫網址,方便大家來增加自己的詞庫
1.QQ詞庫平台
2.搜狗詞庫
回首頁
延伸文章資訊
- 1Python中jieba中文分词库的使用 - 知乎专栏
HMM:用来控制是否使用HMM 模型,默认值为 True. jieba.cut_for_search 和 jieba.lcut_for_search 接受2 个参数:. 需要分词的字符串(uni...
- 2Python Examples of jieba.cut_for_search - ProgramCreek.com
def testCutForSearch(self): for content in test_contents: result = jieba.cut_for_search(content) ...
- 3[Text Mining]JIEBA介紹與教學-Part1 - - 點部落
... 回饋者給予之意見。此篇會介紹我使用JIEBA之心得。 ... 先前作業安裝nltk與jieba ... 寫法:jieba.cut_for_search(Content). 示範例子:
- 4LiveMirror/jieba: 结巴中文分词做最好的Python分词组件 - GitHub
Contribute to LiveMirror/jieba development by creating an account on GitHub. ... jieba.cut_for_se...
- 5Python - 知名Jieba 中文斷詞工具教學
透過jieba.cut () 來進行斷詞,cut_all 參數為True 的話為全模式,預設為False,也就是精確模式; jibea.cut_for_search () 是搜索引擎模式 ...