У меня есть следующий код
import spacy
from spacy.tokens import Span
import en_core_web_lg
nlpsm = en_core_web_lg.load()
doc = nlpsm(text)
finalwor = []
fil = [i for i in doc.ents if i.label_.lower() in ["person"]]
fil_a = [i for i in doc.ents if i.label_.lower() in ['GPE']]
fil_b = [i for i in doc.ents if i.label_.lower() in ['ORG']]
for chunk in doc.noun_chunks:
if chunk not in fil and chunk not in fil_a and chunk not in fil_b:
finalwor=list(doc.noun_chunks)
print("finalwor after noun_chunk", finalwor)
else:
chunk in fil_a and chunk in fil_b
entword=list(str(chunk.text).replace(str(chunk.text),""))
finalwor.extend(entword)
Я не уверен, что я делаю здесь неправильно. Если текст «ИТ-менеджер в Google»
Мой текущий вывод - «ИТ-менеджер, Google»
Идеальный вывод, который мне нужен, - «ИТ-менеджер».
В основном Я хочу, чтобы названия компаний и GPE заменялись пустой строкой или просто удалялись.