在spaCy中,可以使用set_extension
方法來為實體添加一個自定義的鏈接屬性。例如,可以創建一個新的鏈接屬性linked_entity
,然后將其設置為所需的實體鏈接。下面是一個示例代碼:
import spacy
# 加載模型
nlp = spacy.load("en_core_web_sm")
# 添加鏈接屬性
def add_linked_entity(doc):
for ent in doc.ents:
ent._.linked_entity = "https://en.wikipedia.org/wiki/" + ent.text.replace(" ", "_")
return doc
# 將鏈接屬性添加到pipeline中
nlp.add_pipe(add_linked_entity, last=True)
# 處理文本
text = "Barack Obama was the 44th President of the United States."
doc = nlp(text)
# 打印實體及其鏈接
for ent in doc.ents:
print(ent.text, ent.label_, ent._.linked_entity)
在上面的示例中,我們首先加載了一個spaCy模型,然后創建了一個新的函數add_linked_entity
來添加鏈接屬性。接著,我們將該函數添加到了pipeline中,然后處理了一個包含實體的文本。最后,我們打印了每個實體及其鏈接屬性。