时间识别方法、装置以及相关设备

文档序号:1253139 发布日期:2020-08-21 浏览:16次 >En<

阅读说明:本技术 时间识别方法、装置以及相关设备 (Time identification method and device and related equipment ) 是由 杨森 于 2019-01-29 设计创作,主要内容包括:本发明实施例公开了一种时间识别方法、装置以及相关设备,方法包括:获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式;选择与目标文本中的至少一个目标子文本相匹配的时间文本模式,将匹配的时间文本模式所属的时间模式确定为目标时间模式;根据目标时间模式中的时间配置模式确定基准时间信息;根据基准时间信息、目标时间模式中的时间配置模式,生成与目标文本相匹配的目标时间信息。采用本发明,可以提高识别文本中的中文时间信息的准确率。(The embodiment of the invention discloses a time identification method, a time identification device and related equipment, wherein the method comprises the following steps: acquiring a target text and acquiring at least one time mode; each temporal pattern includes: a temporal text mode and a temporal configuration mode; selecting a time text mode matched with at least one target subfile in the target text, and determining the time mode to which the matched time text mode belongs as a target time mode; determining reference time information according to a time configuration mode in the target time mode; and generating target time information matched with the target text according to the reference time information and the time configuration mode in the target time mode. By adopting the method and the device, the accuracy of identifying the Chinese time information in the text can be improved.)

时间识别方法、装置以及相关设备

技术领域

本发明涉及计算机技术领域,尤其涉及一种时间识别方法、装置以及相关设备。

背景技术

识别文本中与时间相关的信息是自然语言理解过程中的一个重要部分,也是信息抽取、信息检索、问答系统、主题发现和文本摘要等领域的基础支撑。通过识别时间可以更准确地理解文本中的事件,或者理解用户的意图,因此精确识别文本中的时间信息具有重要的意义。

现有识别文本中的中文时间信息的具体过程是:定义多个关于绝对时间的模式串,将文本和多个模式串进行正则匹配,如果匹配上了模式串,就可以提取出对应文本中的时间信息。例如,文本为:“2019年1月11号参加会议”,模式串“(\d+)年(\d+)月(\d+)号”就可以成功匹配上述文本,进而可以提取出文本中的时间信息:2019年1月11号。

只有当文本中的中文时间信息是绝对时间时,上述方式才有效,若文本中的中文时间信息是相对时间(例如,“下个月5号”、“明年3月”等),现有方法就不能识别出文本中的中文时间信息,进而降低识别文本中的中文时间信息的准确率。

发明内容

本发明实施例提供一种时间识别方法、装置以及相关设备,可以提高识别文本中的时间信息的准确率。

本发明实施例一方面提供了一种时间识别方法,包括:

获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式;

选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式,将匹配的时间文本模式所属的时间模式确定为目标时间模式;

根据所述目标时间模式中的时间配置模式确定基准时间信息;

根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息。

其中,所述选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式,包括:

将所述目标文本中属于第一数值类型的第一字符序列,转换为属于第二数值类型的第二字符序列,得到待匹配文本;所述第一字符序列对应的数值信息和所述第二字符序列对应的数值信息相同;

在所述待匹配文本中查找与时间文本模式匹配的至少一个字符序列,将查找到的所述字符序列作为所述目标子文本,将查找到的所述时间文本模式作为与所述目标子文本相匹配的时间文本模式。

其中,所述根据所述目标时间模式中的时间配置模式确定基准时间信息,包括:

提取所述目标时间模式中的时间配置模式所包含的多个原始参数;

在多个原始参数中,将属于时间单位属性的原始参数,作为辅助参数;

若所述辅助参数的时间类型包括相对时间类型,则获取系统时间信息,并将所述系统时间信息确定为所述基准时间信息;

若所述辅助参数的时间类型均为精确时间类型,则将为空值的原始时间信息确定为所述基准时间信息。

其中,所述根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息,包括:

根据所述目标文本和所述多个原始参数,生成多个目标参数;

根据所述多个目标参数对所述基准时间信息进行偏移处理,得到目标时间信息。

其中,所述根据所述目标文本和所述多个原始参数,生成多个目标参数,包括:

若所述目标时间模式中的时间文本模式不包含数值通配符,则将所述多个原始参数确定为所述多个目标参数;

若所述目标时间模式中的时间文本模式包含所述数值通配符,则在所述目标文本中的目标子文本中获取与所述数值通配符对应的数值信息,并在所述多个原始参数中提取与所述数值通配符对应的原始参数,将提取的所述原始参数替换为在所述目标子文本中获取的所述数值信息,并根据替换后的多个原始参数,生成所述多个目标参数。

其中,所述根据所述多个目标参数对所述基准时间信息进行偏移处理,得到目标时间信息,包括:

在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数;

根据所述第一参数对应的时间单位,分别对多个单元基准时间信息进行偏移处理,得到开始时间信息;所述基准时间信息包括与多个时间单位分别对应的单元基准时间信息;

在所述多个目标参数中,提取属于时间范围属性的目标参数,作为第二参数,根据所述第二参数和所述开始时间信息,生成结束时间信息;

对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息,根据所述组合时间信息生成所述目标时间信息。

其中,所述根据所述第一参数对应的时间单位,分别对多个单元基准时间信息进行偏移处理,得到开始时间信息,包括:

从多个单元基准时间信息中提取任一单元基准时间信息,作为目标单元基准时间信息;

从所述第一参数中,提取与所述目标单元基准时间信息具有相同时间单位的第一子参数,作为目标第一子参数;所述第一参数包括多个第一子参数;

根据所述目标第一子参数和所述目标单元基准时间信息,生成单元开始时间信息;

当每个单元基准时间信息均被确定为所述目标单元基准时间信息时,将多个单元开始时间信息按照时间单位顺序组合为所述开始时间信息。

其中,所述对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息,包括:

将所述开始时间信息和所述结束时间信息进行组合为第一时间信息;

在所述多个目标参数中,提取属于时间转换属性的目标参数,作为第三参数,并确定所述第三参数对应的转换类型;

若所述转换类型属于第一转换类型,则将所述第一时间信息确定为所述组合时间信息;

若所述转换类型属于第二转换类型,则在日历文件中查找与所述第一时间信息具有相同日期的时间信息,作为所述组合时间信息。

其中,所述对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息,包括:

将所述开始时间信息和所述结束时间信息进行组合为第二时间信息;

在所述多个目标参数中,提取属于节日格式化属性的目标参数,作为第四参数,并确定所述第四参数对应的节日格式化类型;

若所述节日格式化类型属于第一格式化类型,则将所述第二时间信息确定为所述组合时间信息;

若所述节日格式化类型属于第二格式化类型,则在所述日历文件中查找与所述目标时间模式中的时间文本模式对应的时间信息,根据与所述目标时间模式中的时间文本模式对应的时间信息更新所述第二时间信息,将更新后的第二时间信息确定为所述组合时间信息。

其中,所述根据所述组合时间信息生成所述目标时间信息,包括:

当所述组合时间信息的数量为多个时,将在所述目标文本中位置相邻的目标子文本对应的组合时间信息,作为第一组合时间信息和第二组合时间信息;所述组合时间信息包括与多个时间单位分别对应的单元时间;

在所述第一组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型,在所述第二组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型;

根据提取的时间类型,分别确定所述第一组合时间信息中各单元时间分别对应的优先级,以及所述第二组合时间信息中各单元时间分别对应的优先级;

从所述第一组合时间信息对应的时间范围和所述第二组合时间信息对应的时间范围中,选择最小时间范围,作为目标时间范围;

根据所述优先级和所述目标时间范围,将所述第一组合时间信息和所述第二组合时间信息合并为第一统计时间信息;

根据所述第一统计时间信息,确定所述目标时间信息。

其中,所述根据所述组合时间信息生成所述目标时间信息,包括:

当所述组合时间信息的数量为多个时,提取所述目标文本中的连接字符;

将在所述目标文本中与所述连接字符相邻的目标子文本对应的组合时间信息,合并为第二统计时间信息;

根据所述第二统计时间信息,确定所述目标时间信息。

其中,还包括:

语义识别所述目标文本,得到目标语义信息;

获取与所述目标语义信息对应的目标服务接口,将所述目标时间信息作为所述目标服务接口的接口参数;

基于所述目标服务接口和所述接口参数,调用与所述目标服务接口对应的应用服务。

本发明实施例另一方面提供了一种时间识别装置,包括:

获取模块,用于获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式;

匹配模块,用于选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式;

所述获取模块,还用于将匹配的时间文本模式所属的时间模式确定为目标时间模式;

确定模块,用于根据所述目标时间模式中的时间配置模式确定基准时间信息;

生成模块,用于根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息。

其中,所述匹配模块,包括:

转换单元,用于将所述目标文本中属于第一数值类型的第一字符序列,转换为属于第二数值类型的第二字符序列,得到待匹配文本;所述第一字符序列对应的数值信息和所述第二字符序列对应的数值信息相同;

查找单元,用于在所述待匹配文本中查找与时间文本模式匹配的至少一个字符序列,将查找到的所述字符序列作为所述目标子文本,将查找到的所述时间文本模式作为与所述目标子文本相匹配的时间文本模式。

所述确定模块,包括:

提取单元,用于提取所述目标时间模式中的时间配置模式所包含的多个原始参数;

所述提取单元,还用于在多个原始参数中,将属于时间单位属性的原始参数,作为辅助参数;

获取单元,用于若所述辅助参数的时间类型包括相对时间类型,则获取系统时间信息,并将所述系统时间信息确定为所述基准时间信息;

所述获取单元,还用于若所述辅助参数的时间类型均为精确时间类型,则将为空值的原始时间信息确定为所述基准时间信息。

其中,所述生成模块,包括:

第一生成单元,用于根据所述目标文本和所述多个原始参数,生成多个目标参数;

第二生成单元,用于根据所述多个目标参数对所述基准时间信息进行偏移处理,得到目标时间信息。

其中,所述第一生成单元,包括:

提取子单元,用于若所述目标时间模式中的时间文本模式不包含数值通配符,则将所述多个原始参数确定为所述多个目标参数;

替换子单元,用于若所述目标时间模式中的时间文本模式包含所述数值通配符,则在所述目标文本中的目标子文本中获取与所述数值通配符对应的数值信息,并在所述多个原始参数中提取与所述数值通配符对应的原始参数,将提取的所述原始参数替换为在所述目标子文本中获取的所述数值信息,并根据替换后的多个原始参数,生成所述多个目标参数。

其中,所述第二生成单元,包括:

第一确定子单元,在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数;

第二确定子单元,用于根据所述第一参数对应的时间单位,分别对多个单元基准时间信息进行偏移处理,得到开始时间信息;所述基准时间信息包括与多个时间单位分别对应的单元基准时间信息;

第一确定子单元,还用于在所述多个目标参数中,提取属于时间范围属性的目标参数,作为第二参数,根据所述第二参数和所述开始时间信息,生成结束时间信息;

组合子单元,用于对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息;

第一生成子单元,用于根据所述组合时间信息生成所述目标时间信息。

其中,所述第二确定子单元,包括:

获取子单元,用于从多个单元基准时间信息中提取任一单元基准时间信息,作为目标单元基准时间信息;

所述获取子单元,还用于从所述第一参数中,提取与所述目标单元基准时间信息具有相同时间单位的第一子参数,作为目标第一子参数;所述第一参数包括多个第一子参数;

第二生成子单元,用于根据所述目标第一子参数和所述目标单元基准时间信息,生成单元开始时间信息;

所述第二生成子单元,还用于当每个单元基准时间信息均被确定为所述目标单元基准时间信息时,将多个单元开始时间信息按照时间单位顺序组合为所述开始时间信息。

其中,所述组合子单元,包括:

第一组合子单元,用于将所述开始时间信息和所述结束时间信息进行组合为第一时间信息;

所述第一组合子单元,还用于在所述多个目标参数中,提取属于时间转换属性的目标参数,作为第三参数,并确定所述第三参数对应的转换类型;

第一转换子单元,用于若所述转换类型属于第一转换类型,则将所述第一时间信息确定为所述组合时间信息;

所述第一转换子单元,还用于若所述转换类型属于第二转换类型,则在日历文件中查找与所述第一时间信息具有相同日期的时间信息,作为所述组合时间信息。

其中,所述组合子单元,包括:

第二组合子单元,用于将所述开始时间信息和所述结束时间信息进行组合为第二时间信息;

所述第二组合子单元,还用于在所述多个目标参数中,提取属于节日格式化属性的目标参数,作为第四参数,并确定所述第四参数对应的节日格式化类型;

第二转换子单元,用于若所述节日格式化类型属于第一格式化类型,则将所述第二时间信息确定为所述组合时间信息;

所述第二转换子单元,还用于若所述节日格式化类型属于第二格式化类型,则在所述日历文件中查找与所述目标时间模式中的时间文本模式对应的时间信息,根据与所述目标时间模式中的时间文本模式对应的时间信息更新所述第二时间信息,将更新后的第二时间信息确定为所述组合时间信息。

其中,所述第一生成子单元,包括:

第三确定子单元,用于当所述组合时间信息的数量为多个时,将在所述目标文本中位置相邻的目标子文本对应的组合时间信息,作为第一组合时间信息和第二组合时间信息;所述组合时间信息包括与多个时间单位分别对应的单元时间;

所述第三确定子单元,还用于在所述第一组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型,在所述第二组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型;

所述第三确定子单元,还用于根据提取的时间类型,分别确定所述第一组合时间信息中各单元时间分别对应的优先级,以及所述第二组合时间信息中各单元时间分别对应的优先级;

所述第三确定子单元,还用于从所述第一组合时间信息对应的时间范围和所述第二组合时间信息对应的时间范围中,选择最小时间范围,作为目标时间范围;

第一合并子单元,用于根据所述优先级和所述目标时间范围,将所述第一组合时间信息和所述第二组合时间信息合并为第一统计时间信息;

所述第三确定子单元,还用于根据所述第一统计时间信息,确定所述目标时间信息。

其中,所述第一生成子单元,包括:

第四确定子单元,用于当所述组合时间信息的数量为多个时,提取所述目标文本中的连接字符;

第二合并子单元,用于将在所述目标文本中与所述连接字符相邻的目标子文本对应的组合时间信息,合并为第二统计时间信息;

所述第四确定子单元,还用于根据所述第二统计时间信息,确定所述目标时间信息。

其中,还包括:

语义识别模块,用于语义识别所述目标文本,得到目标语义信息;

所述语义识别模块,还用于获取与所述目标语义信息对应的目标服务接口,将所述目标时间信息作为所述目标服务接口的接口参数;

调用模块,用于基于所述目标服务接口和所述接口参数,调用与所述目标服务接口对应的应用服务。

本发明实施例另一方面提供了一种电子设备,包括:处理器和存储器;

所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如本发明实施例中一方面中的方法。

本发明实施例另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如本发明实施例中一方面中的方法。

本发明实施例通过选择与目标文本中目标子文本匹配的时间文本模式,确定与之对应的时间配置模式。由时间配置模式确定基准时间信息,并根据基准时间信息以及时间配置模式,生成目标时间信息。上述可知,通过时间配置模式确定基准时间,并在基准时间的基础上进行调整,因此无论文本中的中文时间信息是相对时间或者绝对时间,调整基准时间后,都可以得到文本中表达的精确时间,可以提高识别文本中的中文时间信息的准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种时间识别的系统架构图;

图2a-图2b是本发明实施例提供的一种时间识别的场景示意图;

图3是本发明实施例提供的一种时间识别方法的流程示意图;

图4是本发明实施例提供的一种时间识别的组件架构图;

图5是本发明实施例提供的一种确定目标时间信息的流程示意图;

图6是本发明实施例提供的另一种时间识别方法的流程示意图;

图7是本发明实施例提供的一种时间识别装置的结构示意图;

图8是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,是本发明实施例提供的一种时间识别的系统架构图。服务器10f通过交换机10e和通信总线10d与用户终端集群建立连接,用户终端集群可包括:用户终端10a、用户终端10b、...、用户终端10c。

以用户终端10a为例,当用户终端10a接收到包含中文时间信息的待识别文本时,用户终端10a将待识别文本发送至服务器10f。服务器10f从数据库10g中提取多个预设的时间文本模式(也就是与时间信息相关的模式串),并通过将接收到的待识别文本与多个时间文本模式进行正则匹配,以及通过查找匹配成功的时间文本模式对应的时间配置模式,确定基准时间,进而调整基准时间,以精确识别该文本中的中文时间信息。服务器10f将识别到的时间信息下发至用户终端10a,后续用户终端10a可以调用与待识别文本对应的应用子系统,将时间信息作为参数传递至该应用子系统,以使该应用子系统提供相应的服务。例如,显示日历服务,查找车票服务等。

当然,若用户终端10a具有精确识别文本中的中文时间信息的功能,也可以直接由用户终端10a识别文本中的中文时间信息,同样将识别出来的时间信息作为参数传递至应用子系统。下述以用户终端10a如何精确识别文本中的中文时间信息为例进行具体的说明。

其中,图1所示的用户终端10a、用户终端10b、用户终端10c等可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备(例如智能手表、智能手环等)等。

请参见图2a-图2b,是本发明实施例提供的一种时间识别的场景示意图。如图2a所示,用户向户终端10a中语音输入或者文字输入以下信息:明年3月5号北京到上海的机票,并点击“搜索”按钮。用户终端10a将用户输入的信息转换为文本20a,用户终端10a从本地文件中获取多个提前预设好的时间文本模式(下述以获取3个时间文本模式为例,3个时间文本模式分别为:(明|下|下一)年、去年、(\d+)月(\d+)(日|号))。用户终端10a将文本20a与上述3个时间文本模式分别进行正则匹配,文本20a中的字符序列“明年”与时间文本模式“(明|下|下一)年”匹配成功,且文本20a中的字符序列“3月5号”与时间文本模式“(\d+)月(\d+)(日|号)”匹配成功,下面对匹配成功的两个时间文本模式以及对应字符序列分别进行说明。

对字符序列“明年”与时间文本模式“(明|下|下一)年”来说,在模式配置表20b中查找与时间文本模式“(明|下|下一)年”对应的时间配置模式,称为原始时间配置模式。可以知道,原始时间配置模式包括多个原始参数,每个参数都存在与之对应的属性,属性包括:是否公历、年、月、日、时、分、秒、以及时间范围。从多个原始参数中,提取属性“年月日时分秒”对应的原始参数,均作为辅助参数,每个辅助参数还存在与之对应的时间类型。根据辅助参数的参数值,可以确定每个辅助参数的时间类型,时间类型包括相对时间类型和精确时间类型。对模式配置表20b来说,整数表示对基准时间进行加减运算,因此若辅助参数的参数值是整数(例如,-1、0等),那么该辅助参数对应的时间类型是相对时间类型;其余的除整数以外的辅助参数(例如,*、e0)的时间类型都是精确时间类型。后续,属性“年月日时分秒”对应的原始参数(辅助参数)的数值可能被更新,但时间类型是固定不变的。

由于时间文本模式“(明|下|下一)年”对应的辅助参数的时间类型中,包含相对时间类型(属性“年”对应的原始参数的时间类型就为相对时间类型),读取用户终端10a的当前时间:2019/1/12/20:0:0,作为基准时间。

由于时间文本模式“(明|下|下一)年”中不包含数值通配符(数值通配符是:\d或者\d+),因此可以直接将该时间文本模式对应的原始时间配置模式中的多个原始参数分别作为目标参数,即得到目标参数集合20c,将前述中确定的属性“年月日时分秒”对应的原始参数的时间类型,确定为对应目标参数的时间类型。

通过目标参数集合20c中属性“年月日时分秒”对应的目标参数,调整基准时间的过程为:对属性“年”对应的目标参数“1”来说,由于该目标参数的时间类型是相对时间类型,因此在年基准时间的基础上加1,其中基准时间包括(年/月/日/时/分/秒)基准时间。对属性“月日时分秒”对应的多个目标参数“*”来说,该目标参数的时间类型是精确时间类型中的任意精确时间类型,因此,将(月/日/时/分/秒)基准时间等均设置为目标参数“*”对应的数值1,那么可以得到开始时间:2020/1/1/1:1:1。读取属性“时间范围”的目标参数,基于该目标参数以及开始时间,可以确定结束时间:2021/1/1:1:1。将开始时间和结束时间合并为时间信息20e:(2020/1/1/1:1:1,2021/1/1:1:1)。由于目标配置信息20c中属性“是否公历”的目标参数为:Y,因此不需要对时间信息20e进行公农历转换。至此,就确定了目标配置信息20c对应的时间信息20e。

对字符序列“3月5号”与时间文本模式“(\d+)月(\d+)(日|号)”来说,和前述类似,在模式配置表20b中,查找到对应的原始时间配置模式,并确定属性“年月日时分秒”对应的原始参数的时间类型,原始参数“*”属于精确时间类型中的任意精确时间类型;原始参数“x1”“x2”属于精确时间类型中变量精确时间类型;原始参数“e0”属于精确时间类型中绝对精确时间类型。可以知道,属性“年月日时分秒”对应的原始参数的时间类型均为精确时间类型。因此,可以将为空值的时间信息:“_/_/_/_:_:_”作为基准时间。

对时间文本模式“(\d+)月(\d+)(日|号)”来说,包含了数值通配符,因此,从对应的字符序列“3月5号”中抽取数值,并将原始参数中与数值通配符对应的原始参数“x1”“x2”替换为抽取出来的数值,可以得到目标参数集合20d。将前述中确定的属性“年月日时分秒”对应的原始参数的时间类型,确定为对应目标参数的时间类型。

通过目标参数集合20d中属性“年月日时分秒”对应的目标参数,调整基准时间的过程为:对属性“年”对应的目标参数“*”来说,将年基准时间设置为“*”对应的数值1,对属性“月”和“日”对应的目标参数“3”和“5”来说,该目标参数属于精确时间类型中的变量精确时间类型,因此将月基准时间设置为数值3,以及将日基准时间设置为数值5。对属性“时分秒”对应的目标参数“e0”来说,该目标参数属于精确时间类型中的绝对精确时间类型,因此将时基准时间、分基准时间以及秒基准时间设置为“e0”对应的数值0。那么可以得到开始时间:1/3/5/0:0:0。读取属性“时间范围”的目标参数,基于该目标参数以及开始时间,可以确定结束时间:1/3/6/0:0:0。将开始时间和结束时间合并为时间信息20f:(1/3/5/0:0:0,1/3/6/0:0:0)。由于目标配置信息20d中属性“是否公历”的目标参数为:Y,因此不需要对时间信息20f进行公农历转换。至此,就确定了目标配置信息20d对应的时间信息20f。

接下来用户终端20a将时间信息20e和时间信息20f进行合并。首先在时间信息20e对应的多个目标参数中,确定属性“年月日时分秒”对应目标参数的时间类型,以及在时间信息20f对应的多个目标参数中,确定属性“年月日时分秒”对应目标参数的时间类型。根据时间类型,确定时间信息20e和时间信息20f中各单元时间的优先级,时间信息20e和时间信息20f均是由(年/月/日/时/分/秒)单元时间组合而成。

由于时间信息20f中(月/日/时/分/秒)单元单位的优先级要高于时间信息20e中(月/日/时/分/秒)单元单位的优先级,而时间信息20e中年单元时间的优先级要高于时间信息20f中年单元单位的优先级,可以先合并两个时间信息中的开始时间信息,即新的开始时间信息是:2020/3/5/0:0:0;再合并两个时间信息中的结束时间信息,即新的结束时间信息是:2021/3/6/0:0:0,由于在时间信息20f的时间范围和时间信息20e的时间范围中,最小时间范围为1天,而新的开始时间信息和新的结束时间信息的时间范围是1年,因此需要将新的结束时间信息调整为:2020/3/6/0:0:0。将新的开始时间信息和调整后的结束时间信息组合为目标时间信息20g:(2020/3/5/0:0:0,2020/3/6/0:0:0)。

其中,时间信息20e的时间范围即是目标参数集合20c中属性“时间范围”对应的目标参数;时间信息20f的时间范围即是目标参数集合20d中属性“时间范围”对应的目标参数。

如图2b所示,用户终端10a识别文本20a的语义,根据识别的语义确定应用服务为机票查询服务(如界面20h所示)。获取该服务的子系统,将识别的目标时间信息20g作为系统参数,如界面20k所示,调用该子系统和该系统参数,以提供对应机票查询服务。

其中,获取多个目标参数(如上述图2a所对应实施例中的目标参数集合20c、目标参数集合20d中的目标参数)、确定基准时间、生成目标时间信息(如上述图2a所对应实施例中的目标时间信息20g)的具体过程可以参见以下图3至图6所对应的实施例。

请见图3是本发明实施例提供的一种时间识别方法的流程示意图。如图3所示,时间识别方法可以包括:

步骤S101,获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式。

具体的,终端(如上述图2a对应实施例中的用户终端10a)获取包含中文时间信息的文本,称为目标文本(如上述图2a所对应实施例中的文本20a),并获取多个时间模式,其中每个时间模式包括时间文本模式以及时间配置模式。时间文本模式是关于时间的模式串,时间文本模式描述了一种字符串匹配的模式(Pattern),每个时间文本模式也是一个正则表达式(Regular Expression),时间文本模式可以用来检测一个串(文本)中是否包含某种子串,后续可以从文本中提取出符合某种条件的子串。时间配置模式包括多个具有不同条件属性的参数,条件属性可以包括:时间单位属性、时间范围属性、时间转换属性、节日格式化属性等。

例如,时间文本模式可以是(明|下|下一)年、(\d+)年(以前|之前|前)、(\d+)月(\d+)(日|号)等,可以知道,时间文本模式可以包含普通字符,也可以包含元字符(也可以称为特殊字符)。字母、数字、文字等就是普通字符;元字符是具有特殊含义的字符,例如,元字符“\d”就含义就是匹配一个数字字符;元字符“\d+”就含义是匹配一个或多个数字字符;元字符“\r”的含义是匹配一个回车符,其中元字符“\d+”也可以称为数值通配符,即是通配所有的数值。

步骤S102,选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式,将匹配的时间文本模式所属的时间模式确定为目标时间模式。

具体的,由于目标文本中待识别的中文时间信息中的数值可能是中文数值,例如,中文时间信息为:二零二零年五月十二日,为了可以和时间文本模式中的数值通配符进行匹配,因此终端首先需要将中文数值转换为ASCII数值,也就是转换为阿拉伯数值。具体过程为:终端首先识别目标文本中属于第一类型的第一字符序列,将属于第一类型的第一字符序列转换为属于第二类型的第二字符序列,且转换后的第二字符序列对应的数值信息和转换前的第一字符序列的数值信息相同,终端将转换后的目标文本确定为待匹配文本。中文数值对应的字符串就是属于第一类型的第一字符序列,ASCII数值对应的字符串就是属于第二类型的第二字符序列。

例如,目标文本为:二零二零年五月十二日,属于第一类型的第一字符序列分别为:二零二零、五、十二,将上述第一字符序列转换为第二字符序列为:2020、5、12,转换后得到的待匹配文本为:2020年5月12日。

终端将待匹配文本与多个时间文本模式分别进行正则匹配,即是按照阅读顺序,在待匹配文本中查找与时间文本模式匹配的字符序列,将在待匹配文本中查找到的匹配的字符序列确定为目标子文本,将与目标子文本匹配的时间文本模式确定为与目标子文本相匹配的时间文本模式。终端每次匹配成功后,可以记录在待匹配文本中匹配成功的位置,下一次匹配时,从记录的位置开始,再次和所有的时间文本模式进行正则匹配,直到待匹配文本中所有的字符都进行了正则匹配。可以知道,待匹配文本可能与多个时间文本模式匹配成功,每个匹配成功的时间文本模式都存在对应的目标子文本。

在多个时间模式中,将上述匹配成功的时间文本模式所属的时间模式确定为目标时间模式。

步骤S103,根据所述目标时间模式中的时间配置模式确定基准时间信息。

具体的,下述以一个目标时间模式进行说明。终端提取目标时间模式中的时间配置模式所包含的多个参数,称为原始参数。每个原始参数都具有条件属性,条件属性可以包括:时间单位属性、时间范围属性、时间转换属性、节日格式化属性等。对时间单位属性对应的原始参数来说,还具有时间类型。

为了确定上述原始参数的时间类型,可以将属于时间单位属性的原始参数均作为辅助参数。终端可以根据辅助参数的参数值、该参数值对应的操作定义,确定每个辅助参数的时间类型,时间类型包括相对时间类型和精确时间类型。后续,原始参数的参数值可能被更新,但对应的时间类型、条件属性均是固定不变的。

对属于时间单位属性的辅助参数来说,当辅助参数的参数值对应的操作定义是在基准时间的基础上,进行加减运算时,该辅助参数的时间类型是相对时间类型;当辅助参数的参数值对应的操作定义是将基准时间设置为固定的精确数值时,该辅助参数的时间类型为精确时间类型。相对时间类型包括固定相对时间类型和变量相对时间类型,精确时间类型包括变量精确时间类型、任意精确时间类型和绝对精确时间类型。从粗维度上将时间类型分为相对时间类型和精确时间类型,是为了确定基准时间信息;从细维度上将相对时间类型和精确时间类型进行更进一步地细分,是为了准确调整基准时间信息,以得到目标时间信息。

下面通过下述表1对上述5种时间类型进行具体的说明:

表1

对表1来说,“是否公历”即是时间转换属性、“有效时长”即是时间范围属性、“节日子串”即是节日格式化属性。“年”、“月”“日”、“时”、“分”、“秒”、“周几”均是时间单位属性。

在“年月日时分秒周几”(时间单位属性)的原始参数(也即是辅助参数)中,包括5种时间类型,下面进行详细说明:

固定相对时间类型(例如,“年”时间单位对应的1、-1等):记为一个整数值,可以为负数,如1表示在基准时间上,增加一个单位时间域,-1表示往前推一个单位时间域,0表示该子域可以取当前基准时间的阈值。

变量相对时间类型(例如,“年”时间单位对应的d-1、d1等):记为d{整数值},将在基准时间的基础上,减去目标子文本中抽取出的第一个数字。

变量精确时间类型(例如,“年”时间单位对应的x1等):记为x{整数值},用目标子文本中抽取出的第一个数字作为该子域的值。

任意精确时间类型(例如,“月”时间单位对应的*等):记为*,表示该值域的值不确定,可以为值域数值范围内的任意值。

绝对精确时间类型(例如,“月”时间单位对应的e0等):记为e{整数值},例如e0,表示该子域的值为固定值0。

终端可以通过表1可以确定每个辅助参数的时间类型,并检测辅助参数的时间类型:

若所有辅助参数对应的时间类型中,包括相对时间类型,终端获取系统的当前时间,作为系统时间信息,并将系统时间信息确定为基准时间信息。若所有辅助参数对应的时间类型中,均为精确时间类型,终端将原始时间信息确定为基准时间信息,其中原始时间信息是数值为空的时间信息,原始时间信息可以是:_年_月_日_时_分_秒,即是原始时间信息中的每个单位时间,均不存在数值。

步骤S104,根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息。

具体的,检测目标时间模式中的时间文本模式是否包含数值通配符“\d+”,若时间文本模式不包含数值通配符“\d+”,则可以直接将每个原始参数均作为目标参数,将每个原始参数的条件属性也确定为对应目标参数的条件属性,将时间单位属性对应的原始参数(辅助参数)的时间类型确定为对应目标参数的时间类型,目标参数和原始参数是一一对应的。

若时间文本模式包含数值通配符“\d+”,从目标子文本中提取与数值通配符对应的数值信息,并在多个原始参数中提取与数值通配符对应的原始参数,将提取出来的原始参数替换为从目标子文本中提取出来的数值信息,将替换后的新的原始参数以及未更新的原始参数,分别确定为目标参数,和前述一致目标参数和原始参数仍旧是一一对应的。

例如,目标子文本为:2020年5月13号,对应的时间文本模式为:(\d+)年(\d+)月(\d+)(日|号),多个原始参数分别为:x1、x2、x3、e0、e0、e0,其中,原始参数x1、x2和x3表示抽取目标子文本中的第一个数值、第二个数值以及第三个数值。由于时间文本模式包含数值通配符,终端提取出目标子文本中与数值通配符对应的数值信息:2020、5、13;提取与数值通配符对应的原始参数:x1、x2、x3,将原始参数替换为数值信息后,将替换后的原始参数以及未更新的原始参数均确定为目标参数,即多个目标参数为:2020、5、13、e0、e0、e0。

确定了多个目标参数后,根据多个目标参数对基准时间信息进行调整,得到目标时间信息。其中,基准时间信息是由与多个时间单位分别对应的单元基准时间信息组合而成的。

例如,基准时间信息为2020年1月1日12时0分0秒,该基准时间信息就由年时间单位对应的单元基准时间信息:2020年;月时间单位对应的单元基准时间信息:1月;日时间单位对应的单元基准时间信息:1日;小时时间单位对应的单元基准时间信息:12时;分钟时间单位对应的单元基准时间信息:0分;秒时间单位对应的单元基准时间信息:0秒组合而成。

在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数。根据第一参数的时间类型以及时间单位,对多个单元基准时间信息分别进行偏移处理,按照时间单位顺序(即是时间单位从大到小的顺序),将偏移处理后的多个单元基准时间信息组合为开始时间信息。可以知道,第一参数对应的时间单位的数量和单元基准时间信息的数量可以相同。

例如,第一参数对应的时间单位分别为:年、月、日、时、分、秒;多个单元基准时间信息分别对应的时间单位也是:年、月、日、时、分、秒。

在多个目标参数中,提取条件属性为时间范围属性的目标参数,作为第二参数。根据第二参数和开始时间信息,生成结束时间信息。

终端将开始时间信息和结束时间信息进行组合,得到组合时间信息。若组合时间信息的数量只有一个(也就是目标子文本、目标时间模式等数量均只有一个),终端可以直接将组合时间信息确定为目标时间信息(如上述图2a所对应实施例中的目标时间信息20g);若组合时间信息的数量不止一个,终端还需要根据连接字符,或者多个组合时间信息的目标参数的时间类型,合并多个组合时间信息,根据合并后的时间信息生成目标时间信息。

请一并参见图4,是本发明实施例提供的一种时间识别的组件架构图。如图4所示,数值转换器用于将目标文本中的中文数值转换为阿拉伯数值。模式管理器用于从多个Item(时间模式)中提取与目标文本匹配的Item,并根据提取的Item中的时间文本模式、时间配置模式生成组合时间信息,其中模式管理器提前设置多个Item,每个Item都对应一个时间文本模式和一个时间配置模式。关于节日的Item还存在节日格式化链接,通过节日格式化链接和日历文件反查到对应节日的日期和处理方式。对于需要公农历转换的组合时间信息以及存在节日格式化链接的组合时间信息,日历管理器根据日历文件更新组合时间信息,日历文件为<农历日期,公历日期,节气,节日>文本格式的文件。时间合并器提前存储多个连接字符,用于将多个更新后的组合时间进行合并,以得到目标时间信息,时间提取器用于维护从目标文本中提取出来的目标时间信息。

请参见图5,是本发明实施例提供的一种确定目标时间信息的流程示意图。如图5所示,确定目标时间信息的具体过程包括如下步骤S201-步骤S204,且步骤S201-步骤S204为图3所对应实施例中步骤S104的一个具体实施例:

步骤S201,根据所述目标文本和所述多个原始参数,生成多个目标参数。

具体的,根据目标时间模式中的时间文本模式是否包含数值通配符,以及原始参数确定多个目标参数。确定多个目标参数的具体过程可以参数上述图3对应实施例中的步骤S104。

步骤S202,在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数,根据所述第一参数对应的时间单位,分别对多个单元基准时间信息进行偏移处理,得到开始时间信息;所述基准时间信息包括与多个时间单位分别对应的单元基准时间信息。

具体的,在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数。第一参数包括多个第一子参数,每个第一子参数都对应一个时间单位。终端从多个单元基准时间信息中提取任意一个单元基准时间信息,作为目标单元基准时间信息。终端从多个第一子参数中,提取与目标单元基准时间信息具有相同时间单位的第一子参数,作为目标第一子参数。

若目标第一子参数的时间类型是相对时间类型,终端可以根据第一子参数对目标单元基准时间信息进行加运算或者减运算,得到单元开始时间信息,可以知道,单元开始时间信息的时间单位与目标第一子参数、目标单元基准时间信息的时间单位是一样的。例如,目标单元基准时间信息是2019年,与目标单元基准时间信息对应的目标第一子参数是-3,且第一子参数的时间类型是相对时间类型,那么可以在2019年的基础上减3,得到2016年,因此得到单元开始时间信息为:2016年。

若目标第一子参数的时间类型是精确时间类型中的任意精确时间类型,终端获取与任意精确时间类型对应的数值,将目标单元时间信息的数值设置为任意精确时间类型对应的数值(该数值是提前设置好的,只要属于任意精确时间类型的第一子参数对应的数值都是相同的),得到单元开始时间信息,单元开始时间信息的时间单位与目标第一子参数、目标单元基准时间信息的时间单位是一样的。其中,当第一子参数的参数值的操作定义是将单元基准时间信息的数值设置为任意数值时,该第一子参数的时间类型属于精确时间类型中的任意精确时间类型(如表1中的原始参数“*”)。

例如,目标单元基准时间信息是2019年,与目标单元基准时间信息对应的目标第一子参数是:*,且第一子参数的时间类型是任意精确时间类型,终端获取与上述目标第一子参数“*”对应的数值1,因此终端就将目标单元基准时间信息中的数值2019设置为1,即单元开始时间信息为:1年。

若目标第一子参数的时间类型是精确时间类型中的绝对精确时间类型,终端确定与绝对精确时间类型对应的数值,将目标单元时间信息的数值设置为绝对精确时间类型对应的数值(该数值是由第一子参数决定的,例如,属于绝对精确时间类型的第一子参数e1,对应的数值为1;属于绝对精确时间类型的第一子参数e10,对应的数值为10),得到单元开始时间信息,单元开始时间信息的时间单位与目标第一子参数、目标单元基准时间信息的时间单位是一样的。其中,当第一子参数的参数值的操作定义是将单元基准时间信息的数值设置为与第一子参数对应的固定值时,该第一子参数的时间类型属于精确时间类型中的绝对精确时间类型(如表1中的原始参数e0等)。

例如,目标单元基准时间信息是2019年,与目标单元基准时间信息对应的目标第一子参数是e5,且第一子参数的时间类型是绝对精确时间类型,终端确定与上述目标第一子参数“e5”对应的数值是5,因此终端就将目标单元基准时间信息中的数值2019设置为5,即单元开始时间信息为:5年。

可以按照上述方式,对每个单元基准时间信息分别进行偏移处理,得到多个单元开始时间信息,按照时间单位顺序,即时间单位从大到小的顺序,将多个单元开始时间信息组合为开始时间信息。

步骤S203,在所述多个目标参数中,提取属于时间范围属性的目标参数,作为第二参数,根据所述第二参数和所述开始时间信息,生成结束时间信息。

具体的,在多个目标参数中,提取属于时间范围属性的目标参数,作为第二参数,第二参数可以包括:1年、1月、1日等。根据第二参数对应的时长,以及开始时间信息,生成结束时间信息,其中开始时间信息和结束时间信息之间的时长就等于第二参数所指示的时长。举例来说,若开始时间信息是:2020年1月1日12时0分0秒,且第二参数是1日,那么结束时间信息是:2020年1月2日12时0分0秒。这样,基于第二参数(即时长),终端就可以将精确的时间信息表示为精确到秒的时间范围。

步骤S204,对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息。

具体的,将开始时间信息和结束时间信息组合为第一时间信息,下述对一个第一时间信息进行说明。在多个目标参数中,提取条件属性为时间转换属性的目标参数,作为第三参数,并确定第三参数对应的转换类型,第三参数用于标识是否需要将第一时间信息进行农历到公历的转换。转换类型包括第一转换类型和第二转换类型,例如,若第三参数是1(即是不需要将第一时间信息进行农历到公历的转换),表示对应的转换类型是第一转换类型;若第三参数是0(即是需要将第一时间信息进行农历到公历的转换),表示对应的转换类型是第二转换类型。

当转换类型是第一转换类型时,终端可以直接将第一时间信息作为组合时间信息;当转换类型是第二转换类型时,终端在日历文件中查找与第一时间信息具有相同日期的时间信息,作为组合时间信息。其中,日历文件中包括多个时间记录,每个时间记录包括:农历日期、公历日期、节气和节日。由于第一时间信息中包含两个时间信息,因此在转换第一时间信息时,终端需要将第一时间信息中的两个时间分别进行农历日期到公历日期的转换,转换后的时间信息称为组合时间信息。还需要说明的是,由于农历转换为公历涉及的最小时间单位是天,因此若第一时间信息中包含比天更小的时间单位,例如时、分、秒等,上述第一时间信息中,比天的时间单位更小的时间信息可以保持不变。

例如,第一时间信息为:(2020/1/1/12:0:0,2020/1/2/12:0:0),且第三参数属于第二转换类型,在日历文件中查找与农历日期“2020/1/1”对应的公历日期是:2020/2/9;在日历文件中查找与农历日期“2020/1/2”对应的公历日期是:2020/2/10,因此转换后的组合时间信息为:(2020/2/9/12:0:0,2020/2/10/12:0:0)。

可选的,上述是将开始时间信息和结束时间信息进行公农历转换,下面描述将开始时间信息和结束时间信息进行节日格式化处理。将开始时间信息和结束时间信息组合为第二时间信息,下述对一个第二时间信息进行说明。在多个目标参数中,提取条件属性为节日格式化属性的目标参数,作为第四参数,并确定第四参数对应的节日格式化类型,第四参数用于标识是否需要将第二时间信息进行节日格式化。

节日格式化类型包括第一格式化类型和第二格式化类型,例如,若第四参数是1(即是不需要将第二时间信息进行节日格式化),表示对应的节日格式化类型是第一格式化类型;若第四参数是0(即是需要将第二时间信息进行节日格式化),表示对应的节日格式化类型是第二格式化类型。当节日格式化类型属于第一格式化类型时,终端可以直接将第二时间信息作为组合时间信息;当节日格式化类型属于第二格式化类型时,终端在日历文件中查找与第二时间信息的时间文本模式对应的时间信息,并基于查找到的时间信息更新第二时间信息,将更新后的第二时间信息确定为组合时间信息。需要说明的是,由于第二时间信息中包含两个时间信息,因此在日历文件中,查找到的与时间文本模式对应的时间信息也是包含两个时间信息的时间范围。

例如,时间文本模式为:国庆节,与该时间文本模式对应的第二时间信息是:(2019/10/1/0:0:0,2019/10/2/0:0:0),若在日历文件中,查找与时间文本模式“国庆节”对应的日期是10月1日-10月7日,因此上述日期的时间信息可以表示为:(10/1/0:0:0,10/8/0:0:0),因此更新第二时间信息后得到的组合时间信息为:(2019/10/1/0:0:0,2019/10/8/0:0:0)。

还例如,时间文本模式为:父亲节,由于父亲节是每年6月的第3个周日,仅仅通过目标参数是不能确定父亲节的准确日期,若与“父亲节”对应的目标参数中的第一参数为:*,*,*,e0,e0,e0(依次对应年,月,日,时,分,秒),且时间范围为1天,因此第二时间信息是:(1/1/1/0:0:0,1/1/2/0:0:0)。在日历文件中,查找时间文本模式“父亲节”的时间信息,即是在日历文件中查找所有父亲节的时间信息,若日历文件中记录的100年的日历,那么就可以查找出100个父亲节。若在目标文本中与目标子文本“父亲节”相邻的另一个目标子文本的组合时间信息为:(2020/1/1/1:1:1,2021/1/1/1:1:1),该第二时间信息对应的目标参数中的第一参数为:1,*,*,*,*,*(依次对应年,月,日,时,分,秒),而任意精确时间类型的优先级(即是“*”)<相对时间类型的优先级(即是“1”),因此可以从多个“父亲节”对应的时间信息中,选择2020年-2021年之间的父亲节,即2020年-2021“父亲节”的时间信息是:(6/21/0:0:0,6/22/0:0:0)。基于选择出来的时间信息,更新“父亲节”对应的第二时间信息,更新后的第二时间信息(组合时间信息)为:(1/6/21/0:0:0,1/6/22/0:0:0)。

在上述举例中,若根据相邻目标子文本(时间文本模式)的组合时间信息也不能从“父亲节”的多个时间信息中,确定选择一个时间信息用于更新“父亲节”的第二时间信息,那么终端可以根据系统时间来进行选择,若系统时间是2019年,那么就选择2019年的父亲节的时间信息用于更新第二时间信息,以得到组合时间信息。

需要说明的是,除了上述方式获得组合时间信息意外,终端还可以将开始时间信息和结束时间信息组合为第一时间信息,并进行农历至公历转换后,再进一步将转换后的时间信息进行节日格式化处理,以得到组合时间信息;也可以将开始时间信息和结束时间信息组合为第二时间信息,并进行节日格式化处理后,再进一步将格式化处理后的时间信息进行农历至公历转换,以得到组合时间信息。也就是说,公农历转换和节日格式化处理可以分开单独执行,以分别得到组合时间信息,也可以先后执行,以得到组合时间信息。

步骤S205,根据所述组合时间信息生成所述目标时间信息。

具体的,若组合时间信息的数量只有一个,终端可以直接将组合时间信息确定为目标时间信息。

若组合时间信息的数量不止一个,每个组合时间信息都要对应一个目标子文本、目标时间模式以及多个目标参数。终端还需要根据上述信息合并多个组合时间信息,根据合并后的时间信息确定目标时间信息。

终端将在目标文本中位置相邻的目标子文本对应的组合时间信息,分别确定为第一组合时间信息和第二组合时间信息。下述以一对第一组合时间信息和第二组合时间信息进行说明,同样地,每个组合时间信息包括与多个时间单位分别对应的单元时间。

在第一组合时间信息对应的多个目标参数中,确定属于时间单位属性的目标参数(也就是前述中的第一参数)的时间类型,由于每个时间单位都要对应一个目标参数,也就是要确定多个时间单位分别对应目标参数的时间类型,同样地,在第二组合时间信息对应的多个目标参数中,确定属于时间单位属性的目标参数(也就是前述中的第一参数)的时间类型。

每个目标参数的时间类型是由该目标参数的参数值对应的操作定义决定的;可以知道,时间类型包括相对时间类型和精确时间类型,精确时间类型包括:绝对精确时间类型、任意精确时间类型、变量精确时间类型;进一步地,相对时间类型包括固定相对时间类型和变量相对时间类型。

其中属于固定相对时间类型的目标参数的操作定义是,在基准时间的基础上进行加减运算,且加减预算的数值是由原始参数确定的(如表1中的原始参数1,-1等);属于变量相对时间类型的目标参数的操作定义是,在基准时间的基础上进行加减运算,且加减预算的数值是从目标子文本中确定的(如表1中的参数d-1,d1等)。属于变量精确时间类型的目标参数的操作定义是,将基准时间信息中的数值设置为从目标子文本中提取出来的数值(如表1中的参数x1,x2等)。

其中,变量相对时间类型的优先级=变量精确时间类型的优先级>固定相对时间类型>绝对精确时间类型的优先级>任意精确时间类型的优先级。

终端可以根据单元时间对应的目标参数的时间类型的优先级,分别确定第一组合时间信息中各单元时间分别对应的优先级,以及第二组合时间信息中各单元时间分别对应的优先级。可以理解的是,由于第一组合时间信息,以及第二组合时间信息中的结束时间信息是由开始时间信息和时间范围参数确定的,因此结束时间信息中各单元时间的优先级和对应的开始时间信息中各单元时间的优先级相同。

首先对第一组合时间信息以及第二组合时间信息中的开始时间信息进行合并,具体过程是:对具有相同时间单位的两个单元时间进行检测(一个单元时间属于第一组合时间信息中的开始时间信息,一个单元时间属于第二组合时间信息中的开始时间信息),若上述两个单元时间的时间类型的优先级不同;或,若上述两个单元时间的时间类型均是任意精确时间类型;或,若上述两个单元时间的时间类型均是绝对精确时间类型,且上述两个单元时间信息的数值相同,说明上述两个单元时间满足合并条件。只有当所有的单元时间都满足合并条件时,两个开始时间信息才可以进行合并。合并时,从两个单元时间中,提取优先级更大的单元时间,作为辅助单元时间,采用这种方式,可以得到多个辅助单元时间,将多个辅助单元时间按照时间单位顺序,组合为合并开始时间信息。

与合并开始时间信息类似,同样可以根据结束时间信息中各时间单元的优先级,提取优先级更大的单元时间,将多个优先级更大的单元时间组合为辅助结束时间信息。

从第一组合时间信息对应的时间范围和第二组合时间信息对应的时间范围中,确定最小时间范围,作为目标时间范围。可以知道,此处与第一组合时间信息对应的时间范围就是第一组合时间信息对应的多个目标参数中,属于时间范围属性的目标参数(也就是前述中的第二参数);同样地与第二组合时间信息对应的时间范围就是第二组合时间信息对应的多个目标参数中,属于时间范围属性的目标参数。

若上述合并开始时间信息和辅助结束时间信息之间的时间范围小于或等于目标时间范围,那么终端可以直接将上述辅助结束时间信息确定为合并结束时间信息;若上述合并开始时间信息和辅助结束时间信息之间的时间范围大于目标时间范围,则调整辅助结束时间信息,得到合并结束时间信息,使得合并开始时间信息和合并结束时间信息(调整后的辅助结束时间信息)之间的时间范围等于目标时间范围。

终端将合并开始时间信息和合并结束时间信息组合为第一统计时间信息。若还存在未合并的组合时间信息,可以基于第一统计时间信息和未合并的组合时间信息,再次合并,再次得到新的第一统计时间信息。终端将最后合并得到的第一统计时间信息作为目标时间信息;或者终端将最后合并得到的第一统计时间信息,以及合并不成功的组合时间信息,均确定为目标时间信息。

举例来说,目标文本为:明年国庆节,目标子文本1是:明年;属于时间单位属性的目标参数是:1,*,*,*,*,*(分别对应年,月,日,时,分,秒),时间范围是1年,组合时间信息(也称为第一组合时间信息)为:(2020/1/1/1:1:1,2021/1/1/1:1:1)。目标子文本2是:国庆节;属于时间单位属性的目标参数是:*,10,1,e0,e0,e0(分别对应年,月,日,时,分,秒),时间范围是1天,组合时间信息(也称为第二组合时间信息)为:(1/10/1/0:0:0,1/10/2/0:0:0)。对两个组合时间信中的开始时间信息来说,每个单元时间都是满足合并条件的,因此,可以得到合并开始时间信息:2020/10/1/0:0:0,辅助结束时间信息:2021/10/2/0:0:0。由于第一组合时间信息的时间范围(1年)要小于第二组合时间信息的时间范围(1天),因此目标时间范围是1天。而合并开始时间信息“2020/10/1/0:0:0”与辅助结束时间信息“2021/10/2/0:0:0”之间的时间范围是1年,因此需要调整辅助结束时间信息,使得调整后的时间信息和合并开始时间信息之间的时间范围是1天,即调整后的辅助结束时间信息为:2020/10/2/0:0:0,即合并结束时间信息是:2020/10/2/0:0:0。第一统计时间信息为:(2020/10/1/0:0:0,2020/10/2/0:0:0),且该第一统计时间信息也是目标时间信息。

可选的,上述是根据时间类型的优先级进行合并,还可以根据连接字符将多个组合时间信息进行合并。若组合时间信息的数量不止一个,且目标文本中存在连接字符,则提取出该连接字符。连接字符可以是:“至”、“到”、“--”等。将在目标文本中与连接字符相邻的目标子文本对应的两个组合时间信息,合并为一个时间信息,称为第二统计时间信息。终端将合并得到的第二统计时间信息作为目标时间信息;或者终端将合并得到的第二统计时间信息,以及不能进行合并的组合时间信息(即是组合时间信息对应的目标子文本不与连接字符相邻),均确定为目标时间信息。

举例来说,目标文本为:2019年10月1日到2019年10月7日,可以识别出两个组合时间信息,分别为:(2019/10/1/0:0:0,2020/10/2/0:0:0)和(2020/10/7/0:0:0,2020/10/8/0:0:0),可以将上述两个组合时间信息合并为第二统计时间信息:(2019/10/1/0:0:0,2020/10/8/0:0:0),且该第二统计时间信息也是目标时间信息。

需要说明的是,除了上述方式获得目标时间信息意外,终端还可以根据优先级合并了多个组合时间信息后,再进一步地根据连接字符,再次进行合并,以得到目标时间信息;也可以根据连接字符合并多个组合时间信息后,再根据优先级再次进行合并,以得到目标时间信息。也就是说,根据优先级合并和根据连接字符合并可以分开单独执行,分别得到目标时间信息,也可以先后执行,以得到目标时间信息。

可选的,语义识别该目标文本,得到语义信息,称为目标语义信息。终端获取与该目标语义信息对应的服务接口(称为目标服务接口),将前述中识别的目标时间信息作为目标服务接口的接口参数。将接口参数传递至目标服务接口,并调用该目标服务接口,以使该接口提供与目标服务接口对应的应用服务。

请参见图6,是本发明实施例提供的另一种时间识别方法的流程示意图。时间识别方法包括如下步骤:

步骤S301,获取目标文本。

步骤S302,将目标文本中的中文数值信息转换为ASCII数值信息。

具体的,获取待识别的目标文本,并将目标文本中的中文数值信息转换为ASCII数值信息,也即是转换为阿拉伯数值。

步骤S303,模式管理器提取目标文本中的时间信息,作为组合时间信息。

具体的,模式管理器提取目标文本中的中文时间信息,作为组合时间信息。步骤S303包括步骤S3031-步骤S3039。

步骤S3031,遍历所有的Item。

步骤S3032,是否存在与目标文本匹配的Item。

具体的,模式管理器遍历所有的Item,查找与目标文本匹配的Item,若存在与目标文本匹配的Item,执行下述步骤S3033;若不存在,执行步骤S3039。模式管理器遍历所有的Item,查找与目标文本匹配的Item的过程可以参见上述图3对应实施例中的步骤S102。

步骤S3033,根据基准时间信息、查找到的Item对应的时间配置模式,确定开始时间信息。

步骤S3034,根据时间范围属性对应的参数和开始时间信息,生成结束时间。

具体的,根据查找到的Item,确定该Item对应的时间配置模式所包含的多个原始参数,由多个原始参数确定基准时间。根据多个原始参数以及目标文本确定多个目标参数。根据多个目标参数和基准时间,确定开始时间。提取属于时间范围属性的目标参数,根据该目标参数和开始时间,确定结束时间。其中,确定基准时间、开始时间、结束时间的具体过程可以参见上述图3对应实施例中的步骤S103-步骤S104.

步骤S3035,是否需要公农历转换。

步骤S3036,分别转换开始时间和结束时间。

具体的,根据查找到的匹配的Item,确定开始时间和结束时间是否需要公农历转换,若不需要公农历转换,则执行步骤S3037;若需要公农历转换,则根据日历文件将分别转换开始时间和结束时间。转换的具体过程可以参见上述图5对应实施例中的步骤S204。

步骤S3037,是否需要节日格式化。

步骤S3038,将转换后的开始时间和结束时间分别进行节日格式化处理。

具体的,根据查找到的匹配的Item,确定转换后的开始时间和结束时间是否需要节日格式化处理,若不需要节日格式化处理,则执行步骤S3039;若需要节日格式化处理,则对日历文件将转换后的开始时间和结束时间进行节日格式化处理。节日格式化处理的具体过程可以参见上述图5对应实施例中的步骤S204。

步骤S3039,记录目标文本中的目标子文本,返回结果。

具体的,记录目标文本中匹配成功的字符序列,以及该字符序列在目标文本中的位置,并返回识别出来的时间信息和位置。

步骤S304,检测提取时间信息是否成功。

具体的,检测提取时间信息是否成功,若不成功,执行步骤S307,若成功,执行步骤S305。

步骤S305,检测是否还存在未合并的时间。

步骤S306,将识别的多个时间进行合处理。

具体的,检测是否存在未合并处理的时间,若存在,则尝试将多个时间进行合并;若不存在,执行步骤S303,模式管理器再次遍历所有的Item,查找与目标文本匹配的Item,再次提取出目标文本中的下一个中文时间信息。其中,合并多个时间的具体过程可以参见上述图5对应实施例中的步骤S205。

步骤S307,返回结果。

存储从目标文本中识别到的时间信息,将该时间信息下发至应用系统。

上述可知,通过时间配置模式确定基准时间,并在基准时间的基础上进行调整,因此无论文本中的中文时间信息是相对时间或者绝对时间,调整基准时间后,都可以得到文本中表达的精确时间,可以提高识别文本中的中文时间信息的准确率。

进一步的,请参见图7,是本发明实施例提供的一种时间识别装置的结构示意图。如图7所示,时间识别装置1可以应用于上述图3-图6对应实施例中的终端,时间识别装置1可以包括:获取模块11、匹配模块12、确定模块13、生成模块14。

获取模块11,用于获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式;

匹配模块12,用于选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式;

所述获取模块11,还用于将匹配的时间文本模式所属的时间模式确定为目标时间模式;

确定模块13,用于根据所述目标时间模式中的时间配置模式确定基准时间信息;

生成模块14,用于根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息。

其中,获取模块11、匹配模块12、确定模块13、生成模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。

请参见图7,匹配模块12可以包括:转换单元121、查找单元122。

转换单元121,用于将所述目标文本中属于第一数值类型的第一字符序列,转换为属于第二数值类型的第二字符序列,得到待匹配文本;所述第一字符序列对应的数值信息和所述第二字符序列对应的数值信息相同;

查找单元122,用于在所述待匹配文本中查找与时间文本模式匹配的至少一个字符序列,将查找到的所述字符序列作为所述目标子文本,将查找到的所述时间文本模式作为与所述目标子文本相匹配的时间文本模式。

其中,转换单元121、查找单元122的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。

请参见图7,确定模块13可以包括:提取单元131、获取单元132。

提取单元131,用于提取所述目标时间模式中的时间配置模式所包含的多个原始参数;

所述提取单元131,还用于在多个原始参数中,将属于时间单位属性的原始参数,作为辅助参数;

获取单元132,用于若所述辅助参数的时间类型包括相对时间类型,则获取系统时间信息,并将所述系统时间信息确定为所述基准时间信息;

所述获取单元132,还用于若所述辅助参数的时间类型均为精确时间类型,则将为空值的原始时间信息确定为所述基准时间信息。

其中,提取单元131、获取单元132的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。

请参见图7,生成模块14可以包括:第一生成单元141、第二生成单元142。

第一生成单元141,用于根据所述目标文本和所述多个原始参数,生成多个目标参数;

第二生成单元142,用于根据所述多个目标参数对所述基准时间信息进行偏移处理,得到目标时间信息。

其中,第一生成单元141、第二生成单元142的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。

请参见图7,第一生成单元141可以包括:提取子单元1411、替换子单元1412。

提取子单元1411,用于若所述目标时间模式中的时间文本模式不包含数值通配符,则将所述多个原始参数确定为所述多个目标参数;

替换子单元1412,用于若所述目标时间模式中的时间文本模式包含所述数值通配符,则在所述目标文本中的目标子文本中获取与所述数值通配符对应的数值信息,并在所述多个原始参数中提取与所述数值通配符对应的原始参数,将提取的所述原始参数替换为在所述目标子文本中获取的所述数值信息,并根据替换后的多个原始参数,生成所述多个目标参数。

其中,提取子单元1411、替换子单元1412的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。

请参见图7,第二生成单元142可以包括:第一确定子单元1421、第二确定子单元1422、组合子单元1423、第一生成子单元1424。

第一确定子单元1421,在多个目标参数中,将属于时间单位属性的目标参数,作为第一参数;

第二确定子单元1422,用于根据所述第一参数对应的时间单位,分别对多个单元基准时间信息进行偏移处理,得到开始时间信息;所述基准时间信息包括与多个时间单位分别对应的单元基准时间信息;

第一确定子单元1421,还用于在所述多个目标参数中,提取属于时间范围属性的目标参数,作为第二参数,根据所述第二参数和所述开始时间信息,生成结束时间信息;

组合子单元1423,用于对所述开始时间信息和所述结束时间信息进行组合处理,得到组合时间信息;

第一生成子单元1424,用于根据所述组合时间信息生成所述目标时间信息。

其中,第一确定子单元1421、第二确定子单元1422、组合子单元1423、第一生成子单元1424的具体功能实现方式可以参见上述图5对应实施例中的步骤S201-步骤S205,这里不再进行赘述。

请参见图7,第二确定子单元1422可以包括:获取子单元14221、第二生成子单元14222。

获取子单元14221,用于从多个单元基准时间信息中提取任一单元基准时间信息,作为目标单元基准时间信息;

所述获取子单元14221,还用于从所述第一参数中,提取与所述目标单元基准时间信息具有相同时间单位的第一子参数,作为目标第一子参数;所述第一参数包括多个第一子参数;

第二生成子单元14222,用于根据所述目标第一子参数和所述目标单元基准时间信息,生成单元开始时间信息;

所述第二生成子单元14222,还用于当每个单元基准时间信息均被确定为所述目标单元基准时间信息时,将多个单元开始时间信息按照时间单位顺序组合为所述开始时间信息。

其中,获取子单元14221、第二生成子单元14222的具体功能实现方式可以参见上述图5对应实施例中的步骤S202,这里不再进行赘述。

请参见图7,组合子单元1423可以包括:第一组合子单元14231、第一转换子单元14232。

第一组合子单元14231,用于将所述开始时间信息和所述结束时间信息进行组合为第一时间信息;

所述第一组合子单元14231,还用于在所述多个目标参数中,提取属于时间转换属性的目标参数,作为第三参数,并确定所述第三参数对应的转换类型;

第一转换子单元14232,用于若所述转换类型属于第一转换类型,则将所述第一时间信息确定为所述组合时间信息;

所述第一转换子单元14232,还用于若所述转换类型属于第二转换类型,则在日历文件中查找与所述第一时间信息具有相同日期的时间信息,作为所述组合时间信息。

其中,第一组合子单元14231、第一转换子单元14232的具体功能实现方式可以参见上述图5对应实施例中的步骤S204,这里不再进行赘述。

请参见图7,组合子单元1423可以包括:第二组合子单元14233、第二转换子单元14234。

第二组合子单元14233,用于将所述开始时间信息和所述结束时间信息进行组合为第二时间信息;

所述第二组合子单元14233,还用于在所述多个目标参数中,提取属于节日格式化属性的目标参数,作为第四参数,并确定所述第四参数对应的节日格式化类型;

第二转换子单元14234,用于若所述节日格式化类型属于第一格式化类型,则将所述第二时间信息确定为所述组合时间信息;

所述第二转换子单元14234,还用于若所述节日格式化类型属于第二格式化类型,则在所述日历文件中查找与所述目标时间模式中的时间文本模式对应的时间信息,根据与所述目标时间模式中的时间文本模式对应的时间信息更新所述第二时间信息,将更新后的第二时间信息确定为所述组合时间信息。

其中,第二组合子单元14233、第二转换子单元14234的具体功能实现方式可以参见上述图5对应实施例中的步骤S204,这里不再进行赘述。

应当理解,终端可以通过第一组合子单元14231、第一转换子单元14232确定组合时间信息;也可以通过第二组合子单元14233、第二转换子单元14234确定组合时间信息;还可以通过第一组合子单元14231、第一转换子单元14232和第二组合子单元14233、第二转换子单元14234共同确定组合时间信息。

请参见图7,第一生成子单元1424可以包括:第三确定子单元14241、第一合并子单元14242。

第三确定子单元14241,用于当所述组合时间信息的数量为多个时,将在所述目标文本中位置相邻的目标子文本对应的组合时间信息,作为第一组合时间信息和第二组合时间信息;所述组合时间信息包括与多个时间单位分别对应的单元时间;

所述第三确定子单元14241,还用于在所述第一组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型,在所述第二组合时间信息对应的多个目标参数中,提取属于时间单位属性的目标参数的时间类型;

所述第三确定子单元14241,还用于根据提取的时间类型,分别确定所述第一组合时间信息中各单元时间分别对应的优先级,以及所述第二组合时间信息中各单元时间分别对应的优先级;

所述第三确定子单元14241,还用于从所述第一组合时间信息对应的时间范围和所述第二组合时间信息对应的时间范围中,选择最小时间范围,作为目标时间范围;

第一合并子单元14242,用于根据所述优先级和所述目标时间范围,将所述第一组合时间信息和所述第二组合时间信息合并为第一统计时间信息;

所述第三确定子单元14241,还用于根据所述第一统计时间信息,确定所述目标时间信息。

其中,第三确定子单元14241、第一合并子单元14242的具体功能实现方式可以参见上述图5对应实施例中的步骤S205,这里不再进行赘述。

请参见图7,第一生成子单元1424可以包括:第四确定子单元14243、第二合并子单元14244。

第四确定子单元14243,用于当所述组合时间信息的数量为多个时,提取所述目标文本中的连接字符;

第二合并子单元14244,用于将在所述目标文本中与所述连接字符相邻的目标子文本对应的组合时间信息,合并为第二统计时间信息;

所述第四确定子单元14243,还用于根据所述第二统计时间信息,确定所述目标时间信息。

其中,第四确定子单元14243、第二合并子单元14244的具体功能实现方式可以参见上述图5对应实施例中的步骤S205,这里不再进行赘述。

应当理解,终端可以通过第三确定子单元14241、第一合并子单元14242确定目标时间信息;也可以通过第四确定子单元14243、第二合并子单元14244确定目标时间信息;还可以通过第三确定子单元14241、第一合并子单元14242和第四确定子单元14243、第二合并子单元14244共同确定目标时间信息。

请参见图7,时间识别装置1可以包括:获取模块11、匹配模块12、确定模块13、生成模块14;还可以包括:语义识别模块15、调用模块16。

语义识别模块15,用于语义识别所述目标文本,得到目标语义信息;

所述语义识别模块15,还用于获取与所述目标语义信息对应的目标服务接口,将所述目标时间信息作为所述目标服务接口的接口参数;

调用模块16,用于基于所述目标服务接口和所述接口参数,调用与所述目标服务接口对应的应用服务。

其中,语义识别模块15、调用模块16的具体功能实现方式可以参见上述图5对应实施例中的步骤S205,这里不再进行赘述。

进一步地,请参见图8,是本发明实施例提供的一种电子设备的结构示意图。上述图3-图6对应实施例中的终端可以为电子设备1000,如图8所示,所述电子设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至电子设备1000。用户接口1002可以包括:键盘1018和显示器1020。

在图8所示的电子设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:

获取目标文本,并获取至少一个时间模式;每个时间模式包括:时间文本模式和时间配置模式;

选择与所述目标文本中的至少一个目标子文本相匹配的时间文本模式,将匹配的时间文本模式所属的时间模式确定为目标时间模式;

根据所述目标时间模式中的时间配置模式确定基准时间信息;

根据所述基准时间信息、所述目标时间模式中的时间配置模式,生成与所述目标文本相匹配的目标时间信息。

应当理解,本发明实施例中所描述的电子设备1000可执行前文图3到图6所对应实施例中对所述时间识别方法的描述,也可执行前文图7所对应实施例中对所述时间识别装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的时间识别装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3到图6所对应实施例中对所述时间识别方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:语境化文本描述

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!