在Python上使用NLTK创建自己的命名实体

2024-10-04 03:19:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一本名为《自然语言处理与Python Cookbook》的书学习NLTK

这是代码,但没有任何解释

grammar = r"NAMED-ENTITY: {<NNP>+}"
cp = nltk.RegexpParser(grammar)

samplestrings = [
    "Microsoft Azure is a cloud service",
    "Bill Gates announces Satya Nadella as new CEO of Microsoft"
]

def demo(samplestrings):
    for s in samplestrings:
        words = nltk.word_tokenize(s)
        tagged = nltk.pos_tag(words)
        # chunks = nltk.ne_chunk(tagged)
        chunks = cp.parse(tagged)
        print(nltk.tree2conllstr(chunks))
        print(chunks)

demo(samplestrings)

所以我被困在第一行了

这个代码做什么

这是否意味着,如果有多个NNP(至少一个NNP),那么标记的单词就是命名实体

谢谢你的回答


Tags: 代码democpchunksmicrosoftnamedwordsprint
1条回答
网友
1楼 · 发布于 2024-10-04 03:19:02

在本例中,它们使用名为named-ENTITY的正则表达式解析器对专有名词序列进行分块

cp = nltk.RegexpParser(r"NAMED-ENTITY: {<NNP>+}")

NNP是专有名词的词性标记

相关问题 更多 >