回覆列表
  • 1 # 守望Icesucker

    首先要有詞典,然後用分詞演算法根據詞典分詞。比較容易的可以做最長匹配,就分那個能匹配到的最長的詞。

    複雜一點的有crf效果肯定好一些,但是速度比較慢,模型相對來說複雜一點。

  • 2 # 小小猿愛嘻嘻

    對中文txt檔案分詞,無非就是2步—先讀取txt文字資料,然後再分詞,除了常見的jieba分詞外,這裡再介紹3種python分詞中文分詞包—分別是snownlp,thulac和pynlpir,最後再結合pyecharts以詞雲的方式顯示最終分詞結果,實驗環境win10+python3.6+pycharm5.0,主要介紹如下:

    為了方便演示,我這裡新建了一個test.txt檔案,裡面複製了《白鹿原》的第一章內容,如下,下面的測試都圍繞這個檔案而展開:

    snownlp:這個是華人開發的一箇中文分詞的包,受TextBlob啟發而寫,下面簡單介紹一下這個包的安裝和簡單使用。

    1.下載安裝,這裡直接輸入命令"pip install snownlp"就行,如下:

    2.測試程式碼如下,這裡為了方便演示,我沒有過濾掉停用詞,直接做的分詞、統計、最後詞雲顯示最終統計結果,感興趣的可以做個停用詞列表過濾,很簡單:

    測試程式碼:

    程式執行截圖,列印的統計資訊,如下:

    詞雲顯示的統計結果如下:

    thulac:這個是清華大學實驗室出的一箇中文分詞的包,基於人民日報分詞語料庫,支援同時分詞和詞性標註功能,使用起來也很簡單,下面簡單介紹一下這個包的安裝和使用。

    1.下載安裝thulac,這裡直接輸入命令"pip install thulac"就行,如下:

    2.測試程式碼如下,很簡單,就幾行程式碼,與snownlp類似:

    程式執行結果如下,已經成功打印出分詞統計結果:

    詞雲顯示結果如下,與snownlp類似:

    pynlpir:這個包是北京市一個研究中心出的包,使用起來和上面2個包類似,也支援分詞等功能,下面簡單介紹一下這個包的安裝和使用。

    1.下載安裝pynlpir,這裡直接輸入命令"pip install pynlpir"就行,如下:

    2.測試程式碼如下,這裡直接執行的話會提示錯誤—license過期,需要自己更新一下,到https://github.com/NLPIR-team/NLPIR/tree/master/License重新下載一下NLPIR.user檔案,替換掉原來的NLPIR.user檔案就行,程式碼如下:

    程式執行截圖如下,已經成功打印出統計結果:

    詞雲結果顯示如下:

    至此,snownlp,thulac和pynlpir這3個包就介紹完畢了。總的來說,使用起來都挺簡單多了,只要有一定的python基礎,多加練習,很快就能入門的。對於自然語言處理來說,這3個包也可以作為一個基礎工具來使用,為後面的研究做好分詞等準備,網上也有這幾個包的教程,可以查查,學習一下,希望以上分享的內容能對你有所幫助吧。

  • 3 # 軟體測試開發技術棧

    安裝

    pip install jieba

    特點

    精確模式:試圖將句子最精確地切開,適合文字分析.全模式:把所有的可以成詞的詞語都掃描處理,速度非常快,但是不能解決歧義.搜尋引擎模式:在精確模式的基礎上,對長詞再次切分,適合用於引擎分詞.支援繁體分詞.支援自定義詞典.MIT授權協議.

    樣例分享

    樣例要求

    對如上文字檔案實現中文分詞,並且分詞結果中不包含字母、標點、中英文停詞(如,an、and、another、一定、一方面、一旦等)等內容,同時支援特定含義片語的切分(如“牛仔很忙”、"青花瓷",不能分切分成"牛仔","很忙","青花”,"瓷"),分詞結果輸出至txt格式檔案中。

    要求解析:

    1)分詞結果中不包含字母、標點、中英文停詞:

    需要使用結巴模組的精確分詞模式(適應文字分詞),cut()進行分詞處理。jieba.cut(content)需要中英文停詞表(網上可查下載)。if (len(word) != 0 and not stopwords.__contains__(word)):

    需要透過正則過濾非中文數字內容,需要import re模組使用findall()方法。

    re.findall(u"[\u4e00-\u9fa5]|[0-9]+", word)

    2)支援特定含義片語的切分:

    利用jieba支援匯入自定義字典的特性,增加自定義字典。jieba.load_userdict("Custom_dictionary.dic")

    原始碼分享

    分詞結果

  • 中秋節和大豐收的關聯?
  • 法王路易十四死後,為何是曾孫繼位?