annotator_demo / diary.py
senyukhin's picture
Upload 12 files
876403c
raw
history blame
1.21 kB
import date_parser as dp
import preproc
import category_parser as cp
import sentiment_parser as sp
# def get_gender(tokens):
# r = [token.feats['Gender'] for sent in tokenizing(text) for token in sent if (token.feats.get('Gender') and token.feats.get('Voice')) ]
def analyze(text):
# Разделение текста на датированные куски
diary = dp.date_extractor_for_diary(text)
# Очистка текста дневника
diary = preproc.text_preproc(diary)
# Токенизация текста дневника по предложениям
diary['tokens'] = diary['text'].apply(lambda text: preproc.tokenizing(text))
# Выделение фактов из текста
diary['loc_facts'] = diary['tokens'].apply(lambda tokens: cp.get_facts(tokens, 'locations'))
diary['loc_words'] = diary['tokens'].apply(lambda tokens: cp.get_mentioned_words(tokens, 'locations'))
# Определение сентимента по записям
diary['sent'] = diary['tokens'].apply(lambda tokens: sp.get_overall_sentiment(tokens))
diary['sent_index'] = diary['sent'].apply(lambda sent: sp.get_sentiment_index(sent))
return diary