【问题标题】:How to ensure user submit only english text如何确保用户只提交英文文本
【发布时间】:2011-03-23 13:41:03
【问题描述】:

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

【问题讨论】:

    标签: javascript python nlp


    【解决方案1】:

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

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

    【讨论】:

    • 您的第二个想法将排除 YouTube 上的几乎所有评论。
    • @Tyson,太好了,另一个我没想到的优势 ;-)
    【解决方案2】:

    【讨论】:

    • 是否有使用此图表的已知算法?我的意思是你会计算每种语言的分数然后对结果进行排序吗?或者我们可以为每种语言设置一个阈值?
    【解决方案3】:

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

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

    【讨论】:

    • 但是你必须验证一下,否则nlp模块会有问题。
    • 是的,你是对的。但在此类应用程序中,通常最好强调“垃圾进垃圾出”规则,这样可以减少用户错误。
    【解决方案4】:

    Google 有一个实施语言检测的 JavaScript API。我只用它进行过测试,从未在生产中使用过。

    http://code.google.com/apis/ajaxlanguage/documentation/#Detect

    【讨论】:

      【解决方案5】:

      尝试基于 n-gram 的统计语言识别。这是使用此技术的算法演示的link,还有一个链接到描述该算法的论文。试试这个演示,即使是非常短的文本(3-4 个字),它也表现得很好。

      【讨论】:

        【解决方案6】:

        你已经在做 NLP,如果你的模块不理解文本是什么语言,那么要么模块不工作,要么输入的语言不正确。

        【讨论】:

          【解决方案7】:

          试试:

          http://wordlist.sourceforge.net/

          获取英文单词列表。

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

          【讨论】:

            【解决方案8】:

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

            它也会被专有名词取代(例如,我的名字不在字典中)。

            【讨论】:

              【解决方案9】:

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

              您不能指望文本中的所有单词都会出现在字典中:缩写词、专有名词、错别字……此外,有些单词在多种语言中是通用的:一个法国摇滚乐队甚至将其磁盘的标题设为在法语和英语中都有(不同的)含义。所以这是一个统计问题:如果在一本好的英语词典中找到超过 x% 的单词,则用户很有可能使用这种语言输入(即使有错误,比如可能在这个答案中,因为我不是英语母语) .

              【讨论】:

                【解决方案10】:

                也许“Ensuring that the user submits only English text [PHP]”文章会对您有所帮助。代码是用 PHP 编写的,但足够小,可以很容易地重写。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-02-02
                  • 2021-05-04
                  • 1970-01-01
                  • 2011-07-05
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多