SORU
16 Mart 2010, Salı


Nasıl metin girdileri bir dizi ortak / önemli ifadeler ayıklamak için

Kalemler MYSQL veritabanından ham HTML metin bir dizi var. Bu girişler (en sık görülen tek cümle, ve ideal olarak, kelime-kelime eşleme değil, zorlama değil) en yaygın sözcük bulmak istiyorum.

Benim örnek biçiminde verilen bir restoran yorumları yüzlerce,: 3 parçacıkları gösterir yelp.com üzerinde herhangi bir inceleme

"Hamburger deneyin" (44 yorumları)

örneğin, "Gözden Geçirme Olayları" bu sayfanın bölüm:

http://www.yelp.com/biz/sushi-gen-los-angeles/

Yüklü ve onunla biraz oynadım ben. NLTK var, ama dürüst olmak gerekirse seçenekleri tarafından boğulmuş. Bu oldukça yaygın bir sorun gibi görünüyor ve burada arama yaparak basit bir çözüm bulmak mümkün olmamıştır. Herhangi bir yardım için şimdiden teşekkür ederiz.

CEVAP
16 Mart 2010, Salı


Sadece en yaygın ifadeler istemezsin sanıyorum, ama daha ziyade en ilginç istiyorsunsöz öbeklerinin. Aksi takdirde, ifadeler ve daha az ilginç ve bilgilendirici ortak kelimeler deyimler oluşan bir overrepresentation ile sonuçlanabilir.

Bunu yapmak için, aslında veri n-gram özü ve en yüksek olanları bulmak için isteyeceksiniz point wise mutual information (PMI). Yani co-ortaya çıkan kelimeleri bir araya beklediğiniz çok daha fazla şans bulmak istiyorum.

NLTK collocations how-to kod yaklaşık 7 satır bunu yapmak için nasıl, örneğin kapsar

import nltk
from nltk.collocations import *
bigram_measures = nltk.collocations.BigramAssocMeasures()
trigram_measures = nltk.collocations.TrigramAssocMeasures()

# change this to read in your data
finder = BigramCollocationFinder.from_words(
   nltk.corpus.genesis.words('english-web.txt'))

# only bigrams that appear 3  times
finder.apply_freq_filter(3) 

# return the 10 n-grams with the highest PMI
finder.nbest(bigram_measures.pmi, 10)  

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012