Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确保用户只提交英文文本_Javascript_Python_Nlp - Fatal编程技术网

Javascript 如何确保用户只提交英文文本

Javascript 如何确保用户只提交英文文本,javascript,python,nlp,Javascript,Python,Nlp,我正在构建一个涉及自然语言处理的项目,因为nlp模块目前只处理英文文本,所以我必须确保用户提交的内容(不长,只有几个单词)是英文的。是否有既定的方法来实现这一点?首选Python或Javascript方式。您可以将短语分解成单词并查看字典(您可以下载一些,可能会感兴趣),但这需要您使用的字典足够好 它也适用于专有名词(例如,我的名字不在字典中)。如果内容足够长,我会在字母上建议一些 但对于一些单词,我认为最好的办法是将它们与英语词典进行比较,如果其中一半匹配,则接受输入。试试: 查看英语单词列

我正在构建一个涉及自然语言处理的项目,因为nlp模块目前只处理英文文本,所以我必须确保用户提交的内容(不长,只有几个单词)是英文的。是否有既定的方法来实现这一点?首选Python或Javascript方式。

您可以将短语分解成单词并查看字典(您可以下载一些,可能会感兴趣),但这需要您使用的字典足够好


它也适用于专有名词(例如,我的名字不在字典中)。

如果内容足够长,我会在字母上建议一些

但对于一些单词,我认为最好的办法是将它们与英语词典进行比较,如果其中一半匹配,则接受输入。

试试:

查看英语单词列表


你需要注意名字,例如“堪培拉”或“比尔·克林顿”。这些不会出现在单词列表中。我建议首先检查第一个字母是否大写。

我认为最有效的方法是要求用户只提交英文文本:)


您可以在文本区域上显示语言选择下拉列表,选项为英语/其他。当用户选择“其他”时,禁用文本区域,并显示[目前]仅支持英语的消息。

检查尝试基于n-gram的统计语言识别。这是一个使用这种技术的算法演示的链接,还有一个描述该算法的文章链接。试一试这个演示,它即使在非常短的文本(3-4个单词)上也表现得相当好。

您已经在做NLP了,如果您的模块不理解文本是什么语言,那么可能是模块不工作或者输入的语言不正确。

Firefox扩展有一个选项,可以在我键入时检测正确的词典。
我猜它会根据已安装的词典检查单词,并选择错误较少的一个


你不能期望所有的单词都在字典里:缩略语,专有名词,拼写错误。。。此外,有些词在几种语言中是通用的:一个法国摇滚乐团甚至将他们的唱片的标题在法语和英语中都有(不同)的意思。因此,这是一个统计数据:如果在一本好的英语词典中找到了超过x%的单词,那么很可能是这种语言的用户类型(即使有错误,比如可能在这个答案中,因为我不是英语母语)。

谷歌有一个javascript API,它实现了语言检测。我只使用过它,从未在生产中使用过


也许“”这篇文章会对你有所帮助。代码是用PHP编写的,但是很小,很容易重写。

但是您必须验证这一点,否则nlp模块将出现问题。是的,您是对的。但在这样的应用程序中,强调“垃圾输入,垃圾输出”规则通常是好的,这样用户错误就更少了。有没有已知的使用此图表的算法?我的意思是,你会计算每种语言的分数,然后对结果进行排序吗?或者我们可以对每种语言使用一个阈值?你的第二个想法将排除YouTube上几乎所有的评论。@Tyson,太好了,我没有想到的另一个优势;-)