【问题标题】:Java: how to validate natural language textJava:如何验证自然语言文本
【发布时间】:2019-10-10 08:15:44
【问题描述】:

我正在使用 OCR 识别图像中的(德语)文本。它运作良好,但并不完美。有时一个词会搞砸。因此,我想实现某种验证。当然,我可以只使用一个单词列表并找到与搞砸的单词相似的单词,但是有没有办法检查句子是否与这些单词合情合理?

毕竟,我的智能手机可以就如何完成一个句子给我很好的建议。

【问题讨论】:

  • 寻找马尔可夫链,即哪个元素更有可能出现在给定元素之后。您可以在字母级别(哪个字母更有可能)或单词级别(涉及更多)进行。在您的情况下,字母级别很可能就足够了。见这里:rosettacode.org/wiki/Markov_chain_text_generator#Java
  • 对不起,但没有任何代码,这个问题太宽泛了,无法在这里回答。每个人都会想发表他/她的意见。仅供参考:您的智能手机可以根据单词、句子列表以及单词的使用频率为您提供建议。而如果是google的在线服务..那恐怕复制起来太复杂了。
  • 请转至help center 了解如何/在这里询问什么。只是放弃要求“这就是我想要的”是不受欢迎的。当您自己尝试某件事时,遇到特定问题时,我们很乐意提供帮助。但请理解,这个地方并非旨在为您提供从愿景到工作计划可能需要的许多步骤的指导。
  • 毕竟,我的智能手机可以就如何完成一个句子给我很好的建议。 毕竟,迈克泰森仍然可以击倒你我,以及周围的其他人.尽管他比你我大很多。
  • 我还有一个建议:你可以下载a dictionary for auto correction,并尝试将它集成到你的程序中。因此,在运行 OCR 之后,您可以通过文本重复并通过将它们与字典进行比较来验证单词。这不会完美地工作,但至少它是可行的,并且让您有机会纠正至少一些单词。

标签: java nlp


【解决方案1】:

您需要寻找自然语言处理 (NLP) 解决方案。使用它们,您可以在语法上验证词汇(整个文本,这可能会更好,因为其中一些可能会考虑上下文,或逐个短语)。

我不是该领域的专家,但this 文章可以帮助您选择一个工具来开始尝试。

另外,请注意:您手机上的键盘是由 Apple、Google 或您使用其应用的任何其他公司的专业团队开发和维护的。所以,请不要低估这项任务:这方面有数十个研究领域,其中包括软件工程师和语言学专家以取得适当的成果。

编辑:好吧,两天后,我刚刚来到这个链接:https://medium.com/quick-code/12-best-natural-language-processing-courses-2019-updated-2a6c28aebd48

【讨论】:

    猜你喜欢
    • 2015-12-20
    • 2020-08-11
    • 1970-01-01
    • 2010-11-25
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    相关资源
    最近更新 更多