首页> 中国专利> 利用自然语言处理技术定义数据元素的方法以及装置

利用自然语言处理技术定义数据元素的方法以及装置

摘要

本发明公开了一种利用自然语言处理技术定义数据元素的方法以及装置。其中方法包括:基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取多个数据表的字段信息;基于预先配置的语法规则,根据表示信息从多个数据表的字段信息中提取对象词和特性词;基于对象词、特性词和表示信息,对多个数据表的字段进行相似度计算;根据相似度计算结果,对字段信息进行聚类分析以得到多个聚类类别;根据每一个聚类类别中的特征信息定义类别名称,并将类别名称作为目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型。该方法实现了不依赖于事先定义的标准数据元素,减少了人工配置方面的工作量,提升使用体验。

著录项

  • 公开/公告号CN106933972A

    专利类型发明专利

  • 公开/公告日2017-07-07

    原文格式PDF

  • 申请/专利权人 杭州数梦工场科技有限公司;

    申请/专利号CN201710077669.4

  • 发明设计人 徐雄伟;

    申请日2017-02-14

  • 分类号G06F17/30;G06F17/27;

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人张润

  • 地址 310024 浙江省杭州市转塘科技经济区块16号4幢326室

  • 入库时间 2023-06-19 02:48:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

    授权

    授权

  • 2017-08-01

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20170214

    实质审查的生效

  • 2017-07-07

    公开

    公开

说明书

技术领域

本发明涉及数据处理技术领域,特别涉及一种利用自然语言处理技术定义数据元素的方法以及装置。

背景技术

随着信息化水平的不断提升,政府、企业等单位都建立了众多的信息系统来支撑各种业务的开展,但是由于系统与系统之间业务口径的不一致、表达方式存在差异等影响着各个业务系统内部数据之间的交互。

为了能够更好地保证各个业务系统内部数据之间的交互,在相关技术中,提出了通过定义统一的标准数据元素信息来实现数据间的正常交互,具体可包括以下几种方式:其一,通过手工定义标准数据元素以及数据元素的各个要素;其二,基于标准数据元素,计算表字段与数据元素的相似度,形成字段与数据元素之间的映射关系。虽然通过上述几种方式可以解决数据之间不能正常交互的问题,但过于依赖于事先定义好的标准数据元素,且对数据元素的完整性要求比较高,此外存在较大的人工配置工作量,比较耗时耗力。

发明内容

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种利用自然语言处理技术定义数据元素的方法,该方法实现了不依赖于事先定义的标准数据元素,且减少了人工配置方面的工作量,提升了使用体验。

本发明的第二个目的在于提出一种利用自然语言处理技术定义数据元素的装置。

为达上述目的,根据本发明第一方面实施例提出了利用自然语言处理技术定义数据元素的方法,该方法包括以下步骤:包括以下步骤:基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取所述信息系统中多个数据表的字段信息;基于预先配置的语法规则,根据所述表示信息从所述多个数据表的字段信息中提取对象词和特性词;基于所述对象词、特性词和表示信息,对所述多个数据表的字段之间进行相似度计算;根据所述相似度计算的结果,对所述多个数据表的字段信息进行聚类分析以得到多个聚类类别;根据每一个聚类类别中的特征信息定义所述类别的名称,并将所述类别的名称作为所述目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为所述目标数据元素的数据类型。

本发明实施例的利用自然语言处理技术定义数据元素的方法,首先,基于信息系统中数据的基本信息定义出目标数据元素的表示信息,并且获取多个数据表字段信息;其次,基于预先配置的语法规则,根据表示信息从多个数据表字段信息中提取出对象词和特性词;再次,基于对象词、特性词和表示信息对多个数据表的字段信息进行聚类分析以得到多个聚类类别,进而根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,以及将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型,从而使得系统间的数据在交互时,不必过于依赖事先定义的标准数据元素,而是自动利用自然语言处理、数据挖掘等相关算法一次性完成对数据元素、数据元素的要素的定义,同时也能减少人工配置的工作量,提升了使用体验。

本发明第二方面实施例提供了一种利用自然语言处理技术定义数据元素的装置,该装置包括:预处理模块,用于基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取所述信息系统中多个数据表的字段信息;提取模块,用于基于预先配置的语法规则,根据所述表示信息从所述多个数据表的字段信息中提取对象词和特性词;相似度计算模块,用于基于所述对象词、特性词和表示信息,对所述多个数据表的字段之间进行相似度计算;聚类模块,用于根据所述相似度计算的结果,对所述多个数据表的字段信息进行聚类分析以得到多个聚类类别;定义模块,用于根据每一个聚类类别中的特征信息定义所述类别的名称,并将所述类别的名称作为所述目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为所述目标数据元素的数据类型。

本发明实施例的利用自然语言处理技术定义数据元素的装置,首先,基于信息系统中数据的基本信息定义出目标数据元素的表示信息,并且获取多个数据表字段信息;其次,基于预先配置的语法规则,根据表示信息从多个数据表字段信息中提取出对象词和特性词;再次,基于对象词、特性词和表示信息对多个数据表的字段信息进行聚类分析以得到多个聚类类别,进而根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,以及将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型,从而使得系统间的数据在交互时,不必过于依赖事先定义的标准数据元素,而是自动利用自然语言处理、数据挖掘等相关算法一次性完成对数据元素、数据元素的要素的定义,同时也能减少人工配置的工作量,提升了使用体验。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明的一个实施例的利用自然语言处理技术定义数据元素的方法的流程图;

图2为本发明的另一个实施例的利用自然语言处理技术定义数据元素的方法的流程图;

图3为本发明实施例中对字段信息进行分析的具体实现过程的示意图;

图4为本发明的一个具体实施例的利用自然语言处理技术定义数据元素的方法的流程图;

图5为本发明的一个实施例的利用自然语言处理技术定义数据元素的装置的结构示意图;

图6为本发明的另一个实施例的利用自然语言处理技术定义数据元素的装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

可以理解,数据元素(Data element)又称数据类型,是在特定的语义环境中被认为是不可再分的最小数据单元。一个标准的数据元素有以下几个要素:中文名称、中文拼音、表示符、对象词、特性词、表示词、数据类型、值域等。

由于一个数据元素在不同应用环境下可以有多个同一名称,因此,需要定义出一个统一的标准数据元素结构。然而,在现有的数据元素定义中,通常会存在过于依赖于事先定义好的标准数据元素,且对数据元素的完整性要求比较高,此外存在较大的人工配置工作量等问题。

因此,为了解决上述问题,本发明提出了一种利用自然语言处理技术定义数据元素的方法,该方法从数据元素定义的角度,分析和研究数据资源整合中不同数据表字段之间的关系,并从识别不同应用环境中具有相同语义的数据表字段信息,进而定义出统一的数据元素结构,使得在数据整合方面提供了借鉴和指导。具体地,下面参考附图1描述本发明第一方面实施例提出的一种利用自然语言处理技术定义数据元素的方法。

图1为本发明一个实施例的利用自然语言处理技术定义数据元素的方法的流程图。如图1所示,本发明实施例的利用自然语言处理技术定义数据元素的方法,包括以下几个步骤:

S101,基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取信息系统中多个数据表的字段信息。

其中,在本实施例中,信息系统中存储数据的基本信息,至少可包括:数据的主题、内容、格式标准和表达方式等信息。也就是说,可对信息系统进行数据信息调研,了解信息系统中数据的主题、内容、格式标准和表达方式等基本信息,然后,可根据信息系统中存储的数据基本信息定义出目标数据元素的表示信息,以及获取信息系统中多个数据表的字段信息。

其中,根据信息系统中数据基本信息定义出的目标数据元素的表示信息至少可分为:名称、代码、时间、量、描述等信息,同时获取信息系统中多个数据表的字段信息可以是多个数据表的表名、字段名、字段格式等。

S102,基于预先配置的语法规则,根据表示信息从多个数据表的字段信息中提取对象词和特性词。

具体地,可基于预先配置的语法规则的方式将数据表的字段信息进行语义的拆分,并将数据表中的表名、字段名自动的提炼出表示词、特征词、对象词等数据元要素。具体的实现方式可参见后续实施例的具体描述。

可以理解,上述语法规则可以是预先配置的。举例说明,该预先配置的语法规则中可以包括但不限于:当核心词为动词时,存在主谓关系的词即为对象词,核心词为特性词。需要说明的是,上述预先配置的语法规则仅是示例性的,还可以根据实际使用需求设定不同的语法规则,在此不作具体限制。

S103,基于对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算。

具体地,在提取出对象词和特性词之后,可基于提取的对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算,举例说明如下:

以两个数据表为例,假设从第一个数据表的字段名“在逃人员作案时间”中获取到的对象词、特性词和表示信息分别为:在逃人员、作案、时间,从第二个数据表的字段名“通缉人员作案时间”中获取到的对象词、特性词和表示信息分别为:通缉人员、作案、时间,则可通过相似度计算公式计算出这两个数据表字段之间的相似度,即同时计算这两个数据表中对象与对象、特性与特性、表示与表示三者之间的相似度,该相似度结果即为这两个数据表字段之间的相似度。

其中,相似度计算公式可如下式(1)所示:

其中,A、B分别表示两个不同数据表字段的特征向量,该特征向量分别由对象、特性以及表示建立的,Ai、Bi分别表示两个不同特征向量中的第i个元素,该元素可以是对象、或特性、或表示,n表示该特征向量的长度。

可以理解,通过上述相似度计算公式计算两个数据表之间的相似度之前,首先将两个不同数据表中的字段基于对象、特性、表示建立两个不同的特征向量A、B,然后,再利用相似度计算公式(1)同时计算上述对象与对象、特性与特性、以及表示与表示三者之间的相似度,从而根据得到的相似度确定出两个数据表之间的相似度。

需要说明的是,上述计算多个数据表字段之间的相似度仅是示例性的,还可根据实际需要通过其他不同的方式计算多个数据表字段之间的相似度,在此不作具体限制。

S104,根据相似度计算的结果,对多个数据表的字段信息进行聚类分析以得到多个聚类类别。

具体地,在计算出多个数据表字段之间的相似度之后,可根据相似度计算结果继续对多个数据表的字段信息进行聚类分析。例如,假设计算出多个数据表的字段之间的相似度大于或等于预设阈值,则可认为该多个数据表的字段属于同一类别,则可将该多个数据表的字段聚为一类。这样,可以从不同应用环境中将具有相同或相似语义的数据表字段信息聚类一类,为后续标准数据元素的定义奠定基础。

S105,根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型。

具体地,对多个数据表的字段信息进行聚类分析之后,可根据每一个聚类类别中的特征信息,定义类别名称,即目标数据元素名称,并获取聚类后的数据表字段的字符类型定义为该目标数据元素的数据类型。其中,在本发明的实施例中,该聚类类别中的特征信息可理解为在该聚类类别下的词频信息。

也就是说,可根据每一个聚类类别下的词频定义该类别的名称,即将在该聚类类别下出现次数最多的字段名作为该目标数据元素名称。例如,以字段名为“在逃人员作案时间”、“通缉人员作案时间”为一个聚类类别为例,假设字段名“在逃人员作案时间”在该类别下出现的次数最大,则以该“在逃人员作案时间”为该类别的名称,即该目标数据元素名称,其中该目标数据元素对应的字段信息有:在逃人员作案时间、通缉人员作案时间。

本发明实施例的利用自然语言处理技术定义数据元素的方法,首先,基于信息系统中数据的基本信息定义出目标数据元素的表示信息,并且获取多个数据表字段信息;其次,基于预先配置的语法规则,根据表示信息从多个数据表字段信息中提取出对象词和特性词;再次,基于对象词、特性词和表示信息对多个数据表的字段信息进行聚类分析以得到多个聚类类别,进而根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,以及将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型,从而使得系统间的数据在交互时,不必过于依赖事先定义的标准数据元素,而是自动利用自然语言处理、数据挖掘等相关算法一次性完成对数据元素、数据元素的要素的定义,同时也能减少了人工配置的工作量,提升了使用体验。

图2为本发明的另一个实施例的利用自然语言处理技术定义数据元素的方法的流程图。

如图2所示,本发明实施例的利用自然语言处理技术定义数据元素的方法,包括以下几个步骤:

S201,基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取信息系统中多个数据表的字段信息。

S202,对表示信息进行语义扩展以生成表示的特征词库。

具体地,在基于信息系统中数据的基本信息定义出目标数据元素的表示信息,以及获取多个数据表的字段信息之后,可基于公开的同义词林词典对该表示信息进行语义扩展,以扩展出与该表示信息的语义具有相同或相似的词语,并将这些词语作为表示的特征词,以建立该表示的特征词库。举例说明如下:

假设在信息系统中,首先,定义出了目标数据元素的表示信息为“时间”;其次,根据同义词林词典对表示信息进行语义扩展,例如,时间的同义词有:时间、日期、小时等,进而根据上述时间以及与时间同义的词生成表示时间的特征词库,该特征词库包括时间、日期、小时等特征词,进而便于根据生成的特征词库进行进一步的归类操作。

S203,对多个数据表的字段信息进行表示信息的归类,形成多个数据表的字段与目标数据元素中表示的映射关系。

具体地,可通过文本分类的算法对多个数据表的字段信息进行表示信息的归类,即可通过文本分类算法将具体相同或相似的表示的数据表的字段信息归为一类,并形成数据表的字段与表示的映射关系。例如,以数据表的字段名“在逃人员作案时间”为例,可通过文本分类算法对“在逃人员作案时间”进行表示信息的归类,即可通过文本分类算法将该字段名与上述定义的表示信息进行分类计算,若计算结果达到某个阈值,则可将该字段名“在逃人员作案时间”归为一类,并形成该字段名与上述定义的表示的映射关系,如可将“在逃人员作案时间”的表示指向“时间”。

需要说明的是,在本发明的实施例中,上述文本分类算法的公式可如下式(2)所示:

其中,分类算法为朴素贝叶斯算法,A、B表示两组不同的事件组,P(Bi)表示事件组B中第i个事件的概率,P(A|Bi)表示事件组B中第i个事件已发生条件下事件组A的概率,P(Bi|A)表示事件组A发生条件下事件组B中第i个事件的概率,P(Bj)表示事件组B中第j个事件概率,P(A|Bj)表示事件组B中第j个事件已发生条件下事件组A的概率,j表示事件组B中的事件,n表示为事件组B中事件的个数。

S204,根据映射关系以及表示的特征词库,从多个数据表的字段信息中剔除表示特征词。

具体地,在生成映射关系以及表示的特征词库之后,可将多个数据表的字段信息中的表示特征词剔除掉。例如,以字段名“在逃人员作案时间”为例,其中的表示特征词为“时间”,则可将“在逃人员作案时间”中的“时间”剔除。

S205,对剔除表示特征词之后的多个数据表的字段信息进行语义依存分析,以提取剔除表示特征词之后的多个数据表的字段信息中各个词的语法关系。

可以理解,上述语义依存分析是指分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。例如,使用语义依存刻画句子语义,好处在于不需要去抽象词汇本身,而是通过词汇所承受的语义框架来描述该词汇。语义依存分析目标是跨越句子表层句法结构的束缚,直接获取深层的语义信息。

例如,以数据表的字段名“在逃人员作案时间”为例,则该字段名剔除表示特征词“时间”之后,得到字符串“在逃人员作案”,对该字符串“在逃人员作案”进行语义依存分析,刻画出如图3所示的各个词之间的语法关系。例如,如图3所示,“HED”表示核心关系,“ATT”表示定中关系,“SBV”表示主谓关系。

S206,根据语法规则和语法关系生成多个数据表的字段信息的对象词和特性词。

具体地,在提取剔除表示特征词之后的多个数据表的字段信息中各个词的语法关系之后,可结合预先配置的语法规则从多个数据表中的字段信息中提炼出对象词和特性词。其中,可以理解,此处的字段信息应该是已经剔除了表示特征词之后的字符串。

举例而言,以上述步骤S205中所给出的例子为例,可根据预先配置的语法规则和得到的如图3所示的语法关系,从字符串“在逃人员作案”中提炼出对象词和特性词,即:核心词为“作案”,“作案”的上一层是“人员”,存在主谓关系,“人员”的上一层是“在逃”,存在定中关系,为修饰“人员”的。因此,可以将“人员”定义为对象词,“作案”定义为特性词。此外,由于“在逃”是修饰对象“人员”,并且为一个名词,属于“人员”的一个子类,因此可将“在逃人员”也定义为一个对象,进而得到最终的结果为:对象:在逃人员;特性:“作案”;表示:“时间”。

S207,基于对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算。

S208,根据相似度计算的结果,对多个数据表的字段信息进行聚类分析以得到多个聚类类别。

S209,根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型。

为了提高对象词、特性词的提炼准确率,提高目标数据元素的定义的标准化,进一步地,在本发明的一个实施例中,在根据语法规则和语法关系生成多个数据表的字段信息的对象词和特性词之后,该利用自然语言处理技术定义数据元素的方法还可包括:对生成的结果信息建立反向自学习机制,并基于反向自学习机制,将结果信息作为训练信息对对象词和特性词进行二次修正。

其中,在本发明的实施例中,基于对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算的具体实现过程可如下:基于二次修正后的对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算。也就是说,在对对象词和特性词进行二次修正之后,在对多个数据表的字段之间进行相似度计算时,可基于二次修正后的对象词、特性词和表示信息对该多个数据表的字段之间进行相似度计算。由此,可提高计算的准确率,进而提高聚类的准确度。

本发明实施例的利用自然语言处理技术定义数据元素的方法,通过自然语言处理、数据挖掘等相关算法以获取目标数据元素之间的语法关系,以及获知各个目标元素在信息系统中多个数据表之间的映射关系,可为目标数据元素标准化提供支持,并且还能减少人工配置的工作量,提高了系统之间进行数据交互的性能,更满足用户的使用需求。

为了方便不同数据元素的区分,进一步地,在本发明的一个实施例中,在将类别的名称作为目标数据元素的名称之后,该利用自然语言处理技术定义数据元素的方法还可包括:基于分词器对目标数据元素的名称进行拼音的转化,并截取拼音的首字母组合成目标数据元素的标识符。

具体地,在将类别的名称作为目标数据元素的名称之后,可对目标数据元素的名称进行扩展,通过分词器进行拼音的转化,截取拼音的首字母组合成该目标数据元素的标识符。例如,利用分词器对目标数据元素的名称“在逃人员作案时间”进行拼音转化,得到拼音(ZAI TAO REN YUAN ZUO AN SHI JIAN),并截取该拼音首字母作为该目标数据元素的标识符(ZTRYZASJ),以表示该数据元素的唯一性。

为了使得本发明实施例更清楚明确,下面通过一个具体实施例对本发明提出的利用自然语言处理技术定义数据元素的方法进行详细说明,具体可参见图4所示。

如图4所示,通过对信息系统进行调研,了解数据的基本信息,例如数据的主题、内容、格式标准、表达方式等,并定义数据元素的表示信息,同时获取数据表的表名、字段名、字段格式等字段信息(S401);基于公开的同义词林词典,对表示信息进行语义扩展,形成表示的特征词库(S402);通过文本分类的算法,对数据表信息进行归类,形成数据表字段与数据元素要素“表示”的映射关系(S403);对剔除表示特征词之后信息进行文本的语义依存分析,提取短句中各个词的语法关系;定义若干语法规则,如:当核心词是动词时,存在主谓关系的词即是对象词,核心词为特性词;基于语法规则,生成数据表字段的对象词、特性词(S404);对生成的结果建立反向自学习机制,将结果作为训练信息进行二次修正,从而达到提高准确率的目的(S405);基于形成的对象、特性、表示信息,对数据表字之间进行相似度计算(S406);聚类分析,并根据每一个聚类类别中的特征信息,定义类别名称,即为数据元名称;对数据元名称进行扩展,利用分词器进行拼音的转化,截取拼音的首字母组合成数据元的标识符,获取字段的字符类型定义为数据元的数据类型(S407)。

通过上述实施例使得系统间的数据在交互时,不必过于依赖事先定义的标准数据元素,而是自动利用自然语言处理、数据挖掘等相关算法一次性完成对数据元素、数据元素的要素的定义,同时也能减少了人工配置的工作量,提升了使用体验。

为了实现上述实施例,本发明还提出一种利用自然语言处理技术定义数据元素的装置。

图5为本发明一个实施例的利用自然语言处理技术定义数据元素的装置的结构示意图。

如图5示,本发明实施例的利用自然语言处理技术定义数据元素的装置包括:预处理模块10、提取模块20、相似度计算模块30、聚类模块40和定义模块50。

具体地,预处理模块10用于基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取信息系统中多个数据表的字段信息。其中,在本实施例中,信息系统中存储数据的基本信息,至少可包括:数据的主题、内容、格式标准和表达方式等信息。也就是说,可对信息系统进行数据信息调研,了解信息系统中数据的主题、内容、格式标准和表达方式等基本信息,然后,可根据信息系统中存储的数据基本信息定义出目标数据元素的表示信息,以及获取信息系统中多个数据表的字段信息。

其中,根据信息系统中数据基本信息定义出的目标数据元素的表示信息至少可分为:名称、代码、时间、量、描述等信息,同时获取信息系统中多个数据表的字段信息可以是多个数据表的表名、字段名、字段格式等。

提取模块20用于基于预先配置的语法规则,根据表示信息从多个数据表的字段信息中提取对象词和特性词。

具体地,可基于预先配置的语法规则的方式将数据表的字段信息进行语义的拆分,并将数据表中的表名、字段名自动的提炼出表示词、特征词、对象词等数据元要素。具体的实现方式可参见后续实施例的具体描述。

可以理解,上述语法规则可以是预先配置的。举例说明,该预先配置的语法规则中可以包括但不限于:当核心词为动词时,存在主谓关系的词即为对象词,核心词为特性词。需要说明的是,上述预先配置的语法规则仅是示例性的,还可以根据实际使用需求设定不同的语法规则,在此不作具体限制。

相似度计算模块30用于基于对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算。具体地,在提取出对象词和特性词之后,可基于提取的对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算,举例说明如下:

以两个数据表为例,假设从第一个数据表的字段名“在逃人员作案时间”中获取到的对象词、特性词和表示信息分别为:在逃人员、作案、时间,从第二个数据表的字段名“通缉人员作案时间”中获取到的对象词、特性词和表示信息分别为:通缉人员、作案、时间,则可通过相似度计算公式计算出这两个数据表字段之间的相似度,即同时计算这两个数据表中对象与对象、特性与特性、表示与表示三者之间的相似度,该相似度结果即为这两个数据表字段之间的相似度。

其中,相似度计算公式可如下式(1)所示:

其中,A、B分别表示两个不同数据表字段的特征向量,该特征向量分别由对象、特性以及表示建立的,Ai、Bi分别表示两个不同特征向量中的第i个元素,该元素可以是对象、或特性、或表示,n表示该特征向量的长度。

可以理解,通过上述相似度计算公式计算两个数据表之间的相似度之前,首先将两个不同数据表中的字段基于对象、特性、表示建立两个不同的特征向量A、B,然后,再利用相似度计算公式(1)同时计算上述对象与对象、特性与特性、以及表示与表示三者之间的相似度,从而根据得到的相似度确定出两个数据表之间的相似度。

需要说明的是,上述计算多个数据表字段之间的相似度仅是示例性的,还可根据实际需要通过其他不同的方式计算多个数据表字段之间的相似度,在此不作具体限制。

聚类模块40用于根据相似度计算的结果,对多个数据表的字段信息进行聚类分析以得到多个聚类类别。

具体地,在计算出多个数据表字段之间的相似度之后,可根据相似度计算结果继续对多个数据表的字段信息进行聚类分析。例如,假设计算出多个数据表的字段之间的相似度大于或等于预设阈值,则可认为该多个数据表的字段属于同一类别,则可将该多个数据表的字段聚为一类。这样,可以从不同应用环境中将具有相同或相似语义的数据表字段信息聚类一类,为后续标准数据元素的定义奠定基础。

定义模块50用于根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型。

具体地,对多个数据表的字段信息进行聚类分析之后,可根据每一个聚类类别中的特征信息,定义类别名称,即目标数据元素名称,并获取聚类后的数据表字段的字符类型定义为该目标数据元素的数据类型。其中,在本发明的实施例中,该聚类类别中的特征信息可理解为在该聚类类别下的词频信息。

也就是说,可根据每一个聚类类别下的词频定义该类别的名称,即将在该聚类类别下出现次数最多的字段名作为该目标数据元素名称。例如,以字段名为“在逃人员作案时间”、“通缉人员作案时间”为一个聚类类别为例,假设字段名“在逃人员作案时间”在该类别下出现的次数最大,则以该“在逃人员作案时间”为该类别的名称,即该目标数据元素名称,其中该目标数据元素对应的字段信息有:在逃人员作案时间、通缉人员作案时间。

本发明实施例的利用自然语言处理技术定义数据元素的装置,首先,基于信息系统中数据的基本信息定义出目标数据元素的表示信息,并且获取多个数据表字段信息;其次,基于预先配置的语法规则,根据表示信息从多个数据表字段信息中提取出对象词和特性词;再次,基于对象词、特性词和表示信息对多个数据表的字段信息进行聚类分析以得到多个聚类类别,进而根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,以及将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型,从而使得系统间的数据在交互时,不必过于依赖事先定义的标准数据元素,而是自动利用自然语言处理、数据挖掘等相关算法一次性完成对数据元素、数据元素的要素的定义,同时也能减少了人工配置的工作量,提升了使用体验。

图6为本发明的另一个实施例的利用自然语言处理技术定义数据元素的装置的结构示意图。

如图6所示,本发明实施例的利用自然语言处理技术定义数据元素的装置包括:预处理模块10、提取模块20、相似度计算模块30、聚类模块40和定义模块50。

具体地,预处理模块10用于基于信息系统中数据的基本信息,定义目标数据元素的表示信息,并获取信息系统中多个数据表的字段信息。

提取模块20用于基于预先配置的语法规则,根据表示信息从多个数据表的字段信息中提取对象词和特性词;

具体地,在本实施例中提取模块20包括:第一生成单元21、归类单元22、剔除单元23、提取单元24和第二生成单元25。其中,第一生成单元21用于对表示信息进行语义扩展以生成表示的特征词库。具体地,在基于信息系统中数据的基本信息定义出目标数据元素的表示信息,以及获取多个数据表的字段信息之后,可基于公开的同义词林词典对该表示信息进行语义扩展,以扩展出与该表示信息的语义具有相同或相似的词语,并将这些词语作为表示的特征词,以建立该表示的特征词库。举例说明如下:

假设在信息系统中,首先,定义出了目标数据元素的表示信息为“时间”;其次,根据同义词林词典对表示信息进行语义扩展,例如,时间的同义词有:时间、日期、小时等,进而根据上述时间以及与时间同义的词生成表示时间的特征词库,该特征词库包括时间、日期、小时等特征词,进而便于根据生成的特征词库进行进一步的归类操作。

归类单元22用于对多个数据表的字段信息进行表示信息的归类,形成多个数据表的字段与目标数据元素中表示的映射关系。

具体地,可通过文本分类的算法对多个数据表的字段信息进行表示信息的归类,即可通过文本分类算法将具体相同或相似的表示的数据表的字段信息归为一类,并形成数据表的字段与表示的映射关系。例如,以数据表的字段名“在逃人员作案时间”为例,可通过文本分类算法对“在逃人员作案时间”进行表示信息的归类,即可通过文本分类算法将该字段名与上述定义的表示信息进行分类计算,若计算结果达到某个阈值,则可将该字段名“在逃人员作案时间”归为一类,并形成该字段名与上述定义的表示的映射关系,如可将“在逃人员作案时间”的表示指向“时间”。

需要说明的是,在本发明的实施例中,上述文本分类算法的公式可如下式(2)所示:

其中,分类算法为朴素贝叶斯算法,A、B表示两组不同的事件组,P(Bi)表示事件组B中第i个事件的概率,P(A|Bi)表示事件组B中第i个事件已发生条件下事件组A的概率,P(Bi|A)表示事件组A发生条件下事件组B中第i个事件的概率,P(Bj)表示事件组B中第j个事件概率,P(A|Bj)表示事件组B中第j个事件已发生条件下事件组A的概率,j表示事件组B中的事件,n表示为事件组B中事件的个数。

剔除单元23用于根据映射关系以及表示的特征词库,从多个数据表的字段信息中剔除表示特征词。具体地,在生成映射关系以及表示的特征词库之后,可将多个数据表的字段信息中的表示特征词剔除掉。例如,以字段名“在逃人员作案时间”为例,其中的表示特征词为“时间”,则可将“在逃人员作案时间”中的“时间”剔除。

提取单元24用于对剔除表示特征词之后的多个数据表的字段信息进行语义依存分析,以提取剔除表示特征词之后的多个数据表的字段信息中各个词的语法关系。

可以理解,上述语义依存分析是指分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。例如,使用语义依存刻画句子语义,好处在于不需要去抽象词汇本身,而是通过词汇所承受的语义框架来描述该词汇。语义依存分析目标是跨越句子表层句法结构的束缚,直接获取深层的语义信息。

例如,以数据表的字段名“在逃人员作案时间”为例,则该字段名剔除表示特征词“时间”之后,得到字符串“在逃人员作案”,对该字符串“在逃人员作案”进行语义依存分析,刻画出如图3所示的各个词之间的语法关系。例如,如图3所示,“HED”表示核心关系,“ATT”表示定中关系,“SBV”表示主谓关系。

第二生成单元25用于根据语法规则和语法关系生成多个数据表的字段信息的对象词和特性词。具体地,在提取剔除表示特征词之后的多个数据表的字段信息中各个词的语法关系之后,可结合预先配置的语法规则从多个数据表中的字段信息中提炼出对象词和特性词。其中,可以理解,此处的字段信息应该是已经剔除了表示特征词之后的字符串。

举例而言,以上述步骤S205中所给出的例子为例,可根据预先配置的语法规则和得到的如图3所示的语法关系,从字符串“在逃人员作案”中提炼出对象词和特性词,即:核心词为“作案”,“作案”的上一层是“人员”,存在主谓关系,“人员”的上一层是“在逃”,存在定中关系,为修饰“人员”的。因此,可以将“人员”定义为对象词,“作案”定义为特性词。此外,由于“在逃”是修饰对象“人员”,并且为一个名词,属于“人员”的一个子类,因此可将“在逃人员”也定义为一个对象,进而得到最终的结果为:对象:在逃人员;特性:“作案”;表示:“时间”。

相似度计算模块30用于基于对象词、特性词和表示信息,对多个数据表的字段之间进行相似度计算。

聚类模块40用于根据相似度计算的结果,对多个数据表的字段信息进行聚类分析以得到多个聚类类别。

定义模块50用于根据每一个聚类类别中的特征信息定义类别的名称,并将类别的名称作为目标数据元素的名称,并将聚类后的数据表字段的字符类型定义为目标数据元素的数据类型。

为了提高对象词、特性词的提炼准确率,提高目标数据元素的定义的标准化,进一步地,在本发明的一个实施例中,在根据语法规则和语法关系生成多个数据表的字段信息的对象词和特性词之后,该利用自然语言处理技术定义数据元素的装置还可包括:建立模块和修正模块。其中,建立模块用于在根据语法规则和语法关系生成多个数据表的字段信息的对象词和特性词之后,对生成的结果信息建立反向自学习机制;修正模块用于基于反向自学习机制,将结果信息作为训练信息对对象词和特性词进行二次修正。

其中,相似度计算模块30具体用于:基于二次修正后的对象词、特性词和所述表示信息,对多个数据表的字段之间进行相似度计算。也就是说,在对对象词和特性词进行二次修正之后,在对多个数据表的字段之间进行相似度计算时,可基于二次修正后的对象词、特性词和表示信息对该多个数据表的字段之间进行相似度计算。由此,可提高计算的准确率,进而提高聚类的准确度。

本发明实施例的利用自然语言处理技术定义数据元素的装置,通过自然语言处理、数据挖掘等相关算法以获取目标数据元素之间的语法关系,以及获知各个目标元素在信息系统中多个数据表之间的映射关系,可为目标数据元素标准化提供支持,并且还能减少人工配置的工作量,提高了系统之间进行数据交互的性能,更满足用户的使用需求。

为了方便不同数据元素的区分,进一步地,在本发明的一个实施例中,在将类别的名称作为目标数据元素的名称之后,该利用自然语言处理技术定义数据元素的装置还可包括:标识符生成模块。其中,标识符生成模块用于在将类别的名称作为目标数据元素的名称之后,基于分词器对目标数据元素的名称进行拼音的转化,并截取拼音的首字母组合成目标数据元素的标识符。

具体地,在将类别的名称作为目标数据元素的名称之后,可对目标数据元素的名称进行扩展,通过分词器进行拼音的转化,截取拼音的首字母组合成该目标数据元素的标识符。例如,利用分词器对目标数据元素的名称“在逃人员作案时间”进行拼音转化,得到拼音(ZAI TAO REN YUAN ZUO AN SHI JIAN),并截取该拼音首字母作为该目标数据元素的标识符(ZTRYZASJ),以表示该数据元素的唯一性。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号