分塊券躁,根據(jù)句子的詞和詞性,按照規(guī)則組織合分塊掉盅,分塊代表實(shí)體也拜。常見實(shí)體,組織趾痘、人員慢哈、地點(diǎn)、日期永票、時(shí)間卵贱。名詞短語分塊(NP-chunking),通過詞性標(biāo)記侣集、規(guī)則識別键俱,通過機(jī)器學(xué)習(xí)方法識別。介詞短語(PP)世分、動詞短語(VP)编振、句子(S)。
分塊標(biāo)記臭埋,IOB標(biāo)記踪央,I(inside,內(nèi)部)斋泄、O(outside杯瞻,外部)镐牺、B(begin炫掐,開始)。樹結(jié)構(gòu)存儲分塊睬涧。多級分塊募胃,多重分塊方法旗唁。級聯(lián)分塊。
關(guān)系抽取痹束,找出實(shí)體間關(guān)系检疫。實(shí)體識別認(rèn)知事物,關(guān)系識別掌握真相祷嘶。三元組(X,a,Y)屎媳,X、Y實(shí)體论巍,a表達(dá)關(guān)系字符串烛谊。通過正則識別。from nltk.corpus import conll2000嘉汰,print(conll2000.chunked_sents('train.txt')[99]) 丹禀。
文法,潛在無限句子集合緊湊特性鞋怀。形式化模型双泪,覆蓋所有結(jié)構(gòu)句子。符合多種文法句子有歧義密似。只能用特征方法處理焙矛。
文法特征結(jié)構(gòu),單詞最后字母残腌、詞性標(biāo)簽薄扁、文法類別、正字拼寫废累、指示物邓梅、關(guān)系、施事角色邑滨、受事角色日缨。文法特征是鍵值對,特征結(jié)構(gòu)存儲形式是字典掖看。句法協(xié)議匣距、屬性、約束哎壳、術(shù)語毅待。import nltk,fs1 = nltk.FeatStruct(TENSE='past', NUM='sg') 归榕,fs2 = nltk.FeatStruct(POS='N', AGR=fs1) 尸红。nltk產(chǎn)生式文法描述 /nltk_data/grammars/book_grammars 。sql0.fcfg,查找國家城市sql語句文法:
% start S
S[SEM=(?np + WHERE + ?vp)] -> NP[SEM=?np] VP[SEM=?vp]
VP[SEM=(?v + ?pp)] -> IV[SEM=?v] PP[SEM=?pp]
VP[SEM=(?v + ?ap)] -> IV[SEM=?v] AP[SEM=?ap]
NP[SEM=(?det + ?n)] -> Det[SEM=?det] N[SEM=?n]
PP[SEM=(?p + ?np)] -> P[SEM=?p] NP[SEM=?np]
AP[SEM=?pp] -> A[SEM=?a] PP[SEM=?pp]
NP[SEM='Country="greece"'] -> 'Greece'
NP[SEM='Country="china"'] -> 'China'
Det[SEM='SELECT'] -> 'Which' | 'What'
N[SEM='City FROM city_table'] -> 'cities'
IV[SEM=''] -> 'are'
A[SEM=''] -> 'located'
P[SEM=''] -> 'in'
加載文法描述
import nltk
from nltk import load_parser
cp = load_parser('grammars/book_grammars/sql0.fcfg')
query = 'What cities are located in China'
tokens = query.split()
for tree in cp.parse(tokens):
print(tree)
參考資料:
《Python 自然語言處理》
http://www.shareditor.com/blogshow?blogId=70
http://www.shareditor.com/blogshow?blogId=71
歡迎推薦上海機(jī)器學(xué)習(xí)工作機(jī)會外里,我的微信:qingxingfengzi