/ / Dobry algorytm do analizy sentymentów - algorytm, analiza sentymentów

Dobry algorytm do analizy sentymentów - algorytm, analiza sentymentów

Próbowałem klasyfikatora naiwnych bayesów i działabardzo źle. SVM działa trochę lepiej, ale wciąż jest strasznie. Większość artykułów, które czytałem o SVM i naiwnych bayach z pewnymi odmianami (n-gram, POS itp.), Ale wszystkie dają wyniki bliskie 50% (autorzy artykułów mówią o 80% i wysokim, ale nie potrafię uzyskać tego samego dokładnego na rzeczywistych danych).

Czy istnieją jakieś bardziej zaawansowane metody, z wyjątkiem analiz leksykalnych? SVM i Bayes przypuszczają, że słowa niezależne. Takie podejście nazwano "workiem słów". A co, jeśli założymy, że słowa są powiązane?

Na przykład: Użyj algorytmu apriory, aby wykryć, że jeśli zdania zawierają "złe i okropne", wówczas 70% prawdopodobieństwo, że zdanie jest negatywne. Możemy również użyć odległości między słowami i tak dalej.

Czy to dobry pomysł, czy ja wymyślam rower?

Odpowiedzi:

4 dla odpowiedzi № 1

Algorytmy takie jak SVM, Naive Bayes i maksimumentropia to nadzorowane algorytmy uczenia maszynowego, a wynik twojego programu zależy od dostarczonego zestawu treningowego. W przypadku analizy uczuć na dużą skalę preferuję stosowanie bezobsługowej metody uczenia się, w której można określić uczucia przymiotników poprzez grupowanie dokumentów na części zorientowane na te same elementy i oznaczenie klastrów jako dodatnich lub ujemnych. Więcej informacji można znaleźć w tym dokumencie. http://icwsm.org/papers/3--Godbole-Srinivasaiah-Skiena.pdf

Mam nadzieję, że to pomoże Wam w pracy :)


3 dla odpowiedzi № 2

Mylicie tutaj kilka koncepcji, ani Naive Bayes, ani SVMs nie są powiązane z workiem słów: ani SVM, ani metoda BOW nie mają założenia niezależności między terminami.

Oto kilka rzeczy, które możesz wypróbować:

  • umieść znaki interpunkcyjne w twoich torebkach słów; esp. ! i ? może być pomocny w analizie sentymentów, podczas gdy wiele ekstraktorów wyposażonych w klasyfikację dokumentów wyrzuca ich
  • to samo dotyczy słów stopu: słowa takie jak "ja" i "mój" mogą wskazywać na subiektywny tekst
  • zbuduj dwuetapowy klasyfikator; najpierw określ, czy opinia jest wyrażana, a następnie czy jest pozytywna czy negatywna
  • spróbuj kwadratowego SVM zamiast liniowego, aby przechwycić interakcje między funkcjami.

0 dla odpowiedzi № 3

Możesz znaleźć przydatne materiały Analiza Sentimnetal za pomocą Pythona. Ta prezentacja podsumowuje analizę nastrojów w 3 prostych krokach

  • Etykietowanie danych
  • Preprocessing i
  • Modelowanie

0 dla odpowiedzi nr 4

Analiza nastrojów jest obszarem prowadzonych badań. W tej chwili prowadzi się wiele badań. Aby zapoznać się z najnowszymi i najbardziej udanymi podejściami, radziłbym ogólnie zapoznać się z zadaniami dzielonymi przez SemEval. Zwykle co roku organizują konkurs na temat analizy nastrojów na Twitterze. Możesz znaleźć artykuł opisujący zadanie i wyniki na 2016 rok (może być jednak nieco techniczny): http://alt.qcri.org/semeval2016/task4/data/uploads/semeval2016_task4_report.pdf

Zaczynając od tego, możesz zajrzeć do artykułów opisujących poszczególne systemy (jak wspomniano tam).