对于我的一个应用程序,我需要通过获取内容来确定网站的语言。
我想知道您对制作语言确定脚本的看法。你会用哪种方法?哪种脚本语言?等
此刻我用PHP编写了一些代码中的代码;
我现在正在采取这些步骤来确定语言,也正是按此顺序。如果一种方法成功确定了语言,我就退出下一个函数。
这种方法有效,但并不总是那么准确。有人可以告诉我更多关于我可以检查的事情吗?也许是另一种检查语言的方法(我不想使用api)。
(最后我需要将这些语言设置为MySql数据库)。
期待听到一些建议!
提前致谢。
尼克
答案 0 :(得分:0)
这将取决于你的文字是什么..
首先解析所有html并仅提取文本。
如果它很长,你可以通过只看停字来使用便宜的方法。获取每种语言的停用词列表,并确定其中有多少停用词。您可以在NLTK语料库(python)中获得一个很好的停用词列表,并利用一些好的函数来标记句子和单词。
import nltk
ENGLISH_STOPWORDS = set(nltk.corpus.stopwords.words('english'))
NON_ENGLISH_STOPWORDS = set(nltk.corpus.stopwords.words()) - ENGLISH_STOPWORDS
STOPWORDS_DICT = {lang: set(nltk.corpus.stopwords.words(lang)) for lang in
nltk.corpus.stopwords.fileids()}
def get_language(text):
words = set(nltk.wordpunct_tokenize(text.lower()))
return max(((lang, len(words & stopwords)) for lang, stopwords in STOPWORDS_DICT.items()),
key = lambda x: x[1])[0]
lang = get_language('This is my test text')
关于http://www.algorithm.co.il/blogs/programming/python/cheap-language-detection-nltk/
的更多解释如果您想通过python + nltk,请不要忘记在安装后下载nltk语料库。
import nltk
nltk.download()