回覆列表
-
1 # 西安北大青鳥華美教育
-
2 # 小小猿愛嘻嘻
你說的是中文分詞吧,介紹2個簡單的中文處理的包—snownlp和jieba,snownlp是華人自己開發的,受TextBlob啟發而寫,所有演算法都是自己實現,並且自帶了一些訓練好的詞典,jieba是Sun Junyi開發的一款中文分片語件,也比較流行,下面主要介紹一下這兩個包的安裝和簡單使用,實驗環境win7+python2.7+pycharm5.0,主要介紹如下:
snownlp中文處理包
1.下載安裝snownlp,這裡直接輸入命令"pip install snownlp"就行,如下:
2.簡單測試一下,這裡主要介紹一下分詞、詞性標註、積極機率、拼音,主要程式碼如下:
程式執行截圖如下:
3.這裡介紹一下關鍵句、關鍵詞、語句,主要程式碼如下:
程式執行截圖如下:
jieba中文處理包
1.下載安裝jieba,這裡直接輸入命令"pip install jieba"就行,如下:
2.分詞,這裡有3種方式,分別是全模式、精確模式和搜尋引擎模式,測試程式碼如下:
程式執行截圖如下:
3.使用自定義字典,提高分詞識別的準確率,自定義字典內容如下:
測試程式碼如下:
程式執行截圖如下,準確率明顯比沒載入自定義字典高:
4.標註詞性、提取關鍵詞,測試程式碼如下:
程式執行截圖如下:
至此,我們就完成了中文的分詞處理。總的來說,程式碼量不多,挺簡單的,網上這兩個包的介紹都挺多的,可以到網上查詢一下相關教程,練習練習一下程式碼,很快就能掌握的,這裡介紹的都是一些入門級別的,淺顯易懂,只要你有一點python基礎,就能看懂,至於更深的自然語言處理,挖掘更有價值的資訊,這個就需要自己研究相關演算法,並進行改進,像LAD主題模型等,感興趣的話可以瞭解一下,希望以上分享的內容能對你有所幫助吧。
split用一個分隔符分割、多個分隔符分割、在有漢字存在的情況下split分割
還是直接上程式吧,暫且就叫它為程式吧:
"""
按照多個分隔符分割,split的用法
"""
import re
s="hi!chu?lan!heihei"
re.split("[!?]",s)
"""
有漢字時候的分割
"""
str=u"【楚同學】小小同學_楚楚同學-春天來了"
re.split(u"【|】|-|_", str)
for i in re.split(u"【|】|-|_", str):
print i
"""
按照一個分隔符分割時,split的用法
str.split(str="", num=string.count(str))
str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。
num -- 分割次數。
\t:水平製表(跳到下一個Tab位置)
\r:回車,將當前位置移到本行開頭
\n:換行
"""
str="kk-kj\nline-abx \nline3"
str.split()
str.split(" ",1)
對應的結果如下:
import re
s="hi!chu?lan!heihei"
re.split("[!?]",s)
Out[21]: ["hi", "chu", "lan", "heihei"]
str=u"【楚同學】小小同學_楚楚同學-春天來了"
re.split(u"【|】|-|_", str)
for i in re.split(u"【|】|-|_", str):
print i
楚同學
小小同學
楚楚同學
春天來了
str="kk-kj\nline-abx \nline3"
str.split()
Out[23]: ["kk-kj", "line-abx", "line3"]
str.split(" ",1)
Out[24]: ["kk-kj\nline-abx", " \nline3"]