gpt4 book ai didi

python - 如何使用spacy从命名实体左右查找字符串

转载 作者:行者123 更新时间:2023-12-02 09:02:16 26 4
gpt4 key购买 nike

我是 Python 和 NLP(使用 SpaCy)的新手,所以我希望有人可以帮助我。我想检测文本中的命名实体,然后我想从 NE 左右获取五个单词。

我已经找到了 NE,但我一直在寻找“周围的单词”

import spacy

nlp=spacy.load("en_core_web_sm")

doc = nlp(open(path to my text).read())

for index, token in enumerate(doc.ents):
if token.label_ == "PERSON" and token.text == "Frodo" or token.text == "Frodo Beutlin":
print(token[:index])
print(token[index])
print(token[index:])
Frodo Beutlin
think

这是我的结果,你可以看到我的 NE 之前的字符串没有显示。我也很困惑如何获取多个字符串(之前和之后)。

最佳答案

感谢您的帮助!我的类型确实是错误的,现在它可以工作了;)

for index, token in enumerate(doc.ents): 
if token.label_ == "PERSON":
if token.text == "Frodo Beutlin":
span = doc.ents[index]
for i in range(1,6):
wordsBefore = doc[span.start - i]
for i in range(1,6):
wordsAfter = doc[span.start + i]

关于python - 如何使用spacy从命名实体左右查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56428341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com