怎么判断一段文本是什么语言?
0 1627
1

这里的语言是指自然语言,如: 中文,英语.

收藏
2021-06-29 18:39 更新 怪瘦的钱包 •  30
共 1 个回答
高赞 时间
0

如果使用 python 的话, langid 包是个不错的选择.

安装

pip install langid

使用

>>> import langid
>>> str1 = '中文烫烫烫'
>>> str2 = 'こんにちは'
>>> str3 = 'hello world'
>>> langid.classify(str1)
('ja', -66.23101377487183)
>>> langid.classify(str2)
('ja', -110.94852066040039)
>>> langid.classify(str3)
('en', -23.719746112823486)
>>> str4 = 'tensorflow和pytorch哪个好'
>>> langid.classify(str4)
('zh', -66.31532549858093)
>>> str5 = '怎么判断一段文本是什么语言?'
>>> langid.classify(str5)
('zh', -163.11321830749512)

结果中的语言代号遵循 ISO-639-1 定义

结果中的第二个数值跟概率值有关,我通常忽略它.

使用建议

句子尽量使用长句,而不是切分成不完整的短句.句子越通顺,判断结果越准. 比如上面的 str1 就不是个通顺的句子,结果就判断错了.

收藏
2021-06-30 12:37 更新 天明 •  1292