nltk做命名实体识别
#命名实体识别, 非常酷的4行代码import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
nltk.download('maxent_ne_chunker')
nltk.download('words')
sent = "your_corpus"
for sent in nltk.sent_tokenize(sentence):#对文本按照句子进行分割
for chunk in nltk.ne_chunk(nltk.pos_tag(nltk.word_tokenize(sent))):#对句子进行分词,NLTK的分词是句子级的,因此要先分句,再逐句分词。对词进行词性标注。最后进行命名实体识别
if hasattr(chunk, 'label'):
print(chunk.label(), ' '.join(c for c in chunk))
整体逻辑是:
第一步,对文本进行分割,分割成句子。
第二步,对句子进行分词,nltk的分词是句子级别的,因此要先分句,再逐句分词
第三步,分完词后对词进行词性标注(bert中的序列标注)
第四步,用nltk.ne_chunk()方法进行命名实体识别 学习 了
页:
[1]