Как я могу ускорить мой анализ настроений? - PullRequest
0 голосов
/ 19 апреля 2019

Я занимаюсь анализом настроений для нескольких языков. мой код работает успешно, но он очень медленный (10 минут только для 11K записей). Вот мой код:

# Spanish Classifier - from https://github.com/aylliote/senti-py
clf = SentimentClassifier()

# Italian Classifier - Also for Russian
from polyglot.text import Text as T

# Germany Classifier
from textblob_de import TextBlobDE as TextBlob_d

# English
from textblob import TextBlob

# French
from textblob_fr import PatternTagger, PatternAnalyzer

def Flag(row):
    try:
        if row['lang'] == 'es':
            txt=clf.predict(row['rev'])
            return txt
        elif row['lang'] == 'it':
            txt=T(row['rev'])
            return txt.polarity
        elif row['lang'] == 'de':
            txt=TextBlob_d(row['rev'])
            return txt.sentiment
        elif row['lang'] == 'en':
            txt=TextBlob(row['rev'])
            return txt.sentiment.polarity
        elif row['lang'] == 'fr':
            txt=TextBlob(row['rev'], pos_tagger=PatternTagger(), 
            analyzer=PatternAnalyzer())
            return txt.sentiment[0]
        elif row['lang'] == 'ru':
            txt=T(row['rev'])
            return txt.polarity
        else:
            return ""
    except:
        return ""

df['sent']=df.apply(Flag,axis=1)

Я проверил другие сообщения о том, что импорт textblob.sentiments NaiveBayesAnalyzer очень медленный, но я не думаю, что с такой же ситуацией я сталкиваюсь здесь?

Спасибо

...