2017-03-26 2 views
0

会社名から組織名を抽出する必要があります。エンティティを抽出するとき、 '、'または '\ n'または '時にはその他の理由で'組織名を分割します。spaCyが '、' ' 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 

2つの異なる組織として表示されます。私は最終出力がcapital_international_partners_viになるようにして、1単語のベクトルを作成するためにさらに使うことができます。

答えて

1

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) 
関連する問題