一种非结构化数据识别的方法和装置与流程

文档序号:13094833阅读:557来源:国知局
一种非结构化数据识别的方法和装置与流程

本发明涉及数据分析领域,尤其涉及一种非结构化数据识别的方法和装置。



背景技术:

随着信息技术的迅速发展,与之相应的各种数据也呈现快速增长的趋势,对数据的分析和利用也因此成为了近年来的热点。其中,非结构化数据是大部分数据的存储形态,但其却很难直接应用于数据分析的过程中,使得很多隐藏在这些录音、文本等非结构化数据中的有效信息被淹没,甚至被遗忘。

现有技术中,最常用的思路就是通过词频统计、聚类/分类分析方法、交叉分析方法等,运用回归树(cart,classificationandregressiontrees)、神经网络等模型,通过计算与关键词的最短路径,将非结构化文本定位至结构化条目,实现数据结构化。然而,现有技术主要解决的是实现数据结构化的适配过程,没有对多个结果进行择优的筛选,输出结果会由于匹配条目较多而引入较多干扰项,准确率不高。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种非结构化数据识别的方法和装置,将非结构化数据与关键字库匹配的标签通过判断与筛选得到最终适配的结构化标签,实现非结构化数据向结构化数据的转换。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种非结构化数据识别的方法,其特征在于,所述方法包括:

对非结构化数据进行完整性检测;

当所述非结构化数据确定为完整的非结构化数据时,将所述非结构化数据与预存储的关键词进行匹配,获取与所述非结构化数据相对应的待确定标签;

根据预设的匹配规则,在所述待确定的标签中确定与所述非结构化数据最终匹配的标签。

上述方案中,将所述非结构化数据的主词、副词、排除词与预存储关键词的主词、副词、排除词进行匹配;

若所述非结构化数据的主词、副词与预存储关键词的主词、副词相匹配,则生成与所述非结构化数据相对应的待确定标签;

若所述非结构化数据的排除词与预存储关键词的排除词匹配,则输出关键字错误日志。

上述方案中,当所述待确定标签数量只有一条时,将所述待确定标签确定为与所述非结构化数据最终相匹配的标签;

当所述待确定标签数量大于一时,若所述待确定标签中存在与所述特例标签相匹配的标签,则将所述与特例标签匹配的第一待确定标签确定为与非结构化数据最终相匹配的标签;

当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一时,将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签;

当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述第二待确定标签数量大于一时,根据所述第二待确定标签出现频率排序结果,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

上述方案中,当所述待确定标签没有与特例标签相匹配,对所述待确定标签类型的数量进行统计;

当所述待确定标签类型的数量大于预设的阈值时,输出关键词错误日志;

当所述待确定标签类型的数量小于等于预设的阈值时,将所述非结构化数据中主词的出现频率由高到低进行排序;

确定所述非结构化数据中出现频率最高的主词所对应的第二待确定标签数量;

若所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一,则将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

上述方案中,当所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量大于一时,根据所述非结构化数据的主词出现频率和副词出现频率,确定所述第二待确定标签的出现频率;其中,

所述第二待确定标签的出现频率等于所述主词频率乘以所述副词出现频率;

将所述第二待确定标签的出现频率由高到低进行排序;

将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

第二方面,本发明实施例提供了一种非结构化数据识别的装置,其特征在于,所述装置包括:检测模块、获取模块和确定模块;其中,

所述检测模块,用于对非结构化数据进行完整性检测;

所述获取模块,用于当所述非结构化数据确定为完整的非结构化数据时,将所述非结构化数据与预存储的关键词进行匹配,获取与所述非结构化数据相对应的待确定标签;

所述确定模块,用于根据预设的匹配规则,在所述待确定的标签中确定与所述非结构化数据最终匹配的标签。

上述方案中,所述获取模块包括:匹配子模块、生成子模块和输出子模块;其中,

所述匹配子模块,用于将所述非结构化数据的主词、副词、排除词与预存储关键词的主词、副词、排除词进行匹配;

所述生成子模块,用于若所述非结构化数据的主词、副词与预存储关键词的主词、副词相匹配,则生成与所述非结构化数据相对应的待确定标签;

所述输出子模块,用于若所述非结构化数据的排除词与预存储关键词的排除词匹配,则输出关键字错误日志。

上述方案中,所述确定模块包括:第一确定子模块、第二确定子模块、第三确定子模块和第四确定子模块;其中,

所述第一确定子模块,用于当所述待确定标签数量只有一条时,将所述待确定标签确定为与所述非结构化数据最终相匹配的标签;

所述第二确定子模块,用于当所述待确定标签数量大于一时,若所述待确定标签中存在与所述特例标签相匹配的标签,则将所述与特例标签匹配的第一待确定标签确定为与非结构化数据最终相匹配的标签;

所述第三确定子模块,用于当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一时,将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签;

所述第四确定子模块,用于当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述第二待确定标签数量大于一时,根据所述第二待确定标签出现频率排序结果,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

上述方案中,所述第三确定子模块,用于当所述待确定标签没有与特例标签相匹配,对所述待确定标签类型的数量进行统计;

以及,当所述待确定标签类型的数量大于预设的阈值时,输出关键词错误日志;

以及,当所述待确定标签类型的数量小于等于预设的阈值时,将所述非结构化数据中主词的出现频率由高到低进行排序;

以及,确定所述非结构化数据中出现频率最高的主词所对应的第二待确定标签数量;

以及,若所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一,则将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

上述方案中,所述第四确定子模块,用于当所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量大于一时,根据所述非结构化数据的主词出现频率和副词出现频率,确定所述第二待确定标签的出现频率;其中,

以及,所述第二待确定标签的出现频率等于所述主词频率乘以所述副词出现频率;

以及,将所述第二待确定标签的出现频率由高到低进行排序;

以及,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

本发明实施例提供了一种非结构化数据识别的方法和装置,将非结构化数据与关键字库的进行匹配,通过二次排序过程得到最终匹配的结构化标签,提高了非结构化数据的识别准确率,简化了计算过程,实现了非结构化数据通过结构化标签向结构化数据的转换。

附图说明

图1为本发明实施例一提供的一种非结构化数据识别的方法流程示意图;

图2为本发明实施例一提供的获取待确定标签的流程示意图;

图3为本发明实施例一提供的确定最终匹配标签的流程示意图;

图4为本发明实施例一提供的一种预设的匹配规则下确定最终匹配标签的流程示意图;

图5为本发明实施例一提供的另一种预设的匹配规则下确定最终匹配标签的流程示意图;

图6为本发明实施例二提供的非结构化数据识别的装置结构示意图;

图7为本发明实施例二提供的获取模块结构示意图;

图8为本发明实施例二提供的确定模块结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

信息可以划分为两大类。一类信息能够用数据或统一的结构加以表示,称之为结构化数据,如数字、符号;而另一类信息无法用数字或统一的结构表示,如文本、图像、声音、网页等,称之为非结构化数据。结构化数据是可以用二维表结构来逻辑表达实现的数据,相对于结构化数据而言,非结构化数据不方便用数据库二维逻辑表来表现。因此,针对非结构化数据的特点对非结构化数据进行识别。

本发明实施例以对非结构化数据的文本识别为例对技术方案进行说明,可以理解地,本领域技术人员在本发明实施例的基础上,无需通过创造性劳动就能够将后续实施例中的技术方案应用于其他类型的非结构化数据识别中,本发明实施例不做赘述。

实施例一

参见图1,其示出了本发明实施例提供的一种非结构化数据识别的方法,所述方法可以包括:

s101、对非结构化数据进行完整性检测。

对非结构化数据进行识别之前,首先对非结构化数据的完整性进行检测。这里非结构化数据的完整性是指非结构化数据所包含的内容是完整的并且内容不为空。例如,当非结构化数据是文本时,若文本信息有缺失,说明该文本是不完整的,因此直接输出错误日志。

s102、当所述非结构化数据确定为完整的非结构化数据时,将所述非结构化数据与预存储的关键词进行匹配,获取与所述非结构化数据相对应的待确定标签。

在得到与非结构化数据相对应的待确定标签的过程中,参见图2,步骤s102具体包括s1021至s1023:

s1021、将所述非结构化数据的主词、副词、排除词与预存储关键词的主词、副词、排除词进行匹配;

s1022、若所述非结构化数据的主词、副词与预存储关键词的主词、副词相匹配,则生成与所述非结构化数据相对应的待确定标签;

s1023、若所述非结构化数据的排除词与预存储关键词的排除词匹配,则输出关键字错误日志。

需要说明的是,当非结构化数据是文本时,若文本信息能够与预存储的关键词进行匹配,则可以生成一个待确定的标签。例如,若文本信息中的关键词为“开通彩铃”,且预存储的关键词有“开通”和“彩铃”这两个词,那么该文本信息可以与预存储的关键词匹配成为一条待确定的标签,该标签为“开通-彩铃”。

可以理解的,预存储的关键词储存在预存储的关键词库中,在预存储的关键词中包括预存储的主词、副词和排除词。主词主要表达的是文本描述的主要对象,即主语;副词主要描述的是描述对象进行的动作,即谓语;排除词主要用于标记非结构化数据中的一些特定特征,有排除词出现的非结构化数据均不能生成与其相对应的待确定标签。

与预存储的关键词一样,非结构化数据中同样包含主词、副词和排除词。在将非结构化数据与预存储的关键词进行匹配时,是将非结构化数据中的主词、副词和排除词与预存储的关键词,即预存储的主词、副词和排除词相匹配。若非结构化数据中的主词和副词与预存储的关键词中的主词和副词匹配成功,则成功匹配到与非结构化数据相对应的标签;若非结构化数据除了主词和副词与预存储的关键词中的主词和副词匹配,其排除词同样与预存储的关键词的排除词匹配,则非结构化数据不会匹配到相对应的待确定标签,输出关键字错误日志。

具体地,排除词用于在生成待确定标签时,若有排除词出现,则不会生成待确定的标签。同样以文本为例,若预存储的排除词为“集团”,文本信息与预存储的关键词匹配到了“开通-集团-彩铃”,则将不会生成待确定标签。

s103、根据预设的匹配规则,在所述待确定的标签中确定与所述非结构化数据最终匹配的标签。

需要说明的是,与非结构化数据最终匹配的标签用于标记该非结构化数据的主要信息,将最终匹配的标签按照预设结构存储下来就能将非结构化的数据转变成结构化的数据,从而能直接应用于日常统计分析中。

在获取与非结构化数据相对应的待确定标签之后,需要对待确定标签进行筛选,以获取与非结构化数据最终匹配的标签并且输出。在本实施例中,根据预设的匹配规则,在四种条件下,对与非结构化数据最终匹配的标签进行确定。具体地,参见图3,步骤s103包括s1031至s1034:

s1031、当所述待确定标签数量只有一条时,将所述待确定标签确定为与所述非结构化数据最终相匹配的标签。

需要说明的是,获取到的与文本信息相对应的待确定标签数量有可能只有一个,也有可能会有多个,因此首先对待确定标签的数量进行统计,依照待确定标签的数量对待确定标签是否为与非结构化数据最终匹配的标签进行初步的判断。

可以理解的,如果待确定标签的数量只有唯一的一条,那么该待确定标签则为与非结构化数据最终相匹配的标签。

s1032、当所述待确定标签数量大于一时,若所述待确定标签中存在与所述特例标签相匹配的标签,则将所述与特例标签匹配的第一待确定标签确定为与非结构化数据最终相匹配的标签。

需要说明的是,当待确定标签数量大于一时,还无法确定与非结构化数据最终匹配的标签,因此需要对待确定标签进行进一步筛选。在本实施例中,特例标签为优先级别最高的标签,若对待确定标签进行筛选的过程中,待确定标签中有标签能与特例标签相匹配,则将该标签选取为最终与非结构化数据相匹配的标签;若对待确定标签进行筛选的过程中,没有待确定标签与特例标签相匹配,则对待确定标签类型的数量进行统计,并继续执行后续的步骤s1033和s1034。

s1033、当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一时,将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

具体地,参见图4,步骤s1033可以包括s10331至s10335:

s10331、当所述待确定标签没有与特例标签相匹配,对所述待确定标签类型的数量进行统计;

s10332、当所述待确定标签类型的数量大于预设的阈值时,输出关键词错误日志;

s10333、当所述待确定标签类型的数量小于等于预设的阈值时,将所述非结构化数据中主词的出现频率由高到低进行排序;

s10334、确定所述非结构化数据中出现频率最高的主词所对应的第二待确定标签数量;

s10335、若所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一,则将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

需要说明的是,标签类型为针对不同的业务情况预先设定好的多种标签类型。以文本为例,如“开通-流量”和“开通-彩铃”分别属于两种不同类型的标签。

若同一非结构化数据匹配出的待确定标签类型的数量超过预设的阀值,则认为匹配出的待确定标签不符合逻辑,如果将其作为输出结果可能对有效结果产生严重干扰。因此,对待确定标签类型的数量进行统计,如果待确定标签类型的数量大于预设的阈值,则直接输出关键字错误日志。

在本发明实施例中,将标签类型的预设阈值设为10,当待确定标签类型的数量小于等于10时,认为所述待确定标签是有效的,从而对非结构化数据中的主词信息进行进一步的判断。当待确定标签类型的数量大于10时,认为所述待确定标签无效,直接输出关键字错误日志。

可以理解的,这里可以取出现频率为topn(排名前n)的主词对应的待确定标签。优选的,取出现频率最高,即排名第一的主词对应的待确定标签进行判断。

如果非结构化数据中主词出现的频率最高的词对应的待确定标签数量只有唯一的一个,那么,该标签即为与非结构化数据最终匹配的标签。

s1034、当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述第二待确定标签数量大于一时,根据所述第二待确定标签出现频率排序结果,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

如果出现的频率最高的主词对应的待确定标签数量大于一,则说明仍然无法确定与所述非结构化数据最终匹配的标签,需要进行第二次筛选。

具体的,参见图5,步骤s1034可以包括s10341至s10343:

s10341、当所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量大于一时,根据所述非结构化数据的主词出现频率和副词出现频率,确定所述第二待确定标签的出现频率;其中,

所述第二待确定标签的出现频率等于所述主词频率乘以所述副词出现频率;

s10342、将所述第二待确定标签的出现频率由高到低进行排序;

s10343、将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

将与非结构化数据中主词出现的频率最高的词对应的待确定标签的频率进行排序后,得到出现频率为topn(排名前n)的标签。优选的,将出现频率最高的标签选取为与非结构化数据相匹配的标签。

本发明实施例提供了一种非结构化数据识别的方法,将非结构化数据与关键字库的进行匹配,通过二次排序过程得到最终匹配的结构化标签,提高了非结构化数据的识别准确率,简化了计算过程,实现了非结构化数据通过结构化标签向结构化数据的转换。

实施例二

参见图6,其示出了本发明实施例提供的一种非结构化数据识别的装置6,所述装置包括:检测模块601、获取模块602和确定模块603;其中,

所述检测模块601,用于对非结构化数据进行完整性检测;

所述获取模块602,用于当所述非结构化数据确定为完整的非结构化数据时,将所述非结构化数据与预存储的关键词进行匹配,获取与所述非结构化数据相对应的待确定标签;

所述确定模块603,用于根据预设的匹配规则,在所述待确定的标签中确定与所述非结构化数据最终匹配的标签。

进一步地,参见图7,所述获取模块602包括:匹配子模块604、生成子模块605和输出子模块606;其中,

所述匹配子模块604,用于将所述非结构化数据的主词、副词、排除词与预存储关键词的主词、副词、排除词进行匹配;

所述生成子模块605,用于若所述非结构化数据的主词、副词与预存储关键词的主词、副词相匹配,则生成与所述非结构化数据相对应的待确定标签;

所述输出子模块606,用于若所述非结构化数据的排除词与预存储关键词的排除词匹配,则输出关键字错误日志。

进一步地,参见图8,所述确定模块603包括:第一确定子模块607、第二确定子模块608、第三确定子模块609和第四确定子模块610;其中,

所述第一确定子模块607,用于当所述待确定标签数量只有一条时,将所述待确定标签确定为与所述非结构化数据最终相匹配的标签;

所述第二确定子模块608,用于当所述待确定标签数量大于一时,若所述待确定标签中存在与所述特例标签相匹配的标签,则将所述与特例标签匹配的第一待确定标签确定为与非结构化数据最终相匹配的标签;

所述第三确定子模块609,用于当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一时,将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签;

所述第四确定子模块610,用于当所述待确定标签数量大于一,且所述待确定标签没有与特例标签相匹配,且所述待确定标签类型的数量小于等于预设的阈值,且所述第二待确定标签数量大于一时,根据所述第二待确定标签出现频率排序结果,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

进一步地,所述第三确定子模块609,用于当所述待确定标签没有与特例标签相匹配,对所述待确定标签类型的数量进行统计;

以及,当所述待确定标签类型的数量大于预设的阈值时,输出关键词错误日志;

以及,当所述待确定标签类型的数量小于等于预设的阈值时,将所述非结构化数据中主词的出现频率由高到低进行排序;

以及,确定所述非结构化数据中出现频率最高的主词所对应的第二待确定标签数量;

以及,若所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量为一,则将所述第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

进一步地,所述第四确定子模块603,用于当所述非结构化数据中出现频率最高的主词对应的第二待确定标签数量大于一时,根据所述非结构化数据的主词出现频率和副词出现频率,确定所述第二待确定标签的出现频率;其中,

以及,所述第二待确定标签的出现频率等于所述主词频率乘以所述副词出现频率;

以及,将所述第二待确定标签的出现频率由高到低进行排序;

以及,将所述出现频率最高的第二待确定标签确定为与所述非结构化数据最终相匹配的标签。

具体的,本发明实施例提供的非结构化数据识别的装置说明可以参考实施例一的非结构化数据识别的方法说明,本发明实施例在此不再赘述。

在实际应用中,所述检测模块601、获取模块602、确定模块603、匹配子模块604、生成子模块605、输出子模块606、第一确定子模块607、第二确定子模块608、第三确定子模块609和第四确定子模块610均可由位于非结构化数据识别的装置6中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)、或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本发明实施例提供了一种非结构化数据识别的装置,将非结构化数据与关键字库的进行匹配,通过二次排序过程得到最终匹配的结构化标签,提高了非结构化数据的识别准确率,简化了计算过程,实现了非结构化数据通过结构化标签向结构化数据的转换。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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