【发布时间】:2017-10-06 14:31:40
【问题描述】:
我现在已经切换到 Python 3.6,但是在运行信息丰富的功能时,当我尝试在我的特征提取器中打印俄语时,最终会出现乱码。
Most Informative Features
three_last_letters = 'оÌ' noun : verb = 6.6 : 1.0
three_last_letters = 'гÐ' noun : verb = 5.4 : 1.0
three_last_letters = 'еÐ' noun : verb = 4.7 : 1.0
three_last_letters = 'мÐ' noun : verb = 4.4 : 1.0
three_last_letters = 'нÑ' noun : verb = 3.5 : 1.0
对于特征提取器本身
def POS_features(word):
return{'three_last_letters':word[-3:]}
print(POS_features(u'Богатир'))
我可以让 тир 打印得很好,我可以做些什么来使信息功能返回俄语字符?
【问题讨论】:
-
在什么操作系统上?你是在控制台还是 ide 中尝试打印?
-
我在 Windows 上的 Jupyter notebook 上编码。
-
如果 Python 3.5 不是这种情况,可能是由于以下更改:“PEP 528 和 PEP 529,Windows 文件系统和控制台编码更改为 UTF-8。”。抱歉,没有合适的解决方案,但请尝试使用
sys.setdefaultencoding并检查sys.stdout.encoding。 -
@reivermello:
pickleis a serialization library. -
@reivermello 不要将解决方案写到问题中,而是将其写为下面的实际答案。这样您就可以将某些内容标记为已接受并关闭线程。
标签: python nltk feature-extraction python-unicode