首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >chardet.detect返回空语言

chardet.detect返回空语言
EN

Stack Overflow用户
提问于 2020-05-04 23:43:25
回答 1查看 424关注 0票数 1

我使用chardet.detect是为了检测字符串的语言,就像建议的here解决方案之一一样

我的代码如下所示:

代码语言:javascript
复制
import chardet

print(chardet.detect('test'.encode()))
print(chardet.detect('בדיקה'.encode()))
print(chardet.detect('тест'.encode()))
print(chardet.detect('テスト'.encode()))

我得到的结果如下:

代码语言:javascript
复制
{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
{'encoding': 'utf-8', 'confidence': 0.9690625, 'language': ''}
{'encoding': 'utf-8', 'confidence': 0.938125, 'language': ''}
{'encoding': 'utf-8', 'confidence': 0.87625, 'language': ''}

我的预期结果应该如下所示:

代码语言:javascript
复制
{'encoding': 'ascii', 'confidence': 1.0, 'language': 'English'}
{'encoding': 'utf-8', 'confidence': 0.9690625, 'language': 'Hebrew'}
{'encoding': 'utf-8', 'confidence': 0.938125, 'language': 'Russian'}
{'encoding': 'utf-8', 'confidence': 0.87625, 'language': 'Japanese'}

我更喜欢使用chardet作为我的解决方案,因为我已经在我的应用程序中导入了它,并且我想让它尽可能地精简

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 01:01:02

chardet模块在检测字符集和语言方面都不是很好。根据Python: How to determine the language?上列出的选项,我发现pyCLD3很容易安装,即使只有相当短的文本片段也能提供很好的检测,尽管对于像你的测试这样的单个单词来说并不完美:

代码语言:javascript
复制
>>> cld3.get_language("test")                                              
LanguagePrediction(language='ko', probability=0.3396911025047302, is_reliable=False, proportion=1.0)

>>> cld3.get_language("בדיקה")                                             
LanguagePrediction(language='iw', probability=0.9995728731155396, is_reliable=True, proportion=1.0)

>>> cld3.get_language("тест")                                              
LanguagePrediction(language='bg', probability=0.9895398616790771, is_reliable=True, proportion=1.0)

>>> cld3.get_language("テスト")                                            
LanguagePrediction(language='ja', probability=1.0, is_reliable=True, proportion=1.0)

看起来四分之三因为тест也是保加利亚人。langid模块可以正确地处理所有这些问题,因此这也可能是一个不错的选择。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61596125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档