[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.搜狗詞庫
回首頁
延伸文章資訊
- 1中文分词工具jieba分词器的使用 - 51CTO博客
jieba.cut和jieba.cut_for_search返回的结果都是一个可迭代的生成器,可以 ... jieba可以很方便地获取中文词性,通过jieba.posseg模块实现词性标注.
- 2LiveMirror/jieba: 结巴中文分词做最好的Python分词组件 - GitHub
Contribute to LiveMirror/jieba development by creating an account on GitHub. ... jieba.cut_for_se...
- 3中文斷詞 - iT 邦幫忙
... seg_list = jieba.cut("我送你離開千里之外你無聲黑白") # 默認是精确模式>>> print(", ".join(seg_list)) >>> seg_list =...
- 4Python Examples of jieba.cut_for_search - ProgramCreek.com
def testCutForSearch(self): for content in test_contents: result = jieba.cut_for_search(content) ...
- 5Python jieba.cut_for_search方法代碼示例- 純淨天空
您也可以進一步了解該方法所在類 jieba 的用法示例。 在下文中一共展示了jieba.cut_for_search方法的10個代碼示例,這些例子默認根據受歡迎程度 ...