python - 检测Python中属于哪些字母字符

标签 python nlp

是否有一个库或其他简单的方法来检测 Python 中属于哪些字母字符?我知道我可以为此使用 unicode 代码范围,但如果已经有内置方式或库或提供映射的类似方式,我宁愿不重新发明轮子。

注意:我问的是alphabet 而不是language。 “hello”和“hola”都将映射到拉丁字母,而“Поиск”将映射到西里尔字母。

最佳答案

Python 的 unicodedata在这里非常有帮助 this question/answer

如果不编写整个模块,我找不到任何检测语言的简单方法,而且我认为我会遇到很多极端情况,所以我编写了一个库。 Github页面是here .有了它,您就可以:

pip install alphabet-detector

然后直接使用:

from alphabet_detector import AlphabetDetector
ad = AlphabetDetector()

ad.only_alphabet_chars(u"ελληνικά means greek", "LATIN") #False
ad.only_alphabet_chars(u"ελληνικά", "GREEK") #True
ad.only_alphabet_chars(u"frappé", "LATIN") #True
ad.only_alphabet_chars(u"hôtel lœwe", "LATIN") #True
ad.only_alphabet_chars(u"123 ångstrom ð áß", "LATIN") #True
ad.only_alphabet_chars(u"russian: гага", "LATIN") #False
ad.only_alphabet_chars(u"гага", "CYRILLIC") #True

我还写了几个主要语言的便捷方法:

ad.is_cyrillic(u"гага") #True  
ad.is_latin(u"howdy") #True
ad.is_cjk(u"hi") #False
ad.is_cjk(u'汉字') #True

关于python - 检测Python中属于哪些字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28756796/

相关文章:

python - 使用 nltk 实现 idf

html - 从 HTML 到文本的 NLP 预处理

nlp - 如何为 T5 模型使用 forward() 方法而不是 model.generate()

python - 如何计算 Pandas 系列中的连续重复

python - 从视频读取的cv2帧与从重新创建的视频读取的帧不同

python - 值错误: operands could not be broadcast together with shapes (3,)(100,)

python - 在 Sklearn 异常值检测方法中将 'contamination' 参数设置为 'auto' 有什么作用?

java - 斯坦福解析器 - 多线程问题 - LexicalizedParser

python - 使用 Wordnet 生成最高级、比较级和形容词

python - Chainer 中加载的神经网络层的梯度