Handsome_zhou 发表于 2022-2-13 18:22:45

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()方法进行命名实体识别

tomok 发表于 2022-2-14 15:07:06

学习 了


页: [1]
查看完整版本: nltk做命名实体识别