我正在處理telugu文本以分析幾個文本標記。Python可讀格式的非英文(telugu)文本
>>> sent = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> text = sent
>>> text = nltk.word_tokenize(text)
>>> result = nltk.pos_tag(text)
>>> for val in result:
... print list(val)[0], list(val)[1]
...
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
這樣我可以看到在泰盧固語的結果。
對於同樣的文字,當我嘗試這種方式時,它給出了unicode字符串的結果。 如何在telugu打印令牌?
>>> s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> res = s.split(' ')
>>> res[0]
u'\u0c28\u0c3e'
>>> type(res[0])
<type 'unicode'>
>>> res[0].encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> res[0].encode('utf-8')
'\xe0\xb0\xa8\xe0\xb0\xbe'
編輯:
print res[0]
正確地給了它。但是,當我執行把這個代碼放入.py腳本並運行它。它給
[email protected]:~/Documents/codes$ python test.py
File "test.py", line 1
SyntaxError: Non-ASCII character '\xe0' in file test.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
test.py包含:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print i
嘗試'打印清晰度[0]'來代替。 – nu11p01n73R
你的問題是什麼?爲什麼不只是'print()'結果:'print(res [0])'? – Leon
對不起,我的錯。打印給它正確。但問題仍然存在。我很感激,如果你可以看到有問題的編輯 – user123