2010-05-14 16 views
17

Ben duygu analizi için bir NLP projesine başlıyorum.Örnek veri veya webservice kullanarak cümleler için NLTK python ile duygu analizi?

Python için NLTK'yi başarıyla yükledim (bunun için harika bir yazılım parçası gibi görünüyor). Ancak, görevimi gerçekleştirmek için nasıl kullanılabileceğini anlamakta zorlanıyorum. Ben bu kırmak istiyoruz

  • (kendi webcoder UK seçimlerinin konuyla ilgili birkaç yüz tweet Diyelim) veri tek bir uzun parça ile başlar

    1. : Burada

      benim görevdir cümlelere (ya da 100'den fazla bilginin olmadığı) (sanırım bunu python'da yapabilirim sanırım)
    2. Bu cümlede belirli cümleler için tüm cümleleri aramak için "David Cameron'ın"
    3. Sonra
    4. Her cümlede olumlu/olumsuz duyguları kontrol eder ve buna göre

    NB bunları saymak istiyorum: benim veri setleri de büyük ve çünkü ben doğruluğu hakkında çok fazla gerçekten endişeli değilim sarcasm hakkında çok fazla endişelenmiyorum. Ben mesela bulabilirsiniz

    1. tüm veri setleri: Burada

      ben yaşıyorum sıkıntılar vardır NLTK ile gelen corpus film inceleme verileri webservice formatındadır. Bu işlem zaten yapılmış bir işlem yapmış gibi görünüyor. Gördüğüm kadarıyla (stanford ile) işlemi WEKA ile yapıldı. NLTK'ın tüm bunları tek başına yapması mümkün değil mi? Burada, tüm veri kümeleri zaten hali hazırda örneğin pozitif/negatif olarak organize edilmiştir. polarite veri kümesi http://www.cs.cornell.edu/People/pabo/movie-review-data/ Bu nasıl yapılır? (Duyguları ile cümleler organize etmek, kesinlikle WEKA? Veya başka bir şey mi?)

    2. Ben WEKA ve NLTK birlikte kullanılabilir neden anlıyorum emin değilim. Aynı şeyi yapıyorlar gibi görünüyor. Eğer verileri WEKA ile ilk kez işlediğimde duygu bulmak için neden NLTK'ye ihtiyacım olurdu? Bunun neden gerekli olabileceğini açıklamak mümkün mü?

    Ben bu görev yakınında biraz olsun birkaç komut dosyalarını bulduk, ama hepsi aynı önceden işlenmiş verileri kullanıyor. Linkte verilen veri örneklerini kullanmak yerine bu verileri cümlelerde ciddiyetle bulmak için kendim işlemek mümkün müdür?

    Herhangi bir yardım çok takdir ve bana çok fazla saç kazandıracak!

    Alkış Ke

  • cevap

    12

    film eleştiri verileri zaten pozitif veya negatif olarak insanlar tarafından işaretlendi (inceleme yapılmış kişi filmi kutuplarını belirlemek için kullanılan bir derecelendirme verdi). Bu altın standart etiketleri, diğer film incelemeleri için kullanabileceğiniz bir sınıflandırıcıyı eğitmenize izin verir. NLTK'da bir sınıflandırıcıyı bu verilerle eğitebilirdiniz, ancak sonuçları seçim tweet'lerine uygulamak, rastgele pozitif veya negatif tahmin etmekten daha az doğru olabilir. Alternatif olarak, birkaç bin tweet'i pozitif veya negatif olarak etiketleyebilir ve etiketleyebilir ve bunu antrenman setiniz olarak kullanabilirsiniz.NLTK ile duyguları analiz için Naif Bayes kullanarak açıklaması için

    : http://streamhacker.com/2010/05/10/text-classification-sentiment-analysis-naive-bayes-classifier/

    Sonra bu kodda yerine film külliyatı kullanmak yerine, (word_feats yönteminde) kelime sayısı hesaplamak için kendi verileri kullanır.

    +0

    Evet, bu site üzerinde biraz arama yaptıktan sonra sona erdi, ama sanırım her inceleme için istatistik almak için biraz sıkışmış. Nltk'yi, bir veya 0'ın pos/neg için gözden geçirme kimliğinin bir listesini vermek için nasıl kullanabilirim? cheers ke –

    +0

    Gelecek okuyucular için muhtemelen yararlı: Film inceleme corpus'un "pos" ve "neg" kategorileri vardır. "Neg" kategorisinde dosya listesinin bir listesini almak için sadece 'movie_reviews.fileids ("neg") 'komutunu kullanın. Ayrıca, negatif kategorisindeki tüm metinleri, örneğin, 'movie_reviews.sents (kategoriler = ["neg"]) 'ifadesini kullanarak da doğrudan elde edebilirsiniz. (Bu yöntemler tüm kategorize edilmiş nltk corpora ile çalışır. Bir korpustaki kategorileri listelemek için, corpus.categories() 'işlevini kullanın.) – alexis

    1

    WSD'yi neden kullanmıyorsunuz? Duyguları bulmak için Disambiguation aracını kullanın. ve kelime yerine duyulara harita polaritesi kullanın. Bu durumda, kelime indeksi polaritesine kıyasla biraz daha doğru sonuçlar elde edersiniz.

    +1

    Sesler harika. Bununla ilgili herhangi bir evrak veya uygulama var mı? – mixdev

    İlgili konular