Pull to refresh

Comments 9

Как он будет определять эмоциональность выражений типа:
«I don't hate this bastard!»
«Awesome bastards!»
«Do you hate this bastard?»
Выражения типа «Awesome bastards!» такой метод оценки может оценивать некорректно (скорее всего около нуля, так как присутствует одно сильно негативное и одно сильно положительное слово), хотя стоит заметить, что и человек испытывает сложности в оценки подобных выражений вырванных из контекста.
В любом случае данный метод предназначен для оценки в среднем большого количества информации, а не единичных твитов. Например, если в данном месяце вместе со словом «Obama» стали чаще встречаться позитивные/негативные слова, (в сравнении с предыдущем месяцем), то можно сделать вывод об положительном/отрицательном изменении рейтинга. Главное, что бы реальное изменение настроений было больше чем погрешность измерений.
Конечно дополнение данного метода возможностью распознавать словосочетания, а также отрицательные и вопросительные предложения, позволит повысить его точность и осмысленность.
в оценкЕ
с предыдущИМ
ЧТОБЫ — слитно
и т.д.
ну и запятые.

Русский язык слабоват. Рановато ещё заниматься обработкой текстов
Что такое хорошо, что такое плохо (скипграммы):

Enter word or sentence (EXIT to break): хорошо

Word: хорошо Position in vocabulary: 1322

Word Cosine distance
— хоршо 0.748067
хорощо 0.713937
прекрасно 0.682211
отлично 0.679190
плохо 0.675239
неплохо 0.641755
интересно 0.638518
просто 0.636137
спокойно 0.634527
всегда 0.620789
даже 0.620331
замечательно 0.617962
так 0.616831
зорошо 0.615472
только 0.612478
вообще 0.610174
очень 0.608186
хоошо 0.608186
то 0.607600
хрошо 0.603901
ужасно 0.599045
страшно 0.598783
но 0.590102
легко 0.588955
круто 0.586992
хуже 0.586305
хороо 0.585358
наоборот 0.585256
понятно 0.584545
весело 0.583578
совсем 0.581358
наверное 0.575665
шорошо 0.575417
потому 0.572287
странно 0.569226
она 0.568151
харошо 0.567638
хлрошо 0.567548
еще 0.565177
приятно 0.563256
Enter word or sentence (EXIT to break): плохо

Word: плохо Position in vocabulary: 1465

Word Cosine distance
— полохо 0.755004
плозо 0.743426
плоха 0.740933
сильно 0.695998
плохл 0.687667
слабо 0.678554
нормально 0.678436
хорошо 0.675239
туго 0.657558
не 0.657456
рлохо 0.644137
поохо 0.642739
тяжело 0.642100
постоянно 0.639980
долго 0.636029
пдохо 0.634517
медленно 0.626684
плхо 0.620504
плохр 0.610601
хуже 0.591879
постояно 0.591841
плоо 0.588206
часто 0.585112
плрхо 0.585109
иплохо 0.580389
медлено 0.579150
тежело 0.578908
неприятно 0.578856
нармально 0.571858
плоъо 0.568687
плочо 0.567627
плоховато 0.560026
что 0.558980
ужасно 0.558124
иногда 0.553562
резко 0.552327
хреново 0.551475
почемуто 0.549690
почему 0.548091
похо 0.547614

(багофвордс):

Enter word or sentence (EXIT to break): хорошо

Word: хорошо Position in vocabulary: 1450

Word Cosine distance
— хоршо 0.790929
хорощо 0.745507
отлично 0.701097
одихаем 0.691935
плохо 0.684141
хороо 0.675422
хороошо 0.670692
вавилушка 0.661926
преживай 0.654526
рэпцентр 0.651677
ъорошо 0.651287
хоошо 0.648912
хорошол 0.646242
эжить 0.644421
хорлшо 0.643647
сеобудит 0.643139
замечтательно 0.642189
хрошо 0.641470
неплохо 0.641023
каторжником 0.635752
прекрасно 0.633564
хорошр 0.631457
замечательно 0.628330
зорошо 0.627905
хорошоскачать 0.625179
русижить 0.624352
хорошоъ 0.619743
хооршо 0.614906
чбокси 0.611316
посвищут 0.609207
правдоискательства 0.606537
оболда 0.606388
чобски 0.603656
хороршо 0.603111
эить 0.601693
вердючка 0.600977
звенина 0.598875
оболдуеве 0.598266
дочур 0.594444
некрвсов 0.593791
Enter word or sentence (EXIT to break): плохо

Word: плохо Position in vocabulary: 1591

Word Cosine distance
— плоха 0.740065
нормально 0.693406
полохо 0.688477
хорошо 0.684141
не 0.674494
рлохо 0.660781
пдохо 0.651909
плоо 0.648410
медленно 0.647129
пложо 0.646863
плозо 0.645705
плдохо 0.639308
прлохо 0.638288
слабо 0.629214
сильно 0.628831
хьютор 0.626530
иногда 0.623982
плхо 0.620968
почемуто 0.620181
долго 0.620131
пдлохо 0.619860
перестал 0.618821
нлохо 0.617709
дыит 0.617141
тяжело 0.615071
пплохо 0.612485
плохл 0.612272
хуже 0.611977
перестала 0.611066
прерывесто 0.609763
плочо 0.609388
неровно 0.607406
почему 0.606728
нармально 0.606544
пережимаешь 0.605609
постоянно 0.605018
неустойчиво 0.600829
заврдится 0.600277
плохол 0.599486
мало 0.599094
Есть одна большая проблема — грамотность пользователей Twitter-a.
Можно пропускать твит через корректор и только потом добавлять его в обучающую выборку/классификатор. Но время на освоение PyEnchant или yandex speller (если проходите по лимитам) будет потрачено. А количество ошибок может остаться прежним. Когда я, например, твиты пишу, мне телефон/браузер явные опечатки исправляет.

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

Но сам подход с присвоением баллов словам мне перспективным не кажется. Сейчас я бы попробовал bag of words + svm. Но, уверен, что для данной задачи на текстах есть более хитрые подходы с лучшим качеством.
Данный метод как раз позволяет добавлять слова с ошибками и сленг в словарь (главное, чтобы такие слова встречались вместе с другими корректными, уже оцененными словами в одном твите).
ex: bro=-0.29
но тогда если я всё правильно понял, то слову с ошибкой будет соответствовать другое число, нежели правильно написанному?
Если это действительно ошибка (совершается случайно), то вероятность употребления такого слова в правильном и искаженном написании рядом с положительными/отрицательными уже оцененными словами одинакова, следовательно при достаточно большом объеме твитов у слова и его искаженной версии будут одинаковые «числа».
Если же слово намеренно коверкается, скорее всего у него другое значение, следовательно вероятность встретиться с положительно/отрицательно оцененными словами разная для вариантов написания, таким образом и их оценка будет разная.
Sign up to leave a comment.

Articles

Change theme settings