日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python语言语块句的标记_NLTK基础教程学习笔记(十一)

發(fā)布時(shí)間:2023/12/2 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python语言语块句的标记_NLTK基础教程学习笔记(十一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

語(yǔ)塊分解例子:

from nltk.chunk.regexp import *

import nltk

test_sent="The prime minister announced he had asked the chief government whip, Philip Ruddock, to call a special party room meeting for 9am on Monday to consider the spill motion."

test_sent_pos=nltk.pos_tag(nltk.word_tokenize(test_sent))

rule_vp=ChunkRule(r'()?()+(PRP)?','Chunk VPs')

parser_vp=RegexpChunkParser([rule_vp],chunk_label='VP')

print(parser_vp.parse(test_sent_pos))

rule_np=ChunkRule(r'(

??)?*(<,>)*()+','Chunk NPs')

parser_np=RegexpChunkParser([rule_np],chunk_label="NP")

print(parser_np.parse(test_sent_pos))

結(jié)果:

(S

The/DT

prime/JJ

minister/NN

(VP announced/VBD)

he/PRP

(VP had/VBD asked/VBN)

the/DT

chief/JJ

government/NN

whip/NN

,/,

Philip/NNP

Ruddock/NNP

,/,

to/TO

(VP call/VB)

a/DT

special/JJ

party/NN

room/NN

meeting/NN

for/IN

9am/CD

on/IN

Monday/NNP

to/TO

(VP consider/VB)

the/DT

spill/NN

motion/NN

./.)

(S

(NP The/DT prime/JJ minister/NN)

announced/VBD

he/PRP

had/VBD

asked/VBN

(NP the/DT chief/JJ government/NN whip/NN)

,/,

(NP Philip/NNP Ruddock/NNP)

,/,

to/TO

call/VB

(NP a/DT special/JJ party/NN room/NN meeting/NN)

for/IN

9am/CD

on/IN

(NP Monday/NNP)

to/TO

consider/VB

(NP the/DT spill/NN motion/NN)

./.)

上述代碼是用來(lái)對(duì)動(dòng)詞,和名詞進(jìn)行劃分操作,語(yǔ)塊分解過(guò)程中會(huì)有一條管道,作用his標(biāo)記POS標(biāo)簽,并為相關(guān)的語(yǔ)塊分解器提供輸入字符串,這里使用的是普通的語(yǔ)塊分解器,其中的NP、VP規(guī)則定義了各種不同的可被稱為動(dòng)詞與名詞短語(yǔ)的POS模式。例如,NP規(guī)則定義的是所有以限定詞開頭,后接一個(gè)副詞、形容詞或純數(shù)字的可被分解成一個(gè)名詞短語(yǔ)的組合,這種基于一個(gè)表達(dá)式的語(yǔ)塊分解器得依靠手動(dòng)涉及分塊字符串來(lái)定義分塊規(guī)則。但普適式的規(guī)則很難找到。另一種方法是用機(jī)器學(xué)習(xí)的方法來(lái)進(jìn)行語(yǔ)塊的分解。

信息提取:介紹了如何用NLTK庫(kù)來(lái)開發(fā)一個(gè)信息提取(IE)引擎。

一個(gè)典型的信息抽取管道在結(jié)構(gòu)上都是非常類似的具體如下圖:

命名實(shí)體識(shí)別(NER)

從本質(zhì)上講NER是一種提取信息的方式,它提取的是一些最常見的實(shí)體信息,如實(shí)體名詞,所屬的組織,以及所在的位置等。某些NER也可用于提取一般實(shí)體,如產(chǎn)品名詞,生物醫(yī)學(xué)項(xiàng)目、作者姓名、品牌名等。

下面是一個(gè)例子:

import nltk

f=open('nerdemo.txt')

text=f.read()

sentences=nltk.sent_tokenize(text)

tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences]

tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]

for sent in tagged_sentences:

print(nltk.ne_chunk(sent))

結(jié)果:

(S I/PRP want/VBP the/DT (GPE Cherry/NNP) keyboard/NN)

上面代碼按照之前的相同管道流程走了一遍,執(zhí)行了所有的預(yù)處理步驟,包括句子的標(biāo)識(shí)化,詞匯標(biāo)識(shí)化、詞性標(biāo)注以及NLTK的NER(預(yù)訓(xùn)練模型)等用來(lái)提取所有NER的步驟。

關(guān)系提取:

關(guān)系提取是常用的信息提取操作。是提取不同實(shí)體之間不同的關(guān)系的過(guò)程,這里的關(guān)系可以根據(jù)信息的需要定義。

下面的代碼中,使用了ieer的內(nèi)置語(yǔ)料庫(kù),會(huì)對(duì)句子進(jìn)行NER標(biāo)注,這里唯一需要做的是指定所需的關(guān)系模式,以及該關(guān)系所定義NER種類,下面代碼中組織與位置之間的關(guān)系已經(jīng)被定義好了,要要提取的是這些模式的所有組合。

import re

import nltk

IN = re.compile(r'.*\bin\b(?!\b.+ing)')

for doc in nltk.corpus.ieer.parsed_docs('NYT_19980315'):

for rel in nltk.sem.extract_rels('ORG', 'LOC', doc, corpus='ieer', pattern=IN):

print(nltk.sem.rtuple(rel))

結(jié)果:

[ORG: 'WHYY'] 'in' [LOC: 'Philadelphia']

[ORG: 'McGlashan &AMP; Sarrail'] 'firm in' [LOC: 'San Mateo']

[ORG: 'Freedom Forum'] 'in' [LOC: 'Arlington']

[ORG: 'Brookings Institution'] ', the research group in' [LOC: 'Washington']

[ORG: 'Idealab'] ', a self-described business incubator based in' [LOC: 'Los Angeles']

[ORG: 'Open Text'] ', based in' [LOC: 'Waterloo']

[ORG: 'WGBH'] 'in' [LOC: 'Boston']

[ORG: 'Bastille Opera'] 'in' [LOC: 'Paris']

[ORG: 'Omnicom'] 'in' [LOC: 'New York']

[ORG: 'DDB Needham'] 'in' [LOC: 'New York']

[ORG: 'Kaplan Thaler Group'] 'in' [LOC: 'New York']

[ORG: 'BBDO South'] 'in' [LOC: 'Atlanta']

[ORG: 'Georgia-Pacific'] 'in' [LOC: 'Atlanta']

總結(jié)

以上是生活随笔為你收集整理的python语言语块句的标记_NLTK基础教程学习笔记(十一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。