基于UI自动化和OCR的数据处理系统、方法、设备和装置与流程

文档序号:18213930发布日期:2019-07-19 22:30阅读:468来源:国知局
基于UI自动化和OCR的数据处理系统、方法、设备和装置与流程

本发明涉及互联网技术领域,尤其涉及基于ui(用户接口)自动化和ocr(光学字符识别)的数据处理系统、方法、设备和装置。



背景技术:

网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫的主要方式是通过网站提供的api(应用程序编程接口)进行数据抓取。通过api的缺点是有些网站会限制api调用的次数和频率,用户需要付费来升级成高级用户来获取更灵活的api调用。

网络爬虫的另一种方式是基于html进行数据抓取,其优点就是不受api的调用限制。通过访问网页的html代码,并从中抓取到所需节点上的数据。这个方法还有一个缺点就是,网页一旦发生一点小小的结构变化,抓取代码就有可能需要重写。



技术实现要素:

鉴于现有技术的以上问题,本发明的实施例提供一种新颖的基于ui自动化和ocr的数据处理系统、方法、设备和装置,其不再受限于api的可用资源以及调用频率和次数。

对于行情业务来说,多源比对是保证行情数据持续稳定正确可用的有效手段。随着终端技术和软件技术的发展,当前的行情数据多源比对方案,需要分析出其他行情数据app(应用程序)上数据源的接口规则,通过接口爬取他源数据。但是,接口变更之后,需要对爬取逻辑跟进修改,从而造成维护成本高。另外,随着其他系统的反爬取能力的提升,可分析出接口的数据源也越来越有限。

另一方面,ocr(光学字符识别)是指电子设备通过检测图像上暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。但是,ocr技术通常依赖于用户对于待识别内容的扫描或者待识别图像的指定。因而,ocr技术目前还不能自动对大量图像进行文字识别。

自动化测试是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试包括单元自动化测试(数据处理层)、接口自动化测试(业务逻辑层)以及ui自动化测试(gui界面层)。

本申请的发明人注意到,要爬取的行情数据通常都是行情数据app上要呈现给用户的用户界面上所显示的数据。进而,本申请的发明人首先提出借助于ui自动化模拟用户操作行情数据app进入待抓取的用户界面,截屏,调用ocr识别服务,识别截屏中的文本信息,然后提取出需要检查字段的内容,最后可以对抓取的多家行情数据进行比较。尤其是,将截取的图像汇总到云端,借助服务器的强大数据计数能力,能够极大地提高数据抓取的效率。术语“ui自动化”是指通过编写程序,实现对app上元素的电击、拖动等交互动作,从而实现利用机器模拟用户操作app的过程。这样,根据本发明的实施例的数据抓取不再受限于api的可用资源以及调用频率和次数。

按照本发明的实施例的一种基于ui自动化和ocr的数据处理系统,包括:其被配置为定期地借助于ui自动化操作一个或多个应用程序分别进入关于感兴趣对象的一个或多个用户界面,并获取与所述一个或多个用户界面对应的一幅或多幅图像;以及,处理器,其被配置为调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。

按照本发明的实施例的一种基于ui自动化和ocr的数据处理方法,包括:定期地借助于ui自动化操作终端上的一个或多个应用程序分别进入关于感兴趣对象的一个或多个用户界面;获取与所述一个或多个用户界面对应的一幅或多幅图像;并且,调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。

按照本发明的实施例的一种基于ui自动化和ocr的数据处理设备,包括:处理器;以及,存储器,其上存储有可执行指令,其中,所述可执行指令当被执行时使得所述处理器执行前述的方法。

按照本发明的实施例的一种机器可读存储介质,其上存储有可执行指令,其中,所述可执行指令当被执行时使得机器执行前述的方法。

按照本发明的实施例的一种基于ui自动化和ocr的数据处理装置,包括:获取模块,用于定期地借助于ui自动化操作终端上的一个或多个应用程序分别进入关于感兴趣对象的一个或多个用户界面,并获取与所述一个或多个用户界面对应的一幅或多幅图像;以及,提取模块,用于调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。

从以上可以看出,本发明的实施例的方案利用ui自动化操作应用程序进入指定用户界面,截屏即可获取相关数据,而无需分析他源接口进行爬取,不容易被对方反爬系统禁止。因此,与现有技术相比,本发明的实施例的方案能够在数据爬取时不再受限于api的可用资源以及调用频率和次数。同时根据本发明实施例的框架搭建之后,可以适用于股票、基金各种业务数据的比对,而不会受到各种业务数据接口变化大以及数据结构变换较大的影响,极大地降低了维护成本。此外,本发明的实施例的方案也解决了现有技术中只能从服务端检查行情数据是否正确可用,无法确保客户端展示是否也正确的问题。此外,根据本发明的技术不仅可以应用于行情数据比对的场景,还可以用于智能监控分析竞品app的活动和状态。

附图说明

本发明的特征、特点、优点和益处通过以下结合附图的详细描述将变得显而易见。

图1示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理系统10的示例场景。

图2示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理方法300的总体流程图。

图3示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理装置400的示意图。

图4示出了支付宝(蚂蚁财富)、富途牛牛、雪球、同花顺和自选股五款行情数据app同一时刻获得的有关st长生的股票信息。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

下面,结合附图详细描述本发明的各个实施例。

图1示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理系统10。图1所示的系统10包括终端100,在终端100上事先已安装有一个或多个应用程序app1、app2等。终端100可以是诸如手机、平板电脑等的移动通信客户端,也可以是可以运行所述应用程序的台式电脑或笔记本电脑。对于股票行情场景,所述应用程序可以包括,但不限于支付宝、自选股、雪球、同花顺、富途牛牛等行情数据app。对于智能客服机器人场景,所述应用程序可以包括,但不限于支付宝智能客服机器人、京东智能客服机器人等智能客服机器人app。本领域技术人员在阅读并理解本申请说明书后能够领会到本发明的其他应用场景以及各种应用场景下的应用程序。

在图1所示的示例场景中,终端100被配置为定期地(例如,每个交易日、每个交易时段、交易时段期间每隔一小时或几小时,等)借助于ui自动化操作一个或多个应用程序app1、app2…分别进入关于感兴趣对象的一个或多个用户界面,并获取与所述一个或多个用户界面对应的一幅或多幅图像。对于股票行情场景,所述感兴趣对象可以是用户关心的某只股票或股票代码。ui自动化测试的常见测试工具有uft、robotframework、selenium、appium等。所述“ui自动化”可以针对具体的行情数据app进行编程。例如,如果所述感兴趣对象被设定为“阿里巴巴”,终端100借助于ui自动化登录“自选股”app之后,自动点击最上方的搜索栏并输入“阿里巴巴”,得到有关“阿里巴巴”的股票搜索结果卡(一种图形用户界面)。同时,终端100可以借助于ui自动化登录“支付宝”app,点击最下方的“财富”后,点击最上方的搜索栏并自动输入“阿里巴巴”,最后得到有关“阿里巴巴”的股票搜索结果卡。可以搜索的结果页面成功渲染后,通过拍照来获取搜索结果卡对应的图像。

在图1所示的示例场景中,终端100包括一个或多个处理器120,其被配置为调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。已知的ocr识别算法都是可用的。例如,处理器120可以通过可用的ocr识别算法来识别并提取拍照获取的搜索结果图像中与例如作为感兴趣对象的“阿里巴巴”有关的行情数据。

在图1所示的示例场景中,终端100还包括存储器110。如果搜索结果卡被截屏,则存储器110可以存储该截屏。因而,处理器120可以访问存储器110中的截屏图像并通过可用的ocr识别算法对所存储的截屏图像进行识别和提取。

在图1所示的示例场景中,数据处理系统10还包括云端服务器200,其独立于终端100,并且包括存储器210和一个或多个处理器220。终端100通过无线或有线的方式将所获取的一幅或多幅图像传送给服务器200的存储器210,并且存储器210存储接收到的图像。例如,终端100可以将截屏内容上传到运营支撑系统(oss)并获取图像的url(统一资源定位符),然后将图像的url发送给服务器200的存储器210。在这种情况下,由服务器200的处理器220实现对所述图像的识别和提取。例如,处理器220判断此轮比较图像的时间间隔是否符合预定要求;若符合预定要求,就调用可用的ocr识别算法,将图像信息转化为文本信息,提取出对应字段的数据(例如,“阿里巴巴”的当前股价)。于是,可以充分利用服务器的强大运算能力,快速、高效地识别并提取所述图像中与所述感兴趣对象相关的数据信息。

在对行情数据进行多源比对的场景下,处理器120、220可以被配置为对来自多个应用程序(例如支付宝、自选股、雪球、同花顺、富途牛牛等)的与所述感兴趣对象(例如st长生)相关的数据信息(例如当前股价)进行比对。图4示出了支付宝(蚂蚁财富)、富途牛牛、雪球、同花顺和自选股五款行情数据app同一时刻获得的有关st长生的股票信息。在这种情况下,处理器120、220可以被配置为调用可用的ocr识别算法,从图4所示的来自支付宝(蚂蚁财富)、富途牛牛、雪球、同花顺和自选股的五幅图像中识别并提取st长生的当前股价,并进行横向比对,以判断各种行情数据app针对同一种股票的股价是否相同。如果处理器120、220确定某一种或某几种行情数据app针对特定股票的例如展示股价与其他(例如大于一个)行情数据app的展示股价不一致,则发出警报信号。例如,如果警报信号指示支付宝(蚂蚁财富)关于st长生的股票价格与其他四家的st长生股价不一致,那么开发测试人员可以启动对于支付宝app的检查,以发现问题所在。

此外,尽管ocr识别能力不断提高,但是目前仍然存在错误识别的情况。根据本发明的实施例,如果处理器120、220通过对来自多款应用程序的针对相同感兴趣对象的图像识别结果进行比对确定出大于一款应用程序的识别结果一致,那么处理器120、220可以使用来自这些应用程序的图像识别结果来校正那些不一致的应用程序的图像识别结果。这样,可以改进所用ocr识别算法的识别质量。

此外,根据本发明的技术不仅可以应用于行情数据比对的场景,还可以用于智能监控分析竞品app的活动和状态。例如,终端100可以被配置为采用ui自动化的方式,打开诸如京东金融app的应用程序,在首页点击进入银行精选,在展开的银行精选页面中展示出一些定期产品及其收益率。另外,对于滚动的营销位,也可以利用ui自动化进行点击,进入页面内部后截图上传。处理器120、220可以调用可用的ocr识别算法从获得的图像中识别出感兴趣的信息。然后,处理器120、220可以将本次从一款应用程序获得的识别结果与上一次从同一款应用程序获得的识别结果进行比对。如果一致,就无需告警;如果不一致(例如,竞品app上架了新的产品或运营营销活动),此时处理器120、220可以发送警报,以通知相关人员前往进行查看分析。

本领域技术人员能够领会到,处理器实现的上述所有功能可以由单独的处理器来实施,也可以由多个处理器来分别实施。

图2示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理方法300的总体流程图。下面结合图1所示的数据处理系统10来详细描述图2的数据处理方法300。

如图2所示,在方框310,定期地借助于ui自动化操作终端100上的一个或多个应用程序分别进入关于感兴趣对象的一个或多个用户界面。

在方框320,获取与所述一个或多个用户界面对应的一幅或多幅图像。

在方框340,如果通过拍照的方式获取所述一幅或多幅图像,通过例如处理器120、220,调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。

在方框330,如果通过截屏的方式获取所述一幅或多幅图像,所获取的一幅或多幅图像可以被本地存储在终端100的存储器110中,或者可以被远程存储在云端服务器200的存储器210中。然后,在方框340,处理器120、220调用ocr识别算法分别识别并提取所存储的一幅或多幅图像中与所述感兴趣对象相关的数据信息。

在方框350,通过例如处理器120、220,对来自所述多个应用程序的与所述感兴趣对象相关的数据信息进行比对。在另外的实施例中,所述方法还可以包括将本次提取的与所述感兴趣对象相关的数据信息与上一次提取的来自相同应用程序的与所述感兴趣对象相关的数据信息进行比对。

在方框360,通过例如处理器120、220,基于所述比对的结果来校正来自所述多个应用程序中一个或多个应用程序的所述数据信息。

在方框370,通过例如处理器120、220,在所述比对的结果指示来自所述多个应用程序中一个或多个应用程序的所述数据信息不同于来自所述多个应用程序中其他应用程序的所述数据信息时,输出警报信号。在另外的实施例中,所述方法还可以包括在所述比对的结果指示本次提取的所述数据信息与上一次提取的所述数据信息不一致时,输出关于所述应用程序的警报信号。

从以上的描述可以看出,本实施例的方案利用行情数据app客观上对行情数据的展示,基于ui自动化和ocr识别技术,实现了不通过api接口就能进行多源数据比对。同时,也能改善现有ocr的识别质量。尽管上文针对行情数据描述的本发明的实施例,但是本发明的构思也可以应用于获取其他数据源的任何场景。例如,对于智能客服机器人场景,希望评估竞品智能客服机器人回答率,可以将系统的问题输入给例如支付宝智能客服机器人和竞品智能客服机器人,获取到机器人的回答之后,截屏上传,分析比对支付宝智能客服机器人和竞品智能客服机器人的答案,并且可以扩充支付宝智能客服机器人的知识库,提升产品竞争力和用户体验。

其它变型

本领域技术人员应当理解,虽然在上面的实施例中,数据处理系统10包括终端100,然而,本发明并不局限于此。在本发明的其它一些实施例中,基于ui自动化和ocr的数据处理设备可以仅包括存储器110、210和处理器120、220。存储器110、210上存储有可执行指令,其中,所述可执行指令当被执行时使得处理器120、220执行图2所示的方法300。所述数据处理设备可以独立于终端100。而且,处理器120、220可以被配置为控制终端100基于ui自动化操作所述一个或多个应用程序。在一些实施例中,存储器110、210还被配置为存储由终端100通过无线或有线的方式传送的一幅或多幅图像,以供识别和提取。

图3示出了按照本发明的一个实施例的基于ui自动化和ocr的数据处理装置400的示意图。图3所示的装置400可以利用软件、硬件或软硬件结合的方式来实现。

如图3所示,装置400可以包括获取模块410和提取模块430。获取模块410用于定期地借助于ui自动化操作终端上的一个或多个应用程序分别进入关于感兴趣对象的一个或多个用户界面,并获取与所述一个或多个用户界面对应的一幅或多幅图像。提取模块430用于调用ocr识别算法分别识别并提取所述一幅或多幅图像中与所述感兴趣对象相关的数据信息。

在第一方面,装置400还包括存储模块420,用于本地或远程地存储所获取的一幅或多幅图像。在这种情况下,所述提取模块还用于调用ocr识别算法分别识别并提取所存储的一幅或多幅图像中与所述感兴趣对象相关的数据信息。

在第二方面,装置400还包括比对模块440,用于对来自所述多个应用程序的与所述感兴趣对象相关的数据信息进行比对。在另外的实施例中,比对模块440还可以用于将本次提取的与所述感兴趣对象相关的数据信息与上一次提取的来自相同应用程序的与所述感兴趣对象相关的数据信息进行比对。

在第三方面,装置400还包括校正模块450,用于基于所述比对的结果来校正来自所述多个应用程序中一个或多个应用程序的所述数据信息。

在第四方面,装置400还包括报警模块460,用于在所述比对的结果指示来自所述多个应用程序中一个或多个应用程序的所述数据信息不同于来自所述多个应用程序中其他应用程序的所述数据信息时,输出警报信号。在另外的实施例中,报警模块460还可以用于在所述比对的结果指示本次提取的所述数据信息与上一次提取的所述数据信息不一致时,输出关于所述应用程序的警报信号。

按照本发明的实施例还提供一种机器可读存储介质,其上存储有可执行指令,其中,所述可执行指令当被执行时使得机器执行图2所示的方法300。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1