这是我正在开展的工作,我想从StackOverflow上的智能人员输入.

我正在尝试的是基于组合相同文本页面的各种不良版本来修复文本的功能.基本上,这可以用于将不同的OCR结果组合成一个比任何一个单独的更准确的结果.

我从一本60万英文单词的字典开始,几乎包括法律和医学术语以及通用名称.我已经有了

然后我有4个版本的文本示例.

这样的事情

$text[0] = 'Fir5t text sample is thisline';
$text[1] = 'Fir5t text Smplee is this line.';
$text[2] = 'First te*t sample i this l1ne.';
$text[3] = 'F i r st text s ample is this line.';

我试图结合以上来获得一个如下所示的输出:

$text = 'First text sample is this line.';

不要告诉我这是不可能的,因为它当然不是,只是非常困难.

我非常感谢任何人对此有任何想法.

谢谢!

我目前的想法:

只是检查字典对字典将不起作用,因为一些空格在错误的地方,偶尔这个词不会在字典中.

主要的问题是修复破碎的间距,一旦这是固定的,那么最常出现的词典词可以选择,如果存在,或者是最常发生的非词典单词.

你试过使用最长的通用子序列算法吗?这些通常在源代码控制应用程序和一些文本编辑器中使用的“diff”文本比较工具中被看到.差分算法有助于识别两个文本样本中已更改和不变的字符.
http://en.wikipedia.org/wiki/Diff

几年前,我在一个类似于你的OCR应用程序.而不是将多个OCR引擎应用于一个映像,我使用一个OCR引擎来分析同一映像的多个版本.每个处理后的图像都是对原始图像应用不同的去噪技术的结果:一种技术对于较低的对比度效果更好,另一种技术在人物形成不佳时效果更好.比较OCR结果对每个图像的“投票”方案提高了诸如“BQCM10032”之类的任意字符串的读取速率.其他投票方案在OCR的学术文献中有描述.

有时,您可能需要匹配一个单词,没有OCR结果的组合将产生所有字母.例如,中间字母可能会丢失,如“w rd”或“c tch”(可能是“单词”和“catch”).在这种情况下,可以使用三个键中的任何一个来访问您的字典:初始字母,中间字母和最终字母(或字母组合).每个密钥与通过语言发生频率排序的单词列表相关联. (我使用这种多键查找来提高纵横字谜生成应用程序的速度;可能有更好的方法,但是这个方法很容易实现.)

为了节省内存,您可以仅将多键方式应用于语言中的前几千个常用单词,然后只能使用较少常用单词的一种查找技术.

有几个在线列表的词频.
http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists

如果你想得到想象,你也可以依靠在文本中的先前出现的频率.例如,如果“Byrd”出现多次,那么如果OCR引擎以低置信度得分报告“鸟”或“吟游诗人”,则可能是更好的选择.您可以将医学词典加载到内存中,只要在同一页面上统计学上不太可能出现医学术语 – 否则将医学术语从您的工作字典中删除,或至少指定合理的可能性. “假肢”是一个常识; “前列腺炎”较少.

如果您有图像处理技术(如去噪和形态操作)的经验,还可以在将图像传送到OCR引擎之前尝试预处理图像.在您的软件识别出OCR引擎表现不佳的单词或区域之后,图像处理也可以应用于选择区域.

某些字母/字母和字母/数字替换是常见的.数字0(零)可以与字母O,C表示O,8表示B,E表示F,P表示R等.如果找到一个低信心的词,或者如果有两个常见的单词可以匹配一个不完整的单词,那么ad hoc形状匹配规则可以帮助.例如,“bcth”可以匹配“both”或“bath”,但是对于许多字体(和上下文),“both”是更可能的匹配,因为“o”更类似于“c”形状.在长篇小说中,例如小说或杂志文章中的一段话,“浴”比“b8”更好.

最后,您可以编写一个插件或脚本来将结果传递给拼写检查引擎,该引擎检查名词动词协议和其他语法检查.这可能会遇到一些额外的错误.也许你可以尝试VBA Word或任何其他脚本/应用程序组合是受欢迎的这些天.

PHP修复不良文本的更多相关文章

  1. ios – 是否可以使用Tesseract OCR识别iPhone屏幕上绘制的角色?

    从过去的2周开始,我正在努力实现“识别iPhone屏幕上绘制的角色”.我搜索这个,我找到了TesseractOCR.通过使用TesseractOCR,我们能够识别图片中的字符.现在我的问题是,是否可以使用TesseractOCR识别iPhone屏幕上绘制的角色?

  2. Swift社交应用文本输入优化汇总

    本文将汇总一下Swift社交应用文本输入优化技巧。

  3. 创建自注册的Swift UI 控件

    UIKit的UITextField控件的placeholder属性就是用来干这个的。方式2:NSNotificationCenterNSNotificationCenter通过UITextViewTextDidChangeNotification通知来告诉你用户在TextView中输入或删除了某些字符。一般,我们在对象的deinit方法中向NSNotificationCenter注销该对象。但是在Swift中,我们无法在扩展中使用deinit方法。TheNotificationProxyatRunTime

  4. 在 Cocoa 中实现 ICU 文本变换

    ICU库提供了一整套强大的文本变换功能,在处理用户输入、特别是当你的程序需要处理一些英语之外的语言或者非拉丁字符时非常有用。在Apple的平台中,字符串变换一直以来都是通过CoreFoundation的CFStringTranform函数来实现。输入变换结果HELLOWORLDLowerhelloworld仅转换元音字母为小写。拉丁到ASCII这一步会移除变音符以及会把ASCII码范围之外的字符和标点符号转换成ASCII中与之最为接近的版本。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@fox

  5. Python+OCR实现文档解析的示例代码

    本文是一个简单教程,主要介绍了如何使用OCR进行文档解析以及使用Layoutpars软件包进行了整个检测和提取过程,感兴趣的可以了解一下

  6. HTML5 textarea高度自适应的两种方案

    这篇文章主要介绍了HTML5 textarea高度自适应的两种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  7. PHP / jQuery / JavaScript中的免费OCR处理API

    有没有免费的PHPOCRAPI,这在PHP,jQuery或JavaScript中有很好的记录?我正在为iOS编程一个网络应用程序,我想在iOS6safari中使用新的照片上传API来用于OCR图像处理.万分感谢!如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  8. 在CentOS 6上安装Tesseract-OCR

    我正在尝试在我的服务器上安装Tesseract-OCR但是当我安装所有我认为是正确的回购.当我尝试安装它时,找不到包我尝试添加rpmforge但无济于事.来自之前已经完成或熟悉添加和搜索回购的人的任何想法?

  9. centos上 java使用Tesseract进行ocr识别

    1、安装过程:安装ocryuminstalltesseract-ocr查找中文包yumsearchtesseract-ocr|grepsim安装中文包yuminstalltesseract-langpack-chi_sim安装版本信息:?test-ugc-api01tesseracttesseract-vtesseract3.04.00leptonica-1.72libgif4.1.6(?):li

  10. 【OCR】源码编译安装tesseracr-ocr并简单说一下接口——Ubuntu14.04

    反正我每次安装完tesseract后,我的opencv头文件不是没了就是出问题。github地址:https://github.com/tesseract-ocr/tesseract/releases建议下载安装4.0版本,有LSTM,准确率和速度都不错。官网地址:http://www.leptonica.org/必须源码编译安装,默认安装目录在/usr/local/下3.安装tesseract二、部分API介绍预训练模型地址:https://github.com/tesseract-ocr/tessda

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部