2013-03-04 18 views
5

Projem Nasıl verebilirim ben Arapça tweet girdiğinizde bir hataArapça metni python koduma nasıl girerim?

>>> pos_tweets = [(' أساند كل عون أمن شريف', 'positive'), 
       ('ما أحلى الثورة التونسية', 'positive'), 
       ('أجمل طفل في العالم', 'positive'), 
       ('الشعب يحرس', 'positive'), 
       ('ثورة شعبنا هي ثورة الكـــرامة وثـــورة الأحــــرار', 'positive')] 
Unsupported characters in input 

oluşur, ben NLTK ve python kullanılan bu görevi yerine getirecek, Arapça dilinde bir düşünceyi ya pozitif ya da negatif (duygu analizi) tespit etmektir bu problemi çöz?

+0

sisteminiz hakkında daha fazla ayrıntı verebilir: çalıştığını ancak ben bu satırları ekledikten sonra unicode dizeleri kabul eder ve sorunsuz komut dosyasını çalıştırır neden bilmiyorum? – pram

+0

Benim projem Arapça dil için bir duyarlılık analiz araç seti oluşturmaktır, ağa göz attığımda bu görevin İngilizce dilden daha zor olduğunu buldum, NLTK ve python ile ilgilenen bir örnek buldum ve iyi bir sonuç veriyor [örnek] (http://www.laurentluce.com/posts/twitter-sentiment-analysis-using-python-and-nltk/), ben aynı dili –

+0

için aynı şeyi yapıp yapamayacağımı merak ediyorum Üzgünüz, etkileşimli kabuktan veya komut dosyasından mı koşuyorsunuz? Hangi python kabuğunu kullandınız, işletim sisteminiz nedir, vb. – pram

cevap

3

Sorununuz, IDLE kabuğundan geldi. AFAIK IDLE, etkileşimli modda UTF-8 girişini kabul etmez.

DreamPie veya PythonWin gibi alternatif (ve daha iyi) kabukları kullanmanızı öneririm.

+0

runnig'ım var. Bu araçları, arapça dilinde duyguları analiz edebilen araçlar (stop word'leri, classificatio için api var mı?)? –

+1

Onlar sadece kabuklar. Python yorumlayıcısına yazdığınız her türlü ifadeyi geçerler. İstediğiniz herhangi bir kabuğu kullanmak problem oluşturmaz. Tabii ki gerekli kütüphaneyi kurmanız gerekiyor (bu durumda nltk). – pram

+0

teşekkürler, DreamPie kabuğu ile çalışıyor :) –

3

Genellikle python koduma UTF-8 girmek için kullandığım basit bir kesmek var.

#! /usr/local/bin/python -*- coding: UTF-8 -*- 

pos_tweets = [(u' أساند كل عون أمن شريف', 'positive'), 
(u'ما أحلى الثورة التونسية', 'positive'), 
(u'أجمل طفل في العالم', 'positive'), 
(u'الشعب يحرس', 'positive'), 
(u'ثورة شعبنا هي ثورة الكـــرامة وثـــورة الأحــــرار', 'positive')] 

for i in pos_tweets: 
    print i[0], i[1] 
+1

şimdi çalışıyor, teşekkürler :) –

+3

...... (= ألعفو – alvas

İlgili konular