NLP基礎算法總結(待續)

nlp(Natural Language Processing) 簡稱:自然語言處理
以下爲自然語言處理用到的基礎算法,包括詞法分析、句法分析、語義分析、文檔分析、其他

一、詞法分析

詞法分析包括分詞、詞性標註、實體識別、拼寫檢查等。

1、分詞

分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。在英文的行文中,單詞之間是以空格作爲自然分界符的,而中文只是字、句和段能通過明顯的分界符來簡單劃界,唯獨詞沒有一個形式上的分界符,雖然英文也同樣存在短語的劃分問題,不過在詞這一層上,中文比之英文要複雜得多、困難得多。
這裏只寫中文的分詞方法。
jieba分詞:常用輕量級的分詞方法工具(可以實現分詞、詞性標註、關鍵詞提取等)
項目地址:github:https://github.com/fxsjy/jieba
簡單示例:

import jieba
import jieba.posseg as pseg
import jieba.analyse

str1 = "我來到北京清華大學"
str2 = 'python的正則表達式是好用的'
str3 = "小明碩士畢業於中國科學院計算所,後在日本京都大學深造"

seg_list = jieba.cut(str1,cut_all = True)   ##全模式
result = pseg.cut(str1)                     ##詞性標註,標註句子分詞後每個詞的詞性
result2 = jieba.cut(str1)                   ##默認是精準模式
result3 =  jieba.analyse.extract_tags(str1,2)
##關鍵詞提取,參數setence對應str1爲待提取的文本,topK對應2爲返回幾個TF/IDF權重最大的關鍵詞,默認值爲20
result4 = jieba.cut_for_search(str3)        ##搜索引擎模式
print(" /".join(seg_list))/來到 /北京 /清華 /清華大學 /華大 /大學 
print(" /".join(result2))/來到 /北京 /清華大學

hanlp分詞系統
hanlp可以實現很多功能,例如分詞、標註、實體識別等。
功能請參考:http://www.cnblogs.com/iihcy/p/5106305.html
個人感覺hanlp要比jieba功能強大很多
簡單示例:

from  pyhanlp import *
CRFnewSegment = HanLP.newSegment("crf")
term_list = CRFnewSegment.seg("我來到北京清華大學")
print(term_list)
[/r, 來到/v, 北京清華大學/nt]

項目地址:
HanLP項目主頁:https://github.com/hankcs/HanLP
HanLP下載地址:https://github.com/hankcs/HanLP/releases

二、句法分析

三、語義分析

四、文檔分析

五、其他

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章