gpt4 book ai didi

python - SpaCy:为包含多个单词的地址(位置)添加分词器特例

转载 作者:行者123 更新时间:2023-11-28 19:09:23 24 4
gpt4 key购买 nike

我想在 SpaCy 的帮助下从用户提供的不同句子中提取位置(例如,当用户输入“New York New Orleans”时,我得到两个位置“New York”和“New Orleans”它)。由于 SpaCy 提供了将特殊情况添加到其分词器的非常方便的可能性,因此我尝试在不同的位置使用它们(如文档 here 中所述)。只要位置只包含一个词,一切正常。但是一旦位置由两个或更多单词组成(如前面提到的“纽约”、“新奥尔良”等示例),特殊情况就无法再正确处理。
我猜这是因为特殊情况仅在 将文本拆分为标记后才处理(文本在每个空格处拆分,如 here 所述)。这意味着 SpaCy 将文本拆分,例如将“New York New Orleans”分成标记“New”、“York”、“New”、“Orleans”,并且稍后无法匹配任何标记的特殊情况。

所以,我的问题如下:有没有一种方法可以添加由两个词组成的特殊情况,以便 SpaCy 正确标记它们?继续这个例子,“纽约新奥尔良”被识别为“纽约”和“新奥尔良”这两个位置——因为我确实为每个位置添加了一个特例。
还是有其他最佳实践(我可能错过了)来实现这一目标?

最佳答案

我使用了 spacy 的实体识别?您可以在以后进行实体识别时过滤等于 GPE 的标签。

import spacy
nlp = spacy.load('en')
doc = nlp("New York New Orleans")

for ent in doc.ents:
print((ent.label_, ent.text))

输出是

('GPE', 'New York')
('GPE', 'New Orleans')

关于python - SpaCy:为包含多个单词的地址(位置)添加分词器特例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42331030/

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