2013-03-04 71 views
5

我的項目是在阿拉伯語識別情緒或正或負(情感分析),做這個任務我用NLTK和蟒蛇,當我在阿拉伯語輸入鳴叫發生錯誤我如何輸入阿拉伯文字到我的Python代碼?

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

哪能解決這個問題?

+0

你能給你的系統的更多細節? – pram 2013-03-04 07:18:46

+0

我的項目是爲阿拉伯語建立一個情感分析工具包,當我瀏覽網絡時,我發現這個任務比英語更艱苦,我找到了一個處理NLTK和python來分析情感的例子,它給出了一個很好的結果[示例](http://www.laurentluce.com/posts/twitter-sentiment-analysis-using-python-and-nltk/),我想知道我是否可以對阿拉伯語言做同樣的事情 – 2013-03-04 07:48:48

+0

對不起,我意味着你是從交互式shell還是腳本運行?你使用了哪個python shell,你的操作系統是什麼,等等。 – pram 2013-03-04 14:06:58

回答

3

你的問題來自於IDLE shell。 AFAIK IDLE不會在交互模式下接受UTF-8輸入。

我建議你使用替代(和更好)的shell如DreamPiePythonWin

+0

這些工具能夠分析阿拉伯語言的情感(是否存在停用詞,分類的API)? – 2013-03-04 21:37:27

+1

他們只是貝殼。他們只會將你輸入的任何語句傳遞給Python解釋器。使用任何你喜歡的shell都不會造成任何問題。當然,你仍然需要安裝所需的庫(在這種情況下是nltk)。 – pram 2013-03-05 02:31:56

+0

謝謝,它適用於DreamPie外殼:) – 2013-03-05 12:40:46

3

有一個簡單的黑客,我通常會將UTF-8輸入到我的Python代碼中。我不知道爲什麼它的工作原理,但它接受Unicode字符串和平穩運行該腳本後,我添加這些行:

#! /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

它現在可以工作,謝謝:) – 2013-03-05 12:41:17

+3

......(=ألعفو – alvas 2013-03-05 13:58:54