Python'da Twitter için Duygu Analizi

Açık kaynak kodlu bir uygulama arıyorum, tercihen python, Textual Sensiment Analysis ( http://tr.wikipedia.org/wiki/Sentiment_analysis ). Kullanabileceğim bu açık kaynaklı sürümü bilen var mı?

Bir tür arama sorgusu için Twitter'ı arayan, “youtube” diyen ve “hüzünlü” tweet'lere karşı “mutlu” tweetleri düşünen bir uygulama yazıyorum. Google appengine kullanıyorum, bu yüzden python'da. Döndürülen arama sonuçlarını Twitter'dan sınıflandırmak istiyorum ve bunu python ile yapmak istiyorum. Şimdiye kadar, özellikle bir python içinde, böyle bir gönderen bulamadım. Kullanabileceğim bu açık kaynaklı sürümü biliyor musunuz? Tercihen, bu zaten pitondadır, ancak değilse, umarım onu ​​pitona çevirebilirim.

Dikkat et, analiz ettiğim metinler çok kısa, bunlar tweet. Bu nedenle, ideal olarak, bu sınıflandırıcı bu kısa metinler için optimize edilmiştir.

Bu arada, twitter, sadece bunu yapmaya çalışan aramada ":)" ve ":(" operatörleri tarafından destekleniyor, ancak ne yazık ki, onlar tarafından sağlanan sınıflandırma o kadar da iyi değil, bu yüzden kendiniz için deneyebileceğime karar verdim.

Teşekkür ederim

Bu arada, önceki demo burada ve hala sahip olduğum kod burada ve ilgilenen bir geliştiriciyle açmak istiyorum.

84
22 февр. Ran Ran 22 Şub. 2009-02-22 00:20 '09 0:20 2009-02-22 00:20
@ 12 cevap

Bu tür uygulamaların çoğunda, istatistiksel sınıflandırma görevi için kendi kodunuzun çoğunu çevirmeniz gerekir. Lucka tarafından önerildiği gibi, NLTK, amacınız lisansının ticari olmayan yapısına müdahale etmiyorsa Python'da doğal dil manipülasyonu için ideal bir araçtır. Ancak, modelleme için başka yazılım paketleri önerebilirim. Python için pek çok güçlü makine öğrenme modeli bulamadım, bu yüzden onunla kolayca çalışan bazı bağımsız ikili dosyalar sunacağım.

Python ile kolayca bağlanabilen Gelişmiş Ayırt Edici Modelleme Araç Seti ile ilgilenebilirsiniz. Doğal dil işlemenin çeşitli alanlarında sınıflandırma görevleri için kullanılmıştır. Ayrıca birkaç model seçeneğiniz de var. Naive Bayes sınıflandırıcısının uygulanmasına aşina iseniz, Maksimum Entropi sınıflandırması ile başlamanızı öneririm. Değilse, onu incelemek ve bir makine öğrenme görevi olarak gerçekten istatistiksel bir sınıflandırma anlayışı elde etmek için birini kodlamak isteyebilirsiniz.

Austin Hesaplamalı Dilbilim Grubu'ndaki Texas Üniversitesi, kendilerinden çıkan projelerin çoğunun bu mükemmel aracı kullandığı sınıflar düzenledi. Bilgisayarlı Dilbilim II ders sayfasını nasıl çalıştıracağı ve hangi önceki uygulamalarda sunulduğu hakkında bir fikir edinmek için görüntüleyebilirsiniz.

Aynı damarda çalışan bir diğer harika araç da Mallet . Mallet arasındaki fark, karar ağaçları gibi biraz daha fazla dokümantasyon ve birkaç model daha olması ve bence biraz daha yavaşlayan Java. Weka , bazı grafik materyalleri içeren büyük bir pakette farklı makine öğrenme modelleri bütünüdür, ancak gerçekte temel olarak pedagojik amaçlar için tasarlanmıştır ve aslında benim üretime koyacağım şey bu değildir.

Görevinde iyi şanslar. Asıl zor kısım, modelinizin üzerinde çalışılacağı “tohum kümesini” sınıflandırmanız için gerekli bilgi miktarı olabilir. İkili bir sınıflandırma (mutlu ya da üzgün) veya çeşitli duygular (daha da fazlasını gerektiren) yaptığınıza bağlı olarak oldukça önemli olmalıdır. Bu verilerin bir kısmını test için çalıştırdığınızdan veya birkaç düzine ya da silinmiş test yaptığınızdan emin olun, göstermeden önce iyi bir iş öngördüğünüzden emin olun. Ve en önemlisi, iyi eğlenceler! Bu, benim görüşüme göre, NLP ve AI en iyi parçasıdır.

41
22 февр. Cevap 22 Ocak tarihinde Robert Elwell tarafından verildi. 2009-02-22 03:26 '09, 03:26, 2009-02-22 03:26

Bununla iyi şanslar.

Ruh halleri aşırı bağlamsaldır ve bir tweetleme kültürü sorunu daha da kötüleştirir çünkü çoğu tweet için size bağlam vermezler. Twitter'ın tüm amacı, çok kısa bir mesajda anlamlı bir bağlantı kurmak için "gerçek dünya" nın genel içeriğinin büyük bir kısmını kullanabileceğiniz gerçeğinde yatmaktadır.

border=0

Videonun kötü olduğunu söylerlerse, kötü mü yoksa kötü mü demektir?

Dilbilim profesörü bir gün dersine ders verdi. “İngilizce'de” dedi: “İkili negatif formlar pozitif. Ancak, Rusça gibi bazı dillerde çift negatif hala negatif. Ancak, çift pozitif biçimin olumsuz olduğu bir dil yok.”

Odanın arkasından ses "Evet, sağ ..."

73
03 марта '09 в 22:54 2009-03-03 22:54 Cevap MarkusQ 03.09 09: 22 : 54'te verilmiştir 2009-03-03 22:54

Önerileriniz için hepinize teşekkür ederim, gerçekten çok yardımcı oldular! Sonunda, buradan ödünç aldığım saf Bayes sınıflandırıcısını kullandım. Bir iyi / kötü anahtar kelime listesi göndererek başladım ve ardından kullanıcı incelemelerini kullanarak "öğren" özelliğini ekledim. Çok hoş olduğu ortaya çıktı.

Mesajımdaki gibi çalışmamın tüm detayları.

Yine, yardımınız çok yardımcı oldu, çok teşekkürler!

17
19 марта '09 в 16:04 2009-03-19 16:04 Cevap Ran 19 '09 at 16:04 2009-03-19 16:04 tarihinde verilir

Yazıtlı bir kelime listesi hazırladım. Buradan erişebilirsiniz:

http://www2.compute.dtu.dk/pubdb/views/edoc_download.php/6010/zip/imm6010.zip

Blogumda kısa bir Python programı bulacaksınız:

http://finnaarupnielsen.wordpress.com/2011/06/20/simplest-sentiment-analysis-in-python-with-af/

Bu yazı, kelime listesinin hem kişisel hem de Twitter ile nasıl kullanılacağını gösterir.

Kelime listelerine yaklaşımların kendi sınırlamaları vardır. Kelime listemin sınırlamalarını, “Yeni YAB: Mikrobloglarda Duyguları Analiz Etmek İçin Bir Kelime Listesini Değerlendirme” başlıklı makalede bulabilirsiniz. Bu makale ana sayfamda bulunmaktadır.

unicode(s, 'utf-8') pedagoji ile ilgili nedenlerden dolayı unicode(s, 'utf-8') olmadığını unutmayın.

12
18 июля '11 в 16:54 2011-07-18 16:54 Cevap Finn Årup Nielsen tarafından 18 Temmuz 11'de 16:54 2011-07-18 16:54 tarihinde verilmiştir.

Pek çok araştırma makalesi, duyguları analiz etmek için iyi bir baş>

Bunun söylendiğine göre, ruh hali alana özeldir ve genel amaçlı bir veri kümesiyle yüksek düzeyde bir doğruluk elde etmeniz zor olabilir.

İyi şanslar.

9
22 февр. Cevap 22 Şubat'ta Ben Coe tarafından verildi . 2009-02-22 02:04 '09, 02:04 2009-02-22 02:04

İhtiyacın olanı bulmak senin için zor olacak. Bildiğim en yakın şey, ruh halini analiz etme işlevine sahip olan ve sınırlı bir türdeki açık kaynak lisansı altında bulunan ancak Java'da yazılmış LingPipe .

Ek olarak, duyusal analiz sistemleri genellikle ortalama tweetten önemli ölçüde farklı olan bir ürün / film izleme sistemi öğretilerek geliştirilir. Hepsi aynı konu hakkında, birden fazla cümle içeren metinler için optimize edilecektir. Belki Pittsburgh Üniversitesi'nin sağladığı gibi, duygusal terimler sözlüğüne dayanan, kurala dayalı bir sistemle gelmenizin daha iyi olacağını düşünüyorum.

Ayrılma Böyle bir fikrin gerçekten güzel bir arayüzle (ve twitrratr ) gerçekleştirilmesi için harika hissediyoruz .

4
22 февр. Cevap Stompchicken 22 Şubat'ta verilir. 2009-02-22 01:50 '09, 01:50, 2009-02-22 01:50

Twitter'ın ruh hali analiz aracına göz atın. Python ile yazılmıştır ve Naive Bayes sınıflandırıcısını makine temelli yarı-gözlemle kullanır. Kaynak burada bulunabilir.

2
13 июля '11 в 12:23 2011-07-13 12:23 Cevap 13 Temmuz 11, 11:23 de Cyhex verilir

Geçenlerde Doğal Dil Araç Takımı ile tanıştım. Muhtemelen bir baş>

1
22 февр. Cevap Luka Marinko 22 Şub 2009-02-22 00:53 '09, 0:53 2009-02-22 00:53

Belki de TextBlob (NLTK ve şablona dayanarak) sizin için ruh hallerini analiz etmek için bir araçtır.

1
13 авг. Cevabı Sonson123 13 Ağustos verilmiştir . 2014-08-13 10:59 '14, 10:59 2014-08-13 10:59

Biraz garip bir fikir: Twitter API'sini büyük bir tweet seti indirmek için kullanmayı deneyebilir ve sonra ifadeleri kullanarak bu setin bir alt setini sınıflandırabilirsiniz: ":)", ":]", ": D", vb. İçin pozitif bir grup. ve ":(", vb. içeren bir başka negatif grup

Böyle kaba bir sınıflandırma yaptıktan sonra, frekans analizi veya ngram veya bu yönde bir şey içeren ilave ipuçları arayabilirsiniz.

Bu aptalca görünebilir, ancak bu konuda ciddi araştırmalar yapıldı ("ruh hali analizi" ve suratı arayın). Görmeye değer.

0
16 марта '09 в 9:22 2009-03-16 09:22 Cevap user18015 tarafından 16 Mart 099 tarihinde 09:22 tarihinde verilmiştir 2009-03-16 09:22

TwitterFeel, tweetlerin dilbilimsel analizini destekleyen ve pozitif / negatif tweet alabilen bir Twitter Görüşü arayüzüne sahiptir. Http://www.webservius.com/corp/docs/tweetfeel_sentiment.htm adresini ziyaret edin.

0
13 марта '10 в 5:07 2010-03-13 05:07 13 Mart '10'da Eugene Osovetsky'ye 05:07, 2010-03-13 05:07 tarihinde yanıtladı

Twitter Sentiment Analyis'in kodunu sıfırdan kodlamak isteyenler için GitHub'da Python kodlu bir Coursera " Veri Bilimi " kursu var (atama 1 - bağlantının bir parçası olarak) Görüşler AFINN-111'in bir parçası.

Burada çalışma çözümlerini bulabilirsiniz, örneğin burada . AFINN-111 ruh hali listesine ek olarak, pos / neg derecelendirmesine sahip tweet'lerde terimlerin sıklığına dayalı dinamik bir terim listesi oluşturmanın basit bir uygulaması vardır ( buraya bakın).

0
17 марта '14 в 14:12 2014-03-17 14:12 Cevap Philshem tarafından 17 '14 Mart'ta saat 14: 12'de veriliyor 2014-03-17 14:12

ya da Soru Sor ile ilgili diğer sorular