как объединить объекты одного типа, если spaCy показывает несколько объектов из-за ',' '\ n' или 'любой другой причины'

Мне нужно извлечь название организации из писем компании. При извлечении сущностей из-за ',' или '\ n' или 'иногда по другой причине' имя организации разделяется.

spacy_data = nlp(text)
spacy_data.ents if ent.label_ in =='ORG' 

expected output: capital international partners vi
actual output:   capital 
                   international partners vi 

Это проявляется как две разные организации. Я хочу, чтобы мой окончательный результат был capital_international_partners_vi, чтобы я мог использовать его в дальнейшем для создания вектора из одного слова


person Virendra Vikram Singh    schedule 26.03.2017    source источник


Ответы (1)


Я использую textacy для нормализации данных после того, как spacy извлечет названные объекты и перед вставкой в ​​мою базу данных.

from textacy.preprocess import normalize_whitespace, preprocess_text

def text_cleaner(text) :

    cleaned_text = preprocess_text(my_text, no_currency_symbols = True, no_numbers = True,
                    lowercase=True, no_accents=True, no_contractions=True, no_punct = True).replace('\n','')

   return normalize_whitespace(cleaned_text)
person Yooper    schedule 27.03.2017