Javascript 如何确保用户只提交英文文本
我正在构建一个涉及自然语言处理的项目,因为nlp模块目前只处理英文文本,所以我必须确保用户提交的内容(不长,只有几个单词)是英文的。是否有既定的方法来实现这一点?首选Python或Javascript方式。您可以将短语分解成单词并查看字典(您可以下载一些,可能会感兴趣),但这需要您使用的字典足够好Javascript 如何确保用户只提交英文文本,javascript,python,nlp,Javascript,Python,Nlp,我正在构建一个涉及自然语言处理的项目,因为nlp模块目前只处理英文文本,所以我必须确保用户提交的内容(不长,只有几个单词)是英文的。是否有既定的方法来实现这一点?首选Python或Javascript方式。您可以将短语分解成单词并查看字典(您可以下载一些,可能会感兴趣),但这需要您使用的字典足够好 它也适用于专有名词(例如,我的名字不在字典中)。如果内容足够长,我会在字母上建议一些 但对于一些单词,我认为最好的办法是将它们与英语词典进行比较,如果其中一半匹配,则接受输入。试试: 查看英语单词列
它也适用于专有名词(例如,我的名字不在字典中)。如果内容足够长,我会在字母上建议一些 但对于一些单词,我认为最好的办法是将它们与英语词典进行比较,如果其中一半匹配,则接受输入。试试: 查看英语单词列表
你需要注意名字,例如“堪培拉”或“比尔·克林顿”。这些不会出现在单词列表中。我建议首先检查第一个字母是否大写。我认为最有效的方法是要求用户只提交英文文本:)
您可以在文本区域上显示语言选择下拉列表,选项为英语/其他。当用户选择“其他”时,禁用文本区域,并显示[目前]仅支持英语的消息。检查尝试基于n-gram的统计语言识别。这是一个使用这种技术的算法演示的链接,还有一个描述该算法的文章链接。试一试这个演示,它即使在非常短的文本(3-4个单词)上也表现得相当好。您已经在做NLP了,如果您的模块不理解文本是什么语言,那么可能是模块不工作或者输入的语言不正确。Firefox扩展有一个选项,可以在我键入时检测正确的词典。
我猜它会根据已安装的词典检查单词,并选择错误较少的一个
你不能期望所有的单词都在字典里:缩略语,专有名词,拼写错误。。。此外,有些词在几种语言中是通用的:一个法国摇滚乐团甚至将他们的唱片的标题在法语和英语中都有(不同)的意思。因此,这是一个统计数据:如果在一本好的英语词典中找到了超过x%的单词,那么很可能是这种语言的用户类型(即使有错误,比如可能在这个答案中,因为我不是英语母语)。谷歌有一个javascript API,它实现了语言检测。我只使用过它,从未在生产中使用过
也许“”这篇文章会对你有所帮助。代码是用PHP编写的,但是很小,很容易重写。但是您必须验证这一点,否则nlp模块将出现问题。是的,您是对的。但在这样的应用程序中,强调“垃圾输入,垃圾输出”规则通常是好的,这样用户错误就更少了。有没有已知的使用此图表的算法?我的意思是,你会计算每种语言的分数,然后对结果进行排序吗?或者我们可以对每种语言使用一个阈值?你的第二个想法将排除YouTube上几乎所有的评论。@Tyson,太好了,我没有想到的另一个优势;-)