Как интегрировать пространственные метки entity_ruler для отображения меток entity_ruler и статистических меток - PullRequest
0 голосов
/ 04 мая 2019

Вот моя проблема:

Я хочу интегрировать пользовательские метки entity_ruler со стандартными метками статистического объекта spacy, где это возможно.Я думаю (но не уверен), что оба ярлыка должны появляться во всех случаях, кроме точного наложения.

Надежда состоит в том, что если пользовательская метка линейки точно совпадает со статистической меткой для данного диапазона, метка entity_ruler будет перезаписывать статистическую метку, но в противном случае также появятся все стандартные статистические метки.

Прямо сейчас парсер возвращает только метки entity_ruler (и связанные токены) ИЛИ статистические метки (и связанные токены), но не их комбинацию.

Я попытался вставить оба entity_ruler как и раньше = "ner"and after =" ner "и с overwrite = True и overwrite = False.Я даже пытался вставить entity_ruler где-нибудь еще в конвейере (например, перед анализатором, tagger и т. Д.). Ничего из этого не работает.

Вот способ инструкции, как я понимаю (хотя я пробовал все другие возможные варианты, о которых я могу думать, и ничего больше не работает):

from spacy.pipeline import EntityRuler
import en_core_web_lg
nlp = spacy.load("en_core_web_lg")
ruler = EntityRuler(nlp)
patterns = [
    {"label": "CEO", "pattern": "John Doe0"},
    {"label": "COO", "pattern": "John Doe1"},
    {"label": "INVESTOR", "pattern": "John Doe2"},
    {"label": "CURRENTCO", "pattern": "Newco0"},
    {"label": "PASTCO", "pattern": "Newco1"},
    ]  
ruler.add_patterns(patterns)
nlp.add_pipe(ruler, before="ner")
print(nlp.pipe_names)
ruler.to_disk("/home/user/anaconda3/envs/SPACY/lib/python3.7/site-  packages/spacy/patterns.jsonl")
ruler = EntityRuler(nlp).from_disk("/home/km/anaconda3/envs/SPACY/lib/python3.7/site-packages/spacy/patterns.jsonl")
text = open(u'/home/user/anaconda3/envs/SPACY/RAW_DATA/snippet.csv').read()
doc = nlp(text)
for ent in doc.ents:
    print(ent.text, ent.start_char, ent.end_char, ent.label_)

ВОЗВРАЩАЕТСЯ:

Джон Доу0 0 12 Генеральный директор
Джон Доу1 130 142 COO
Newco0 169 175 CURRENTCO
Джон Доу1 2997 3012 ИНВЕСТОРА

...