CN104718542A - 利用索引串匹配的上下文盲数据转换 - Google Patents
利用索引串匹配的上下文盲数据转换 Download PDFInfo
- Publication number
- CN104718542A CN104718542A CN201380053552.2A CN201380053552A CN104718542A CN 104718542 A CN104718542 A CN 104718542A CN 201380053552 A CN201380053552 A CN 201380053552A CN 104718542 A CN104718542 A CN 104718542A
- Authority
- CN
- China
- Prior art keywords
- pattern
- feature
- data
- string
- similarity measurement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
用于将数据从第一形式转换到第二形式而不用参考要被转换的数据上下文的基于计算机的工具和方法。该转换可以通过将源数据与包括用于数据转换的规则(例如,特定于上下文的规则)的外部信息(例如,公共和/或私有模式)相匹配来促进。匹配可以基于优化的索引串匹配技术来执行,该技术可操作以将源数据匹配到上下文相关的外部信息,而无需具体识别源数据或识别的外部信息的上下文。相应地,数据转换可以在无监督机器学习环境中执行。
Description
对相关申请的交叉引用
本申请是于2012年8月28日提交的标题为“SCALABLESTRING MATCHING AS A COMPONENT FOR UNSUPERVISEDLEARNING IN SEMANTIC META-MODEL DEVELOPMENT”的美国专利申请No.13/596,844的部分接续,该专利全部内容通过引用被完整地结合于此。
技术领域
本公开内容一般而言涉及使用基于计算机的工具将数据从第一形式转换到第二形式,并且更具体而言,涉及可以与无监督学习过程关联地利用索引串匹配,以通过利用至少部分地基于上下文相关模式与在转换源数据时使用的源数据的索引串匹配而选择的模式来转换上下文不确定数据的基于计算机的工具。
背景技术
在各种应用中,可能希望将数据从第一(或输入)形式转换到第二(或目标)形式。这种转换可以包括,例如,数据相对于语言学、句法和/或格式的改变。在这点上,语言学差异可能是由于使用了不同的语言,或在单个语言中,由于对术语、专有名称、缩写、特质(idiosyncratic)短语或结构、以及特定于位置、区域、业务实体或单元、贸易、组织等其它事物的不同用法。对于当前意图,在语言学的范围内的差异还包括不同的货币、不同的重量和量度单位以及其它系统的差异。句法可能涉及词语的分句(phrasing)、次序和组织,以及与其相关的语法和其它规则。格式差异可能涉及与数据库或其它应用及相关工具相关联的数据结构或约定。
可以与转换过程关联有利地解决一个或多个这些形式上的差异。转换环境的一些例子包括:将数据从一个或多个遗留系统导入到目标系统中;相对于一个或多个定义的信息集合关联或解释外部输入(诸如搜索查询);相对于一个或多个外部文档、文件或其它数据源关联或解释外部输入;促进系统之间的信息交换;以及翻译单词、短语或文档。在所有这些情况下,可以使用基于机器(例如,基于计算机)的工具来试图解决输入环境和目标环境之间语言学、句法和/或格式中的差异。
与基于机器的转换工具相关联的一个困难涉及正确地处理上下文相关的转换。在这种情况下,正确地转换所考虑的上下文相关的项可能取决于关于其中使用该项的上下文理解一些事物。例如,在产品描述的上下文中,取决于所考虑的产品,“一英寸”的属性值可能表示一英寸长度、一英寸半径或一些其它维度。在这点上,其中使用“一英寸”的上下文可能指定数据“一英寸”可允许的和/或正确的转换(例如,到长度、半径或其它维度)。在另一个例子中,在翻译的上下文中,词语“walking(行走)”在短语“walking shoe(休闲鞋)”中与在“walking to work(步行去工作)”中用途不同。因此,在这些例子以及许多其它例子中,关于所考虑项的上下文理解一些事物会有利于转换。
虽然很好地认识到了上下文在消除歧义或以其它方式正确转换信息中的价值,但是在将这个概念应用到基于机器的工具时只实现了有限的成功,特别是在无监督机器学习中。例如,某些要被转换的数据可能是高度非结构化的和/或以其它方式上下文不确定的。因此,数据可能不具有指示其中使用源数据的上下文的指示器(例如,或者在数据内部或可以从外部源得到)。即,数据可能是上下文不确定的,使得数据的上下文不容易被辨认。此外,源数据可能包括多个不同的上下文,使得会在数据中出现源数据的不同子集的上下文。在这点上,上下文相关的转换可能不可能利用识别在上下文相关数据转换中使用的上下文的传统方法。
发明内容
鉴于上述情况,本文描述的是基于计算机的工具的实施例,其可以用来执行上下文相关数据的“上下文盲”转换。例如,本文描述的实施例可以用来转换上下文不确定的但是上下文相关的数据,而无需首先确定其中使用该数据的上下文。即,数据的上下文可能是不能查明以在数据的转换中使用的。例如,上下文不确定数据可能包括无可用的上下文提示的数据、具有冲突的上下文提示的数据、具有比能够被容易识别的多的上下文提示的数据,或使得难以或不可能准确识别数据的上下文的一些其它属性。
在这点上,可以利用索引串匹配过程,基于相关的特征而不是通过匹配源数据和模式的上下文来识别类似于要被转换的数据的外部信息(例如,模式)。通过将要被转换的数据与相关的模式(例如,包含特定于特定上下文的转换规则的模式)相匹配,上下文相关数据可以关于其中使用它的上下文进行转换,甚至无需确定其中使用该数据的上下文,因此,以“上下文盲”的方式进行转换。即,尽管数据的上下文在转换之前可能没有被具体地确定,但是类似模式的确定(例如,利用索引串匹配过程)可以允许数据基于上下文相关的转换规则进行转换,即使没有识别其中使用源数据的上下文。
特别地,本文描述的实施例可以识别适用于要被转换的数据的上下文相关模式,而无需考虑要被转换的数据的上下文或相关模式的上下文。即,实施例可以操作成以“上下文盲”的方式运行,其即使在缺少关于源数据的上下文知识的情况下,仍然导致与源数据上下文有关的一个或多个模式的识别。在这点上,本公开内容可能尤其适合应用在机器学习上下文中,并且特别是无监督机器学习,其中上下文不确定的数据、没有容易得到的上下文信息的数据、或者具有数据中表示的许多不同上下文的数据要被转换。
例如,要根据本文描述的方法和装置转换的数据可以是至少部分地非结构化的。因此,对受监督机器学习传统的方法可能难以适用。例如,考虑到潜在缺乏数据结构,在受监督学习过程中可能有很少或者没有合格的训练数据可用。在这点上,数据在一定程度上与给定主题上下文有关,数据的上下文可能是模糊的,使得该上下文在机器学习过程中可能不能被容易地查明。相应地,考虑到缺乏容易查明的上下文信息连同潜在的上下文相关转换过程,这种要被转换的非结构化数据在没有实质干预(例如,通过人类用户)的情况下可能难以从第一形式转换到第二形式。在这点上,这种非结构化数据的转换可能是昂贵的和/或低效的转换。
但是,本文描述的一种方法包括使用索引串匹配来开发相似性度量,该度量在不参考要被转换的数据或可用于在转换中使用的模式的上下文的情况下,指示要被转换的数据和多个模式之间共性。一些串分析工具的实施例可以利用确定性匹配方法和模糊匹配方法两者提供的优势,以提供用于串(例如,源数据或模式)分析的快速、领域无关的过程。
一般而言,本文描述的串分析工具可以操作来将串(例如,源数据和/或模式)表示为特征。源串的特征可以与目标串的特征进行比较,以计算源串和目标串之间的相似性度量。相似性度量可以是表示源串和目标串之间相似性的量化量度(例如,数字值)。例如,在例子中,相似性度量1可以表示相同的源串和目标串,并且相似性度量0可以表示完全不相似的源串和目标串。
但是,对于非常大的目标串语料库,为语料库中每个目标串计算相似性度量可能需要大量的计算资源,使得这种分析可能在成本上和时间上不允许。相应地,可以建立表示源串和在特定过程中感兴趣的目标串之间最少量相似性的最小相似性度量。最小相似性度量可以是可调的,以调整串分析工具的性能。在这点上,最小相似性度量可以是可由用户建立的预定义的值。例如,最小相似性度量越高,执行匹配所需的计算资源越少,但是结果可能排除了某些结果。最小相似性度量越低,执行匹配所需的计算资源越多,并且结果可能包括更全面的匹配列表。无论如何,最小相似性度量可以应用到结果来从结果中排除某些匹配,使得最小相似性度量用作最小相似性度量阈值。最小相似性度量阈值可以用在可由匹配工具执行的优化过程中。例如,具有落在最小相似性度量阈值之下的相似性值的匹配可以从结果中排除和/或从该匹配实际的相似性度量计算中排除,如将在以下更详细描述的。
在这点上,本文描述的串分析工具的一种实施例可以采用优化模块,其可以减少计算的相似性度量的数量,使得相似性度量只为目标串中的一部分目标串来计算。识别要为其计算相似性值的目标串可以基于预定的最小相似性度量阈值。利用最小相似性度量阈值(例如,源自或对应于用户预定的最小相似性度量),工具的这个实施例就可以识别可以在串分析中从考虑中删除的(例如,源串和/或目标串的)特征。例如,可以基于以下确定从考虑中删除特征:要被删除的特征不可能返回高于最小相似性度量阈值的相似性度量。
在本公开内容中呈现的至少一种实施例中,目标串的特征甚至可以接收源串之前从考虑中删除。因此,至少一些预先计算可以在接收源串之前发生。此外,来自源串的特征可以基于源特征在目标串中的已知参数从考虑中删除。在这点上,可以编译索引(例如,在接收源串之前预编译),其包括有关特征在目标串中的分布或频率的信息。在实现中,索引可以是包括每个特征与其中特征出现的目标串之间的映射的反向索引。因此,可以利用该索引来提供有关从串中识别的特征的信息。
在这点上,索引串匹配过程可以在数据转换工具的多个方面中使用。例如,索引串匹配过程可以返回源数据的相似的聚类部分。在这点上,对于要被转换的具有其中包含的许多潜在上下文的大型数据语料库来说,数据的聚类可以允许描绘(delineated)在不同上下文中潜在提供的数据。在这点上,描绘的源数据的子集可以单独地与外部数据进行匹配,使得可以在转换中利用数据子集的特定上下文。相应地,对于包含对应于许多上下文的数据的大型数据集合来说,聚类可以帮助识别数据的相关子集。
此外,由于外部数据(例如,包括上下文相关转换规则的模式)可以在接收用于转换的源数据之前进行索引,因此可以维护具有相应计算的索引的外部数据(例如,诸如公共或私有模式的模式)的库,以应用于转换随后接收到的源数据。在这点上,在接收或识别要被转换的源数据时,源数据或其一部分可以与预先配置的库中的外部数据进行快速比较来快速识别模式的一个或多个部分,以检索对应于由于关于其特征类似于源数据而被识别的模式的转换规则。重要的是,特征的相似性可以利用索引串匹配来执行,而无需明确地辨别源数据的上下文。因此,采用本文描述的实施例的无监督机器学习工具可能不需要具体识别数据或相关训练数据的上下文。相反,通过将源数据和与源数据具有相似的特征的模式进行匹配,即使在缺少上下文或训练数据的情况下,仍然可以完成上下文相关的转换。
在这点上,本文呈现的第一方面包括用于在操作将数据从第一形式转换为第二形式的基于计算机的工具中使用的方法。该方法包括利用基于计算机的工具,识别要从第一形式转换到第二形式的数据集合,其中该数据集合是上下文不确定的。即,该数据集合的上下文可能难以或不可能被解析(例如,因为没有可用的上下文提示、存在冲突的上下文提示、数据具有比能够被容易识别的多的上下文提示,等等)。该方法还包括利用基于计算机的工具,访问多个模式,每个模式包括用于在该数据的特定的上下文中转换数据的一个或多个转换规则,其中该一个或多个转换规则至少部分地基于该特定的上下文。该方法还包括利用基于计算机的工具,利用独立于该数据集合和多个模式的上下文执行的索引串匹配,将该数据集合与多个模式的至少一部分进行比较。该方法还包括利用基于计算机的工具,至少部分地基于该比较从多个模式中选择选定的模式,并且将选定的模式的一个或多个转换规则应用到该数据集合,以将该数据集合从第一形式转换到第二形式。
许多特征改进以及附加特征都适用于第一方面。这些特征改进以及附加特征可以被单独或者以任意组合使用。因此,以下将要被讨论的特征中的每个特征都可以,但不要求是,与第一方面的任何其它特征或特征组合一起使用。
例如,访问可以包括识别公共模式,该公共模式包括独立于与该数据集合相关联的任何实体或实体组的一般适用于主题领域的转换规则,该公共模式建立用于理解主题领域的至少一部分的结构。公共模式可以包括语义对象的接受的公开定义。作为对照,访问可以包括识别私有模式,该私有模式包括特定于实体或小于公众整体的实体组的转换规则,该私有模式建立用于理解主题的至少一部分的结构。
在实施例中,索引串匹配可以包括将数据集合和多个模式的每一个表示为一个或多个特征,其中数据集合表示为源特征并且多个模式表示为目标特征。串匹配也可以包括编译对应于目标特征的索引,其中索引包括用于每个目标特征到包含该目标特征的多个模式中的每个模式的映射。反过来,匹配可以包括确定要关于该数据集合为其计算相似性度量的多个模式的子集,其中多个模式的子集包括少于多个模式的整体,以及相对于多个模式的子集为数据集合计算相似性度量,其中相似性度量至少部分地基于目标特征和源特征之间的共性。
在实施例中,该方法可以包括利用基于计算机的工具,建立源串和目标串之间的最小相似性度量,并且利用基于计算机的工具,至少部分地基于最小相似性度量在确定操作中从考虑中删除源特征,其中删除的源特征对应于多个模式子集的不能够超过最小相似性度量的目标特征。附近地或替代地,该方法可以包括利用基于计算机的工具,建立源串和目标串之间的最小相似性度量,并且利用基于计算机的工具,至少部分地基于最小相似性度量从索引中去除至少一个映射,其中去除操作包括确定能从索引中去除的目标特征的一部分,使得索引中只包括与多个模式中能够超过最小相似性度量的模式对应的目标特征。
第二方面包括用于在操作将数据从第一形式转换到第二形式的基于计算机的工具中使用的方法,其包括识别要从第一形式转换到第二形式的数据集合、将多个模式中的每个模式表示为一个或多个目标特征、以及编译对应于多个模式的索引,其中索引包括用于每个目标特征到包含该目标特征的多个模式中的每个模式的映射。该方法还可以包括将要被转换的数据集合表示为一个或多个源特征,以及访问多个模式,其中每个模式都独立于要被转换的特定数据集合的分析基于至少一个主题领域的外部知识,多个模式中的每个模式包括用于在模式的主题领域的对应上下文中转换数据时使用的一个或多个转换规则。该方法还可以包括确定要为其计算相似性度量的多个模式的子集,其中多个模式的子集包括少于多个模式的整体,以及相对于多个模式的子集为要被转换的数据集合计算相似性度量,其中相似性度量至少部分地基于目标特征和源特征之间的共性。该方法还可以包括至少部分地基于相似性度量选择多个模式的至少一个选定的模式,并且在用于将数据集合从第一形式转换到第二形式的过程中利用至少一个选定的模式所包括的转换规则。
许多特征改进以及附加特征都适用于第二方面。这些特征改进以及附加特征可以被单独或者以任意组合使用。因此,以下将要被讨论的特征中的每个特征都可以,但不要求是,与第二方面的任何其它特征或特征组合一起使用。
在实施例中,为其计算相似性度量的多个模式的子集至少包括与至少一个源特征一样的一个目标特征。该方法还可以包括给每个特征分配特征权重,其中特征的特征权重对应于该特征对相似性度量的贡献的量度,并且其中源特征被分配源特征权重,而目标特征被分配目标特征权重,并且其中源特征权重与目标特征权重不同。特征权重可以至少部分地基于特征在多个模式中的频率,其中具有高于上阈值频率或低于下阈值频率的特征被赋予减少的频率权重。
在实施例中,选择步骤在没有参考要被转换的数据的任何特定的主题或上下文或者多个模式的主题或上下文的情况下执行。即,选择可以是“上下文盲”的,使得选择甚至可以应用到上下文不确定的数据。因此,甚至在没有精确识别源数据相关的上下文的情况下,上下文不确定的数据也可以关于其中提供该数据的上下文进行转换。
在实施例中,访问步骤可以包括识别公共模式,该公共模式包括独立于与数据集合相关联的任何实体或实体组的一般适用于主题领域的转换规则,该公共模式建立用于理解主题领域的至少一部分的结构。公共模式可以包括语义对象的接受的公开定义。可选地,访问步骤包括识别私有模式,该私有模式包括特定于实体或小于公众整体的实体组的转换规则,该私有模式建立用于理解主题领域的至少一部分的结构。
在实施例中,利用步骤可以包括根据包括的转换规则执行逻辑来解释要被转换的数据,以便识别要被转换的数据的至少一部分的对象、属性或属性值。利用步骤可以包括执行对象、属性或属性值和由第一模式定义的对象、属性或属性值的相应集合的比较。该比较可以包括利用对应于对象、属性或属性值相对于由第一模式定义的对象、属性或属性值的相应集合的相似性度量。
第三方面包括用于在将上下文不确定数据从第一形式转换到第二形式中使用的系统。该系统包括可以能由基于计算机的串分析工具执行的特征模块,其可操作以将多个模式中的每个模式表示为多个模式特征。该系统还可以包括可以由基于计算机的串分析工具执行的索引模块,其可操作以编译包括映射的索引,其中映射将每个模式特征关联到包含该模式特征的多个模式中的每个模式。该系统还可以包括可以由基于计算机的串分析工具执行的相似性度量模块,其可操作以计算要从第一形式转换到第二形式的数据集合之间的相似性度量,其中数据集合是上下文不确定的,并且多个模式中每个选定的部分具有与源串一样的至少一个特征,并且其中相似性度量包括关于数据集合和多个模式的每个选定部分之间的特征共性的量化值。该系统还包括可以由基于计算机的串分析工具执行的优化模块,其可操作以至少部分地基于根据最小相似性度量阈值从考虑中删除特征,确定为其计算相似性度量的多个模式的选定部分,以及能操作以基于数据集合和多个模式的每个选定部分之间的相似性度量进行选择从而识别至少一个选定的模式的转换模块。因此,转换模块可操作以将选定的模式的上下文相关的转换规则应用到数据集合,以将数据集合从第一形式转换到第二形式。
许多特征改进以及附加特征都适用于第三方面。这些特征改进以及附加特征可以被单独或者以任意组合使用。因此,以下将要被讨论的特征中的每个特征都可以,但不要求是,与第三方面的任何其它特征或特征组合一起使用。
例如,转换模块独立于要被转换的数据集合的上下文来操作。此外,系统可以是可操作的以执行以上关于第一方面和第二方面描述的任何或全部特征。
附图说明
图1是根据本发明的语义转换系统的示意图;
图2是说明根据本发明的语义转换过程的流程图;
图3是示出可以利用图1的系统实现的转换例子的示意图;
图4是说明根据本发明的转换过程中公共模式和私有模式的使用的示意图;
图5-6B说明根据本发明的示例性用户界面;
图7是说明根据本发明的系统的设置模式操作的示意图;
图8是说明根据本发明实现的搜索应用的示意图;
图9和10说明根据本发明的分类系统;
图11是说明根据本发明用于建立解析树结构的过程的流程图;
图12是说明根据本发明用于实现搜索应用的系统的示意图;
图13是说明可以被图12的系统实现的过程的流程图;及
图14是说明根据本发明利用知识库来处理遗留信息的系统的示意图。
图15描绘了与串分析工具的实施例相关联的硬件实施例的示意图。
图16描绘了串分析工具的实施例的示意图。
图17描绘了串分析过程的实施例的流程图。
图18描绘了可以从串分析工具得到的串聚类(cluster)的实施例。
图19描绘了可以基于图17的串聚类由无监督学习环境得到的分类(taxonomy)的一部分。
具体实施方式
虽然本发明很容易进行各种修改和替换形式,但是其具体实施例已通过例子在图中示出并且在本文详细描述。但是,应当理解,这不是要把本发明限定到所公开的特定形式,而是相反,本发明要涵盖属于如由所附权利要求所定义的本发明范围内的所有修改、等价物以及替换方案。
本发明涉及将数据从第一或源形式转换到第二或目标形式。如上所述,这种转换可能在各种应用中是所期望的,这些应用涉及,例如,将数据导入到或以其它方式填充到信息系统、处理搜索查询、在信息系统之间交换信息,以及翻译。此外,这种转换可能至少部分地取决于源形式中的数据的上下文。例如,取决于所使用的上下文,“BLK”在一种上下文中可以转换为“blank(空白)”、“black(黑)”或一些其它变体,这取决于在源形式中可以使用“BLK”的上下文。如上所述,这种上下文相关的数据转换在上下文无监督机器学习中尤其困难。
例如,这种上下文相关的数据也可以是上下文不确定的。即,源形式中数据的至少一部分不能被辨别以确定数据在源形式中出现的上下文。例如,继续以上的例子,“BLK TAPE”在第一上下文中可能对应于转换“BLANK TAPE”,或在第二上下文中对应于转换“BLACK TAPE”。此外,可能没有可辨别的上下文用于确定哪个上下文适于特定的源数据。缺少这种上下文信息,数据的转换就可能由于上下文不能被容易地解析而难以或不可能执行。在这点上,可能发生基于没有正确识别的上下文的不正确的转换。
但是,本公开内容描述了涉及基于计算机的转换工具的系统和实施例,其可以提供上下文相关信息的“上下文盲”转换。例如,源数据可以基于当作为串在索引串匹配过程中进行比较时源数据与模式的相似性而与上下文相关的模式进行匹配。在这点上,即使源数据的上下文不能被孤立地解析,与上下文相关的模式的相似性匹配也可以允许即使在没有具体识别源数据上下文的情况下,源数据正确的基于上下文的转换。即,上下文相关的模式可以基于与其源数据的相似性而匹配到源数据,而不是通过匹配在模式中的源数据的识别的上下文。
因此,以下描述一般而言描述将模式应用于转换数据。在下文中,公开了使用索引串匹配的具体例子。最后,描述了用于与模式相匹配的源数据的上下文盲转换的具体实施例。应当理解,本文讨论了具体例子,诸如,特别地参考了面向产品的数据(例如,来自企业遗留产品信息)的转换。但是,应当理解,本文提供的描述一般而言适于在不参考上下文的情况下将数据从第一形式转换到第二形式。因此,本文描述的实施例可以用在各种应用和领域而没有限制。例如,以下公开内容可以应用在各种领域,诸如,商业数据、医疗记录数据、科学研究数据等的分析和管理。
数据转换中模式的使用
在美国专利No.8,199,985中一般地描述了在源数据到目标形式数据的转换中模式的使用,其全部内容通过引用被结合于此。例如,在以下描述中,描述了关于处理包括面向产品的属性短语的源数据流的例子。这种流可以包括识别产品或产品类型连同一个或多个属性及相关联属性值的规范的信息。例如,源数据流(例如,搜索查询或来自遗留信息系统的产品描述符)可能包括内容“8oz.ceramic coffeecup”。在这种情况下,产品可以由短语“coffee cup”来定义,并且隐含的尺寸和材料属性分别具有属性值“8oz.”和“ceramic”。
尽管包括面向产品的属性短语的这种源数据流提供了用于说明本文描述的各个方面的有用机制,并且实际上表示有意义的商业实现,但是应当理解,本描述并不限定于这种环境。事实上,相信在本文找到的描述几乎适用于任何其它转换环境,这些环境具有诸如以下的概念,即,产品属性和属性值按需被适于主题环境的逻辑结构替换,例如,语音和形式的一部分。此外,如上所述,转换规则不限于单个属性短语或类似物的元素,而是可以包括对象之间的关系,其中对象包括在不同短语中阐述的对象。相应地,以下具体例子应当理解为示例性而不是限制性的。
至少一些转换可以在帧-槽架构的帮助下执行。这种帧-槽架构可以独立地工作,来为给定的转换应用定义完整的转换模型(例如,取决于转换模型的上下文),或者可以与一个或多个解析树结构一起工作来定义转换模型。就后者而言,帧-槽架构和解析树结构可以相对于主题重叠。
在这点上,上述咖啡杯例子是说明性的。可能期望将源串“8oz.ceramic coffee cup”关联到产品数据库、电子产品目录、基于Web的产品信息或其它产品列表。这种产品列表可以包括各种产品类型,每种产品类型可以具有相关联的属性和语法规则。在这点上,产品类型和属性可以通过一个或多个解析树结构来组织。在美国专利No.8,396,859中描述和示出的这些解析树结构通常将给定的主题组织成类、子类等向下到所期望粒度级别的层次结构,并且除其它之外还在构建语法中对提高转换精度和提高效率是有用的。在这个例子中,“coffee cup(咖啡杯)”可能落在解析树节点“cups(杯子)”下,节点“cups”又落在“housewares(家用品)”之下的父节点“containers(容器)”下,等等。类似地,同样的或另一个分析树可以将词语“oz.”或其诸如“ounce”的标准化表达式(例如,由语法定义的)分组在节点“fluid measurements(流体量度)”下(利用用于消除歧义的适当的语法规则ounce也可以出现在诸如“weights(重量)”的标题下),其又可以落在父节点“measurements(量度)”下,等等。
如上所述,这种解析树结构具有与转换过程有关的某种效率。但是,在一些情况下,可能需要非常深的解析,例如,关于处理与大型数据系统相关联的词语。此外,这些词语通常被处理为数据的各个字段,而不是靠近整个记录级别,从而潜在地丢失可以增强转换精度的上下文提示(如果存在的话),并且失去迅速地识别内容异常或实现私有模式来为给定的信息对象定义合法的属性或值的机会。最终,这种解析树过程可能施加限制对具体主题上下文适用性的刚性结构,从而限制了语法片段的重用。
相比之下,帧-槽架构允许在整体记录级别或近似于整体记录级别考虑源数据流信息。这使得本体和句法能够实质性统一,例如,由其中包含的语法和属性值识别的属性短语的集体考虑。而且,这种架构允许基于特定源数据上下文考虑转换规则(例如,通过应用可以从多个这种模式识别的特定于上下文的模式)。在咖啡杯例子中,帧-槽架构允许整体地考虑源数据流“8oz.coffee cup”。在这点上,该流可以被识别为属性短语,其具有“coffee cup”作为对象。特定于这个对象或包含这个对象的类的语法规则或公共模式的规则(例如,可以用以下更详细描述的方式选择的)可以允许识别其中“oz.”指“ounce”,并且在这个上下文中“ounce”是流体量度而不是重量量度。用户定义的模式,例如,源或目标信息拥有者的私有模式,可以将在咖啡杯上下文中与“ounce”相关联的合法数量值限定到,例如,“6”,“8”和“16”。在这种情况下,通过模式识别“8”提供了关于转换的增强的信心(confidence)。如果该值是“12”,这将不符合本例子中的模式,那么这可能有助于例如快速识别异常(例如,在将记录从遗留数据系统映射到目标系统的情况下)或识别不完美的匹配(例如,在搜索查询的情况下),使得可以采取适当的行动。
帧-槽架构因此包括用于识别流片段、从流内部或外部获得上下文提示(如果存在的话)、访问特定于流片段的主题的语法规则以及转换流片段的实用工具(utility)。这可以避免深度解析并允许更高的转换信心和准确性。此外,使得能够有更高的语法灵活性,从而允许在其它转换上下文中更高程度的潜在的重用。此外,通过参考模式执行这种过程使得能够提高上下文有关的分析。总之,转换以在某种程度上类似于人类处理的方式受益于周围和外部上下文提示。但是,应当理解,可用的模式数量可能相当大并且上下文多种多样,使得识别适当的上下文相关的模式可能很难,尤其在缺少关于相同数据的上下文信息的情况下。
如上所述,帧-槽架构可以以自上而下或自下向上的方式来开发。例如,对于给定数据上下文的对象、相关联的属性和合法属性值可以定义为施加到数据上的模式。在这点上,模式可以基于给定的上下文。因此可以相对于不同的潜在上下文来开发多个模式。在咖啡杯的例子中,模式的所有属性都可以基于产品库存或遗留信息系统的结构的分析来定义。附加地或可替代地,模式可以被独立地开发(例如,对于给定的主题或上下文)。在任何一种情况下,模式都可以指定数量的合法值(例如,在咖啡杯的例子中的6,8和16)。不符合模式的任何信息都可以被识别并处理为异常。相反,合法的值可以基于数据来定义。例如,来自遗留信息系统的文件可以用来定义合法的属性值,其然后开发成输入信息的函数。
图1说明用于实现这种转换处理的系统100。示出的系统100包括转换引擎102,其可操作成执行用于将源信息转换到目标形式的各种语法规则和转换规则。在示出的实施例中,系统100可操作成执行帧-槽架构方法和解析树结构方法。但是,可以理解,帧-槽架构可以在没有配合的解析树的环境中执行。
示出的转换引擎102经与用户界面104相关联的工作站接收输入和/或提供输出。例如,在设置模式中,用户可以经用户界面104选择用于处理的词语并创建相关联的关系和语法规则。在搜索系统的上下文中,可以经用户界面104输入搜索查询,并且可以接收搜索结果。在这点上,转换引擎102可以驻留在与用户界面104相关联的工作站,或者可以经本地或广域网与这种工作站进行通信。
源内容106包括要被转换的源串。取决于具体的应用,该内容106可能来自任何各种来源。因此,在应用涉及将来自一个或多个遗留信息系统的信息传送到目标信息系统中的情况下,可以从遗留系统中访问源内容106。在搜索引擎应用的情况下,源内容可以从查询得出。在其它情况下,源内容106可以从要被翻译或以其它方式转换的文本中获得。源内容106可以被预处理以促进转换或者可以是原始形式。在预处理的情况下,原始内容可以被补充,例如用标记来指示短语边界,内容106可以经将在下面更详细描述的索引串匹配技术或以其它方式的其它技术进行聚类。这种预处理可以在设置模式过程中提供。此外,一些这种信息可能存在于遗留系统中并且可以被转换引擎102使用。应该理解,内容106的来源及其性质本质上是无限制的。
示出的转换引擎102执行多个功能。在这点上,引擎102可操作成处理源内容106以将该内容解析为潜在的对象和属性,并且识别相关联的属性值。引擎102然后操作来利用解析树结构110和/或帧-槽架构111转换源内容106的相关部分,并且向例如用户或目标系统提供转换的输出。
关于解析树结构100,这种结构可以利用转换引擎102在设置模式中来开发,或者如将在以下更详细讨论的可以从源数据106或其它来源生成。在实施例中,解析树结构110的节点可以由熟悉所考虑的主题的人或基于数据集合的分析来定义。此外,可以导入关于先前转换应用所开发的某些结构,以促进设置过程。美国专利No.8,396,859中描述了这种设置过程,该专利通过引用被结合于此。在高的级别,这种设置包括定义树的层次结构、填充树的各个节点、开发标准化的术语和句法以及与树相关联的相关联的语法和转换规则、以及将源内容变体映射到标准化的术语和句法。
在帧-槽架构111的情况下,转换引擎102获得源内容106并且识别潜在的对象、属性和其中的属性值。在这点上,源内容106可以按以上讨论的进行解析。此外,引擎102可以与串分析工具1500(例如,如在图15中示出和在以下更详细描述的)操作通信。串分析工具1500可以是可操作的,以将源内容106与特定于帧-槽转换的模式相匹配。例如,指示当与“coffee cup”结合使用时词语“ounce”是流体(而不是重量)量度的信息可以由为主题转换应用开发的私有模式定义或者从外部信息源的分析中得出,其中外部信息源是利用串分析工具1500匹配到内容源106。
在帧-槽架构的上下文中,转换引擎可操作成:识别潜在的对象、属性和属性值;关于涉及该对象、属性和属性值的某些存储的信息处理这种信息;访问相关联的语法和转换规则;及将信息从源形式转换到目标形式。在这点上,示出的系统100包括存储的对象信息114、存储的属性信息116和存储的属性值信息118。该信息可以通过公共或私有模式或通过参考关于所考虑主题的外部信息(例如,可以通过串分析工具1500与源内容106相匹配的)来定义。
例如,对象信息114可以包括其中帧-槽架构适用的识别出的对象列表,连同将对象与合法属性和/或属性值相关联的信息以及与该对象相关联的其它转换规则。属性信息116可以包括对象的合法属性定义,连同关于相关联的属性值和相关联的语法和转换规则的信息。最后,属性值信息118可以包括给定属性的合法属性值的定义,连同关于语法和转换规则的相关联的信息。
图2示出了说明可以被诸如上述转换系统实现的过程200的流程图。应当理解,图2中示出的各个处理步骤可以被合并或关于序列或其它方式进行修改。此外,示出的过程200涉及执行解析树结构以及帧-槽架构的系统。应当理解,根据本发明的帧-槽架构可以独立于任何相关联的解析树结构来实现。
示出的过程200通过从数据源接收(202)数据流开始。这种数据流可以由用户输入或从遗留的或其它信息系统中访问。数据流的片段然后被识别(204)用于转换。例如,片段可以包括属性短语或源数据的可以以集体形式被有效处理的任何其它块。这种片段可以识别为诸如搜索查询的输入的整体、来自遗留或其它信息系统的文件的整体或一部分、或基于其中短语边界已被标记用于转换处理目的之前的处理步骤或基于用于识别要被共同处理的属性短语或其它块的逻辑。例如,片段可以基于在源内容106上执行的聚类过程来确定。
在示出的过程200中,识别的片段然后被处理,以识别(206)片段内潜在的对象。在以上咖啡杯例子的情况下,对象可以识别为词语“cup”或“coffee cup”。潜在的对象可以通过将各个词语与一组识别的对象进行比较、或者基于其中元数据已与源内容相关联以识别其包括对象的组件的预处理步骤进行识别。潜在的对象然后与帧-槽架构的已知对象列表进行比较(208)。如以上所讨论的,在给定的主题内,可能存在定义的子集,其中为该子集进行帧-槽处理是可能的。在示出的过程200中,如果识别了匹配(210),则系统然后访问(214)用于根据帧-槽架构进行处理的相关联的语法和模式。否则,利用解析树结构处理(212)该片段。作为还有的备选方案,如果没有识别出对象,则可以生成错误消息或者该片段可以被突出显示用于设置处理词汇表之外的词语,例如,以便扩充词汇表和关联的语法规则。特定的模式(例如,包括特定于上下文的帧-槽架构和/或解析树结构)可以是特定于上下文的并且是关于源内容106所选择的。
在利用帧-槽架构进行处理的情况下,然后识别(216)与对象相关联的属性。在咖啡杯的例子中,词语“ceramic”或“8oz.”可以识别为反映(reflecting)属性。这种识别可以基于语法规则、或基于与这些词语相关联的元数据来完成,其中这些词语通过元数据与特定的属性字段相关联。相关联的属性值然后与合法值进行比较(218)。例如,值“8oz.”可以与在“coffee cup”的上下文中用于属性“fluid measurement”的合法值列表进行比较。这些合法值可以由私有模式来定义,例如,限定于实体的产品目录库存,或者可以基于其它外部信息(例如,基于语音的一部分定义合法的单词)。如果找到(220)匹配,则属性短语被识别,并且根据相关联的语法和转换规则执行(223)适当的转换过程。过程200然后确定是否有可用的附加流信息(224)用于处理,并且或者处理这种附加信息或者终止执行。
在其中属性值不与合法值匹配的情况下,执行异常处理(222)。如何处理异常通常取决于应用和上下文。例如,如果在设置过程期间识别出异常,则异常的属性值可以被验证并添加到合法值列表。例如,在咖啡杯的例子中,如果属性值是“12oz.”并且该值不与之前定义的合法值相匹配,但实际上表示有效的库存条目,则词语“12oz.”(或其标准化的版本)可以被添加到在“coffee cup”的上下文中用于属性“fluid measurement”的合法值列表中。
作为替代,其它处理可以指示属性值是不正确的。例如,如果属性值是“6pack”,则可以指示解析中错误。在这种情况下,可以生成适当的错误消息,或者该片段可以被再处理以将备用的属性类型,例如,“对象数量(object quantity)”,与所考虑的词语关联。
在其它上下文中,可以执行不同的异常处理。例如,在处理搜索查询的情况下,非法值可以被忽略或者可以执行最接近匹配算法。此外,可以执行附加的模式匹配以确定属性值是否与另一个模式中提供的不同上下文相关联。因此,在针对“12oz.coffee cup”的查询的例子中,可以相对于关于一般的咖啡杯或8和16oz.的咖啡杯库存生成搜索结果或者执行链接。应当理解,根据本发明,许多其它类型的异常处理也是可能的。
在以上例子中,转换系统可以实现帧-槽架构和解析树结构两者。现在将更详细地描述这种架构和结构。首先参照图4,其示出了根据本发明的转换系统400的示意图。示出的转换系统400包括解析器402,用于在解析和转换来自源404的输入流403时使用,以提供输出流411,该输出流以由目标系统412使用的方式提供。在这个例子中,源数据流403包括内容“flat bar(1mm×1”×1')(扁平条1mm×1”×1')”。为了实现所期望的转换,解析器402使用来自公共模式406、私有模式408和语法410的信息。在这点上,可以理解,公共模式406、私有模式408和语法410可以基于与源内容404的相似性选自多个外部源。公共模式406可以包括一般适用于主题并且不特定于任何实体或实体组的任何各种类型的信息。在这点上,图5说明示例结构500,其示出了涉及主题领域的公开信息如何可以用来定义转换规则。如所示出的,新的结构500包括字典504,其构成公共模式502的一部分。面板506示出了关于对象“扁平条(flatbar)”的定义。具体而言,“条(bar)”定义为“长比其宽长的直片(straight piece)”,并且“flat”定义为包括“主表面明显大于次表面”。这种定义可以从例如通用字典、特定于主题的字典、主题专家或任何其它合适的来源获得,并且可以如将在以下更详细描述的与内容404进行匹配。这些定义被翻译以定义如面板508中示出的规则。具体而言,相关联的规则指示“长度大于宽度并且宽度大于厚度”。这条规则然后可以被写入到基于机器的转换工具的逻辑中。再次参考图4,这条规则反映在公共模式406的文件407中。相应地,模式可以包括特定于上下文的转换规则(例如,在这个例子中,涉及该“扁平条”的具体定义)。
在示出的例子中,解析器402还从私有模式408接收输入信息。私有模式408可以包括特定于实体或小于公众整体的实体组的转换规则。例如,私有模式408可以基于诸如与目标系统412相关联实体的感兴趣的实体的目录或库存为给定属性定义合法值。相关联的用户界面600在图6A中示出。例如,用户界面600可以用在启动模式中来为给定的属性填充合法值。在这种情况下,用户界面与诸如组装电子产品目录的特定项目602相关联。示出的用户界面600包括数据结构面板604,在这个例子中反映解析树结构和帧-槽结构。界面600还包括私有模式面板605。在这个例子中,私有模式面板605包括定义目标公司的产品库存的多个窗口606和608。在这个例子中,与用于#6机器螺丝的表相关联的长度字段610用来在对应于用于#6机器螺丝的属性值的面板604的节点处定义合法属性值612。关联的合法值信息示为图4中私有模式408的文件409。如可以理解的,可以开发多个私有模式408,其中每个都可以对应于要被转换的数据的特定上下文。
在图6B中示出用户界面片段620的另一个例子。具体而言,图6B示出了解析树图形面板622和解析树节点映射面板624。为说明起见,这些面板622和624以层叠的布置示出。但是,应该理解,面板622和624可以以其它方式布置在用户界面屏幕上或在单独的屏幕上提供。面板622示出了用于特定产品描述符的解析树。在这个例子中,产品描述符在解析树的基础级别626示为“ruler 12”1/16”divisions”。层628-630示出解析树的父节点。特别关注,块“12””和“1/16””两者都与高层节点“[length_unit]”相关联,其反映解析工具识别这些块中每个块都指示长度的量度。
如果解析树结构不再进入更深,并且没有可用的帧-槽逻辑,则这两种长度量度将会出现歧义。但是,人类读者将容易地认识到,在标尺的上下文中,“12””很可能表示标尺的总长度,并且“1/16””最有可能表示量度的增量。在帧-槽架构的情况下,这种逻辑可以通过以下规则来捕获,该规则使解析工具能够识别并应用这种上下文提示,以提供准确的解释而无需深入解析。
在这个例子中,这种规则反映在解析树节点映射面板624中。具体而言,在标尺(ruler)(以及也许其它长度测量设备)的上下文中用于解释“长度单位(length unit)”指示的规则被编码在“标尺(ruler)”节点下。如所示出的,如果相关联的属性值大于1个量度单位(uom),则规则将给定的“长度单位”解释为指示“测量长度(a measuring length)”,并且如果相关联的属性值小于0.25uom,则将“长度单位”当作指示“增量(increment)”。这提供了在这种上下文中用于消除歧义和转换长度单位的特定和结构上高效的机制。而且,可以预期,这些规则将在项目内的其它上下文中(例如,用于卷尺量度(tape measures)或直边(straight edges))以及其它项目中可以重用。
语法410也可以向解析器402提供信息。语法可以为转换过程提供定义词典、句法和本体的任何各种信息。在这点上,语法可以包括在美国专利No.8,396,859中描述的标准化术语的定义。因此,在示出的例子中,文件413将标准化的词语“inch(英寸)”、“foot(英尺)”和“millimeter(毫米)”与其各种替代形式相关联。与公共和/或私有模式一样,语法410可以表示可以经索引串匹配过程与源数据106相匹配的外部信息。
解析器402然后可以使用来自公共模式406、私有模式408和语法410的输入来解释输入流403,以将输出流411提供给目标412。在这个例子中,所述的输入流403被解释为“扁平条-1英尺长,1英寸宽和1毫米厚(FLAT BAR 1 FOOT LONG 1 INCH WIDE 1MILLIMETER THICK)”。
参考图3,其说明关于帧-槽架构300的另一个例子。架构300用来处理源数据流302。在这个例子中,“用于传动的轴承-100milli.钻孔(bearings for transmission-100milli.bore)”。例如,这个源数据流可以是来自遗留信息系统的记录或搜索查询。如以上所讨论的,这个源数据流302的处理可以利用特定于上下文的模式或包括特定于上下文转换规则的其它外部信息。这些规则可以通过以下描述的索引串匹配过程与源数据流302进行匹配。
帧-槽架构300可用来从源数据流302中识别对象306。如上所述,这可以包括识别流302中的词语,并且将该词语与识别出的对象列表进行比较或以其它方式利用逻辑将该输入词语与识别的对象关联。因此,在示出的例子中,识别的对象“滚子轴承”字面上并不对应于流302的任何特定片段。而是,对象“滚子轴承”是根据来自流302的词语“轴承”识别的(例如,连同由在流302的内容中包含和与同一流302匹配的也许来自外部信息的词语“传动”之间的相似性提供的可适用模式)。在这点上,包括关于轴承信息的外部源的其它源可以被用于将流302匹配到对象306的逻辑(例如,索引串匹配)利用。
基于对象306,可以访问关于属性308和属性值314的信息。如以上所讨论的,这种信息可以从公共和/或私有模式得出。例如,可以识别对象306的属性类型310并且可以确定相应的合法属性值312。在这个例子中,与对象“滚子轴承”相关联的一个属性是“类型”,其具有合法值“圆柱形,锥形和球形”。可以利用这个信息来处理流302,以确定细化的对象316。在这个例子中,细化的对象被确定为“圆柱形滚子轴承”。同样,应当注意,该细化的对象316不是从流302字面上得出的,而是在示出的例子中,基于从匹配的外部源和某些转换过程得到的某些上下文信息确定的。因此,基于关于在源流302的内容中包含的词语“传动”和“钻孔”的上下文信息基于源流302与外部信息之间关于滚子轴承类型的相似性而与识别“圆柱形滚子轴承”的外部模式匹配,确定流302与属性值“圆柱形”匹配。关于属性308和属性值314的信息可以再次基于细化的对象316来访问,以获得还有的属性318和相关联的属性值320。应当注意,这些属性318和属性值320,虽然示为依赖于属性310和属性值312,但是也可以备选地是与对象306相关联的独立的属性和属性值。但是,在示出的例子中,属性“尺寸参数(size parameter)”基于细化的对象“圆柱形滚子轴承”与合法值“内径(inside diameter)”和“外径(outside diameter)”相关联。
在这个例子中,属性318和属性值320与某些外部信息一起使用来定义进一步细化的对象322。在这个例子中,进一步细化的对象322被定义为“圆柱形滚子轴承内径”。合法值“内径”和“外径”之间的选择是基于流302的内容中包含的词语“钻孔”和包含钻孔的属性的类似外部信息的匹配做出的。基于该进一步细化的对象322,关于属性308和属性值314的信息可以用来识别还有的属性324及相关联的合法值325。在这个例子中,属性324是“合法的尺寸”并且相关联的合法值325被定义为“50,60,70,80,90,100,150…500”。这些值假定用于这个例子的目的以毫米为单位给出。在这个例子中,根据属性324和合法值325处理输入流302,以定义识别为“100mm ID圆柱形滚子轴承(100mm ID CYLINDRICAL ROLLERBEARING)”的输出326。在这点上,发现流词语“100milli.”与在圆柱形滚子轴承内径的上下文中的用于属性“合法尺寸”的合法值“100”匹配。应当理解,基于标准化或转换过程,词语“milli.”由此与指定“mm”相匹配。应当指出,在这点上,将源词语“100milli.”成功地匹配到合法值“100mm”提供了被正确和准确地执行的进一步的信心。
在这点上,可以提供反映各种转换应用的各种类型的输出。因此,在将来自遗留数据库的输入文件转换到目标信息系统的输出形式的情况下,输入流302可以被重写为“100mm ID圆柱形滚子轴承(100mm ID CYLINDRICAL ROLLER BEARING)”。在其中源数据流302表示搜索查询的情况下,输出可以通过将用户链接到适当的网页或在搜索结果页中包括相关联的信息来提供。应当理解,在其它转换环境中可以提供其它类型的输出。
如上所述,转换引擎102还可以实现用于转换过程的解析树结构。这种转换过程可能涉及,例如,如以下的搜索系统或其它信息变换系统。通常,这种搜索系统可以以两种模式操作:设置模式和使用模式。在设置模式中,转换引擎102访问潜在的搜索词语和/或源词语列表、开发一个或多个标准化的词语集合、建立分类结构、将标准化的词语与分类结构相关联、并且选择性地按需变换(例如,翻译)词语。如可以理解的,这些过程可以利用如将在以下更详细描述的串分析工具1500的功能。
图7是根据本发明在启动模式下工作的搜索系统700的示意图。通常,系统700包括控制器702和配置成存储词语列表704、解析树结构706和结构化的标准化词语集合708的存储装置。虽然系统700被示为在单个平台710上实现,但是应当理解,系统700的功能可以分布在例如通过局域网或广域网互连的多个平台上。
在实施例中,串分析工具1500可以与控制器702接口,以访问前面开发的解析树结构706或开发该结构706。在这点上,解析树结构706通常定义许多类别,每个类别通常包括共同定义主题领域的一个或多个子类别。将在以下提供例子。类别和子类别的层数将通常取决于主题的性质。在许多情况下,许多这种类别将可以得到,例如,对应于目录的标题和子标题或感兴趣的主题的其它预先存在的细分。在其它情况下,主题专家可以基于对主题的分析开发类别和子类别。
例如,如可以在以下理解的,在关于主题的数据上执行的聚类过程可以提供相对于类别的结构,然后串分析工具1500能够使用控制器702来访问要被处理的词语列表704。如上所述,这种词语列表704可以包括潜在的搜索词语、来自源数据集合源词语或者两者。在潜在的搜索词语的情况下,词语可以从预先存在的列表中获得,或者可以通过使用来开发。例如,潜在的搜索词语可以从由用户在感兴趣主题的上下文中输入的搜索词语的存储的集合中来提取。在各种上下文中,其它来源也是可用的,例如,结合管理通过每点击付费的搜索引擎开发的列表。列表可以基于监视搜索请求而随着时间的推移进行更新。例如,在在线购物应用的上下文中,源列表可以从电子产品目录或其它产品数据库中来提取。
在访问词语列表之后,串分析工具1500可以帮助执行多个功能,包括标准化和分类。标准化指将来自词语列表704的词语映射到标准化词语的第二集合,通常是较小的集合。以这种方式,可以解决拼写错误、缩写、口语化词语、同义词、多个遗留系统的不同语言学/句法约定以及其它特质问题,使得标准化的词语列表相对于原始词语列表704被实质上减少。将从以下讨论中理解,如可能在一些例如翻译的上下文中所期望的,这种标准化有助于执行搜索功能以及变换功能。标准化可以包括识别在源词语列表704和结构化的标准化词语708之间的相似的特征。
所得到的标准化词语的列表708然后可以映射到解析树结构706。如将在以下描述的,这可以通过图形用户界面上的简单的拖拽操作来执行。附加地或可替代地,可以通过将词语匹配到解析树结构706(例如,或者通过与解析树结构706的相似性或者已在解析树结构706中存在的其它值)来帮助映射。因此,来自源列表中的例如识别特定Post-it note(便利贴)产品的项可以与适当的基础级类别相关联,例如,“Adhesive Notepad(胶粘性记事本)”。类似地,诸如“Sticky Pad(粘性垫)”的来自潜在搜索词语列表的词语可以与同一基础级类别相关联。应该理解,给定的词语可以与多于一个的基础级类别相关联,给定的基础级类别可以与多于一个的父类别相关联,等等。
如上所述,这种基础级类别可以与父列表,祖父类别等相关联。当所考虑的词语与基础级类别相关联时,所有这些关系都是被继承。其结果是标准化的词语与解析树结构706的类和子类的串相关联。例如,这些关系可以反映在XML标签系统或与词语相关联的其它元数据表示中。所得到的结构化的标准化词语然后被存储在诸如数据库的存储结构708中。
因此,应当理解,在示出的实施例中,源词语和潜在的搜索词语两者都可以映射到同一解析树结构的元素。这在图8中示出。如所示出的,来自源集合的多个词语802被映射到解析树结构800。类似地,来自潜在搜索词语列表804的多个词语被映射到解析树结构800的相应元素。以这种方式,由用户输入的特定搜索词语可以用来基于公共类别或子类别识别来自源集合的响应信息,尽管在输入的搜索词语和来自源集合的相应项之间没有任何重叠。应该理解,可能期望把给定词语802或804与解析树800的多于一个的类别或类别类群链接。关于将特定产品或产品种类匹配到多个潜在的搜索策略,例如,将“钢笔”映射到包括“书写工具”或“办公礼物”的搜索,这会有特别的好处。
在图9中关于特定的搜索词语示出这个过程的例子。特别地,图9示出了表示用于特定主题的解析树900的一部分的用户界面,其中特定主题诸如办公用品仓库的电子产品目录。在这个例子中,串分析工具1500可以建立搜索词语902和904与解析树900之间的关联。具体而言,在这个例子中,基于“ADHESIVE(粘性的)”和“STICKY(粘的)”之间识别的相似性,搜索词语902“STICKYPAD(粘性垫)”可以被拖拽在解析树900的标记为“ADHESIVE(粘性的)”的节点906上或者与其相关联。节点906或类别是“NOTEPADS(记事本)”908的子类别,其中“NOTEPADS”908是“PAPER PRODUCTS(纸产品)”910的子类别,“PAPERPRODUCTS”910最后又是“OFFICE SUPPLIES(办公用品)”912的子类别。类似地,在这个例子中,词语904“DAYTIMER(计时器)”可以与类别“APPOINTMENT_BOOKS(备忘录)”相关联,其中“APPOINTMENT_BOOKS”是“NON-ELECTRONIC(非电子)”916的子类别,“NON-ELECTRONIC”916又是“ORGANIZERS(收纳用品)”918的子类别,其最后是“OFFICE_SUPPLIES”3912的子类别。数据串920和922说明所产生的反映类别关系的结构化词语(可以使用诸如标准XML标签句法的其它句法来反映类别结构)。应该理解,图9的例子省略了词语标准化的可选步骤。即,潜在的搜索词语“粘性垫”可以备选地在与解析树相关联之前首先映射到诸如“便利贴”的标准化词语。这种标准化将在以下更详细地描述。
图10说明同一解析树900如何可以用来将类别与来自源集合的项相关联。例如,这种源集合可以从电子产品目录或其它商业数据库中提取。在这个例子中,表示为“3-pack,3×3Post-it notes(Pop-up)-Asst'd”的源词语1002与前面例子中的“Sticky Pad”相同的节点906相关联。类似地,表示为“2005Daytimer-Weekly-7×10-BLK”的词语1004与前面例子中的潜在搜索词语“Daytimer”相同的节点914相关联。如将从以下讨论中理解的,这种相对于解析树900的共同关联有利于搜索。
这个用于建立知识库的过程可以用图11的流程图来概括。示出的过程1100通过开发(1102)解析树开始,该解析树根据多个类别和子类别定义感兴趣的主题。如上所述,主题的这种解析可以利用足够多的级别将主题划分到所期望的粒度来实现。过程1100然后在两条单独的路径上前进,这两条路径涉及建立用于潜在的搜索词语的类别和用于来自源集合的项的类别。应该理解,这两条路径可以以任何顺序或者同时执行。对于潜在的搜索词语路径,该过程包括获得或开发(1104)潜在的搜索词语列表。如上所述,可以获得现有的列表、可以开发新的列表、或者可以出现这些过程的某种组合。词语然后映射(1106)到解析树结构,诸如通过将相似词语匹配到节点或节点的现有成员,或者通过聚类过程。在源词语处理路线上,过程1100通过获得或开发(1108)源词语列表进行。同样,源词语列表可以从现有的来源获得、由主题专家开发、或者可以发生这些过程的某种组合。各个词语然后再次例如利用相似性匹配映射(1110)到解析树结构。尽管未示出,但是过程1100还可以包括以标准化的形式重写潜在的搜索词语和源词语的步骤。
本发明的搜索系统也可在使用模式操作。这在图12中示出。示出的系统1200包括用于从用户1204接收搜索请求的输入结构1202。取决于其中实现系统1200的具体网络上下文,搜索请求可以在执行搜索系统的机器处直接地输入,或者可以在经局域网或广域网互连到平台1206的远程节点处输入。输入结构1202的性质可以相应地变化。搜索请求由控制器1208处理以获得经输出结构1210发送给用户1204的响应信息。同样,输出结构1210的性质可以取决于具体的网络实现而变化。
在示出的实现中,为了获得响应信息,控制器访问知识库1212。知识库1212包括存储的信息,这些信息足以从搜索请求中识别词语、以标准化的形式重写该词语、如果需要则变换该词语、并获得与该词语相关联的反映该词语分类关系的元数据。控制器然后使用标准化的词语连同分类信息来从源数据1214访问响应信息。
图13是说明相应过程1300的流程图。过程1300通过例如从键盘、图形用户界面或网络端口接收(1302)搜索请求开始。该系统然后操作为从搜索请求中识别(1304)搜索词语。在这点上,可以支持任何适当的搜索查询句法。例如,搜索词语可以经包括预定义的布尔运算符的模板输入,或者可以自由输入。现有的技术允许识别这样输入的搜索词语。搜索词语然后以标准形式被重写(1306)。这可以包括纠正拼写错误、映射多个同义词到选定的标准词语、实现预定的句法和语法等,如将在以下更详细描述的。所得到的标准形式词语然后被设置(1308)为当前的搜索参数。
在示出的实现中,搜索然后通过解析树结构的层次进行迭代。具体而言,这通过利用当前的搜索参数搜索(1310)源数据库开始。如果获得(1312)任何结果,则这些结果可以被输出(1320)。如果没有获得结果,则识别(1314)解析树下一级的父类别。父类别然后被设置(1316)为当前的搜索参数并且重复该过程。可选地,可以询问(1318)用户关于这种类别搜索。例如,可能提示用户回答问题,诸如“没有找到匹配--你想在同一类别中寻找其它产品吗?”。此外,由过程控制器执行的逻辑可能将这种搜索限制到解析树结构的某些级别,例如,不超过三个解析级别(父、祖父、曾祖父),以避免返回不期望的结果。作为替代或附加地,这种搜索可以被限制为特定数量的响应项。呈现给用户的响应项可以是基于关于解析树结构中对搜索词语的相近性确定的相关性而排序的或以其它方式进行优先级排序的。
应该理解,诸如以上讨论的搜索功能不限于由外界各方搜索网站或电子产品目录,而是在各种搜索和数据库融合环境中更普遍有用的。图14说明用于利用知识库1404来访问来自多个遗留数据库1401-1403中的信息的系统1400。许多组织都有存储在例如产品数据库和账目数据库的各种遗留数据库中的相关的信息。这些遗留的数据库可能被不同的个体开发或填充或者以其它方式包括涉及语言学和句法的不同约定。
在示出的例子中,第一遗留数据库1401的第一记录1406反映用于识别制造商(“Acme”)和产品(“300W AC Elec.Motor…”)的特定约定。与另一个遗留数据库1403相关联的记录1407反映不同的约定,除其它之外还包括制造商的不同识别(“AcmeCorp”)和错误拼写(“Moter”)。
在这个例子中,内部或外部用户可以使用处理器1405来输入基本上自由形式的搜索请求,在这个例子中,“Acme Inc.PowerEquipment”。例如,输入这种搜索请求可能希望从所有遗留数据库1401-1403中检索所有相关的信息。在示出的实施例中,这通过利用知识库1404处理搜索请求来提供。知识库1404执行如以上并且在以下更详细讨论的有关标准化词语、将词语与类别结构相关联等的功能。因此,知识库1404可以首先处理搜索查询来标准化和/或分类搜索词语。例如,Acme,Inc.可以与标准化的词语“Acme”相关联。词语“Power Equipment”可以与标准化的词语或类别“motor”相关联。每个这些词语/类别又都可以与数据库1401-1403相关联的遗留形式相关联,以从每个数据库中检索响应信息。可以实现诸如合并功能的附加常规功能来识别作为搜索结果提供给处理器1405的响应信息并对其排定优先级。以这种方式,利用最小的附加代码就提供了对遗留数据系统的搜索或合并。
根据以上讨论,将理解,在将数据从一种形式变换到另一种形式中,例如,从潜在的搜索或源词语的原始列表到一组或多组标准化的、分类的和也许翻译的词语,其中涉及大量的努力。本系统还提供共享在开发用于这方面的诸如语义元数据模型(SMM)的变换模型中建立的信息。这种信息的共享允许多个用户例如同时参与到知识库的创建中,并且允许在开始的新知识库创建项目中利用这种信息的组成部分。在美国专利No 8,396,859中详细地描述了这个功能,该专利通过引用被完整地结合于此。
串匹配
如以上一般指示的,索引串匹配过程的使用可能在上述转换过程的多个方面是有用的。因此,以下呈现的是索引串匹配的实施例,其可以用在上述转换过程或者以下更详细讨论的无监督机器学习的实施例中。
在无监督机器学习领域,串匹配或两个串之间的重叠程度是用于许多数据质量过程的重要组成部分。在简单的例子中,两个串可以以诸如单个字符扰动的方式相异。例如,在串“Mississippi”和“Mississippe”中,差异在于单个字符。但是,相关串之间的差异可能复杂得多。考虑以下在将源文本匹配到目标文本的上下文中源串和目标串的例子。
或
在这些例子中,简单的串匹配技术可能建议源和目标文本串是非常不同的,尽管事实上这些串的含义是相似或相同的。以前在无监督机器学习环境中面临的挑战是如何确定这些串指相同的事物,并且还有,如何将该解决方案缩放到非常大的数据集合。
为执行串匹配分析提出的先前方法的例子可能包括例如确定性匹配和模糊匹配。确定性匹配包括匹配场景的级联序列,其中当匹配发生时,序列停止。模糊匹配算法试图通常通过使用最小化的成本或距离函数来匹配两个串。这些方法中每种都有缺点。因此,对于串匹配分析方法存在持续的需求。
本公开内容一般而言涉及串分析以及串分析在无监督机器学习环境中的实现。描述的用于串分析的工具的实施例提供了允许快速实现(例如,运行时)的技术和优化。因此,即使对于非常大的数据集,串分析也可以在运行时高效地执行,使得执行串分析所需的计算资源被最小化,并且该分析在运行时迅速发生。相应地,可以提供量化的相似性量度,该度量指示源串和目标串之间的相似性,其可以被利用以提供对多个应用中无监督机器学习环境的支持。这种量化的相似性度量可以以多种方式被使用,这些方式可以在无监督机器学习环境中加以利用。例如,产生源串和目标串之间的相似性度量的分析可以允许将串的匹配、搜索、和/或聚类作为工具帮助机器学习环境(例如,上述一个或多个过程)。
在这点上,在实施例中,可以提供基于计算机的串分析工具以用于执行对多个串的分析。在各种实施例中,串可以对应于不同类型的数据。在实施例中,串可以与文本对应,诸如在数据质量应用的上下文中。例如,串可以对应于产品信息(例如,在由企业维护的遗留数据库中包含的产品信息)。在其它实施例中,串可以表示或对应于多个其它的数据源和/或上下文,诸如文档、网页、生物序列(例如,DNA序列)、随机数据集、科学数据、或其中确定两个串之间的相似性可能有益于数据从第一形式转换到第二形式的任何其它上下文。例如,在利用串匹配来识别在转换源数据中使用的外部信息(例如,模式)的应用中,源数据可以包括源串,并且可用外部信息的语料库可以包括目标串。
一般而言,由本文描述的串分析工具的实施例执行的串分析可以用来确定源串和目标串之间的相似性(例如,量化的相似性度量)。在这点上,相似性度量可以是数值,其指示两个串之间的相似性。例如,完全相同的源串和目标串可以具有100%或1的相似性度量,而完全不类似的源串和目标串可以具有0%或0的相似性量度。如将在以下讨论中理解的,本文描述的串分析可以用来基于源串和一个或多个目标串之间的量化的相似性度量启用搜索功能、匹配功能、聚类功能或其它数据分析。因此,可以生成可以被提供给无监督学习环境的串相似性输出,使得该无监督学习环境可以在执行机器学习技术中采用串分析工具或者机器学习技术可以应用到串相似性输出,如以下将更详细描述的。
参考图15,其示出了可以用来执行本文描述的串分析工具1500的实施例的硬件实施例。在这点上,可以提供与存储器1530操作通信的处理器1540。存储器1530可以存储包括如将要在以下更详细描述的串分析工具1500的一个或多个模块。在这点上,串分析工具1500和/或包含串分析工具1500的模块可以在存储器1530中存储为非传递性(non-transitive)计算机可读指令。非传递性计算机可读指令可以被处理器1540访问并且能够指示处理器1540执行与包括如下所描述的串分析工具1500的每个模块相关联的功能。
处理器1540也可以与显示器1560操作通信。还有,处理器1540可以与用户控制设备1570操作通信。在这点上,处理器1540可以是可操作的,以执行包括在显示器1560上显示的显示部分的用户界面1565。此外,用户控制设备1570可以操作成接收与用户界面1565关联的用户输入。因此,用户界面1565可以至少部分地允许用户与串分析工具1500交互或控制串分析工具1500。
处理器1540也可以与数据库1550操作通信。数据库1550可以操作成存储例如源内容1510和/或目标内容1520。在应用中,源内容1510可以对应于以上关于利用帧-槽架构或解析树结构的转换描述的源内容106。此外,数据库1550可以存储附加的数据,包括例如关于串和/或特征的信息、关于串和/或特征的概率数据、关于串和/或特征的权重参数、或可以在串分析中采用的其它数据。还有,数据库1550可以包括关于无监督机器学习工具的数据,诸如,对应于上述转换系统100的一个或多个模块。
参考图16,其描绘了串分析工具1500的实施例。串分析工具1500可以包括一个或多个组件,这一个或多个组件可以工作来执行本文描述的串匹配分析的一个或多个不同方面。如可以理解的,本文描述的组件可以对应于能够执行以下描述的功能的一个或多个硬件或软件模块。还可以理解,尽管为了清楚起见分开地进行讨论,但是一个或多个组件可以被整合成单个组件。此外,除了那些以下描述的,还可以提供附加的不同模块。
返回到图16,串分析工具1500实施例可以一般地包括特征模块1610、特征加权模块1620、索引模块1630和优化模块1640。以下描述将包含对每个模块的描述。此后描述了示例性分析过程。
特征模块1610可以是可操作的,以将源串或目标串表示为特征。特征可以是可从串或从其提取该串的数据记录得到的串的任何特点。在这点上,特征可以利用与串相关联的元数据。特征模块1610可以是可操作的,以访问源内容1510或目标内容1520。源内容1510可以包括或可操作以接收用于分析的源串。在这点上,在一种实施例中,源内容1510可以是能够从用户接收查询的查询界面。在另一种实施例中,源内容1510可以是目标内容1520的一部分。例如,如将在以下更详细描述的,来自目标内容1520的给定目标串可以用作分析中的源串。还有,源内容1510可以是要从第一形式转换到第二形式的一些数据的一部分。
如上所述,关于源内容1510和/或目标内容1520,源内容1510和/或目标内容1520可以包括表示各种不同数据类型和/或数据源的串。在一种实施例中,源内容1510和/或目标内容1520可以包括文本数据。例如,文本数据可以表示商业数据,诸如,产品描述、电子产品目录、存货保持数据、会计数据、营销数据或有关商业的其它文本信息。
在一种实施例中,特征模块1610可以是可操作的,以将串表示为n元(n-gram)字符,其中每个n元字符对应于特征。n元字符是连续字符的固定宽度序列。n元字符可能容易计算、上下文无关并且特别适合于文本匹配的上下文。
例如,可以用来生成特征的n元的一个例子是三元(trigram)。三元具有三个字符的固定宽度序列。因此,串可以由对应于该串的连续三个字符序列的多个特征来表示。例如,考虑串“RES 10 OHM1/4 WATT 5%”。该串可以由多个三元表示为如下:<B>re,res,es<E>,<B>10,10<E>,<B>oh,ohm,hm<E>,<B>1/,1/4,/4<E>,<B>wa,wat,att,tt<E>,<B>5%,5%<E>,其中<B>指示特征中的前空格并且<E>指示特征中的尾空格。如可以理解的,将串表示为n元可以是领域和上下文无关的,使得如果可以识别,则特征生成可以在不考虑数据的来源、形式或上下文的情况下得以应用。因此,可以理解,特征生成可以非常容易地应用到各种领域和上下文。但是,该灵活的架构也允许对给定领域或数据集合的微调定制。
在实施例中,特征模块1610可以是可操作的,以基于串中找到的单词级令牌(token)将串表示为一个或多个特征。例如,特征的生成可以利用特定于领域的知识。一个例子可以是利用如何构造产品部分号码或电话号码的知识。在这点上,十位数字电话号码列表可以利用已知规则,即前三个数字表示该号码的区域代码。因此,可以使用每个号码的前三位数字来生成对应于区域代码的特征。号码的剩余部分可以利用例如诸如n元的不同特征表示,或将那些号码理解为可能是随机的或没有属于区域代码深层含义的其它特征进行处理。附加地或可替代地,可以使用语言学知识、分类学、语法、句法或其它模式数据来生成特征。相应地,特征可以反映用于常用缩写策略、文本结构特征的启发,或者可以使用其它语言学知识来将串表示为特征。
串分析工具实施例1500还可以包括特征加权模块1620。特征加权模块1620可以与特征模块1610操作通信。因此,特征加权模块1620可以是可操作的,以接收由特征模块1610基于源内容1510和/或目标内容1520生成的特征。特征加权模块1620可以是可操作的,以向每个特征提供权重,该权重用于确定特征对串分析有多少贡献(或没有贡献)。特征加权的例子可以包括,但不限于,给每个特征1.0的分值使得每个特征在分析中的贡献相同、利用关于来自源内容1510和/或目标内容1520的特征的频率信息对特征加权(例如,利用概率的负对数),或利用特征的频率排名。
加权技术的一个具体例子可以包括利用频率排名上的β分布(beta distribution)。在这种情况下,高频率特征被给予非常小的权重,因为高频率特征往往不提供信息。非常低频率的特征也可以给予非常小的权重,因为它们往往是噪声。因此,具有低于上阈值并且高于下阈值频率的特征可以给予相对大的权重,因为那些特征可能分别比高频率特征更提供信息并且比低频率特征更不容易是噪声。
例如,当目标串包括文档时,三元特征“the”可能在目标串中具有非常高的频率。即,词语“the”可能在文档中出现得非常频繁。但是,由于词语“the”在目标文档中的高频率,因此它的出现可能对于包含特征“the”的源串和包含特征“the”的目标串的相似性非常不提供信息。另一方面,特征“<B>z<E>”可能在目标文档中具有非常低的频率。但是,目标文档中特征“<B>z<E>”的存在可能遭受到噪声,使得目标文档中该特征的出现也可能不提供关于包含特征“<B>z<E>”的源串和包含特征“<B>z<E>”的目标串的相似性的信息。因此,“the”和“<B>z<E>”这两个特征在由工具执行的串分析中都可以给予相对低的权重。
工具实施例1500还可以包括索引模块1630。索引模块1630可以与特征模块1610操作通信,以便接收经上述特征模块1610的操作作为特征的源串和/或目标串的表示。索引模块1630可以是可操作的,以为串或串集合的每个特征计算索引。例如,可以创建将特征与多个串相关的反向索引,使得建立从每个特征到包含该特征的每个串的映射。在这点上,索引可以提供关于特征和包含该特征的一个或多个串之间的关系的信息(例如,包括特征与包含给定特征的多个目标串中每个串之间的映射)。
工具实施例1500还可以包括相似性度量模块1640。相似性度量模块1640可以是可操作的,以计算描述源串和目标串之间的相似性的量化的相似性度量。如以上讨论的,相似性度量可以是范围在0%和100%之间的源串和目标串之间的直观相似性分值。在这点上,源串和目标串的完美重叠可能导致100%的相似性度量,而源串和目标串之间没有重叠可能导致0%的相似性度量。在其它实施例中,可能使用了其它的模糊度量,诸如范围0至1等。为给定源串和目标串计算相似性度量可以包括通过利用关于特征模块1610描述的对于要进行比较的每个串对的特征表示基于源串和目标串之间特征的共性计算相似性量度。在这点上,相似性分值可以通过观察在源串和目标串之间共享的特征和/或通过观察在源串或目标串其中一个中出现的但没有被共享的特征来计算。可以采用本领域已知的多个不同相似性度量中的任何一个或多个。例子包括,但不限于,作为在所有特征上相同的特征权重比率的加权平均、Jaccard相似性指数,计算具有共同特征概率的贝叶斯(Bayesian)方法,等等。可以采用的潜在相似性度量的其它例子在Dekang Lin,An Information-Theoretic Definition of Similarity,ICML’98Proceedings of the Fifteenth InternationalConference on Machine Learning,Morgan Kaufmann Publishers Inc.,San Francisco,296-304(1998)中讨论,其完整地通过引用被结合于此。
工具1500实施例还可以包括优化模块1650。如所描绘的,优化模块1650可以与特征加权模块1620和索引模块1630操作通信。优化模块1650可以置于相似性度量模块1640和特征加权模块1650/索引模块1630之间。因此,优化模块可以是可操作的,以执行相对于所进行分析的源串和/或目标串的特征的多个优化。由优化模块1650执行的优化可以减少计算源串和多个目标串之间的相似性度量所需的计算资源。例如,在传统的串分析中,当确定源串和目标串之间的相似性度量时,该过程将包括为每个源串/目标串对计算相似性度量。对于非常大的目标串语料库,这可能需要使用非常大量的计算资源来实现,使得这种分析可能令人望而却步。例如,在将诸如公共模式、私有模式或其它外部数据的外部信息与要被转换的源数据进行匹配时,可能存在来自潜在大批来源的非常大量外部信息的语料库。因此,试图将源数据的给定部分与扩展数据的每个部分比较可能是不可行的。此外,为源串/目标串对计算的许多相似性度量可能是不重要的,因为用于许多源串/目标串对的相似性度量可能不提供信息或提供的信息接近零。
但是,通过减少必须为源串和多个目标串之间的任何给定的分析计算的相似性度量的总数量,优化模块1650可以提供用于确定相似性度量的更有效的过程来。在这点上,优化模块1650可以是可操作的,以从考虑中删除源特征、从考虑中删除目标串,或者可以包括从索引中去除特征到串的映射。从以下讨论中可以理解,这些方法中任何一个或全部都可以减少由相似性度量模块1640花费的与源串和目标串的语料库之间的相似性度量的生成相关联的处理开销。如将在以下更详细讨论的,在匹配过程中从考虑中删除串可以基于最小相似性度量。最小相似性度量可以是预定的(例如,由用户)的值。最小相似性度量可以被调节,以调整优化过程来实现计算和时间资源对于结果的全面性的平衡。例如,最小相似性度量可以作为最小相似性度量阈值应用到匹配结果,其中,相似性度量值低于该阈值的匹配从考虑中删除。
例如,由优化模块1650执行的第一优化可能涉及在相似性度量计算中从考虑中删除与源串没有相似性的目标串。即,优化模块1650可以采用由索引模块1630编译的索引来确定哪些目标串包括至少一个与源串共同的特征。因此,只有具有与源串至少一个共同特征的目标串可以仍然考虑。因此,最小相似性度量可以是任何大于0的值。
此外,由优化模块1650执行的第一优化技术可以通过利用对许多串集合共同的特征的分布的重要特点进行扩充。例如,特征可能一般地遵循Z分布(Zipfian distribution),其中一些特征出现得非常频繁,而许多特征出现得不频繁。因此,用于目标串的特征将包含非常频繁的一些特征以及非常不频繁的其它特征。换句话说,源串的一些特征可能检索许多候选目标串,而其它特征可能检索很少的候选目标串。
优化模块1650可以利用从索引获得的已知的频率分布,使得可以通过建立最小相似性度量阈值(例如,基于最小相似性度量或从其得出的)来删除对高频率特征目标串候选的查找。反过来,可以计算来自源串的必须被查询以保证将没有遗漏相似性度量高于最小相似性度量阈值的目标串的特征的数量。相应地,一旦已知这种涉及需要被查询的特征的数量以便只返回具有相似性度量高于最小相似性度量阈值的目标串的计算的值,就可以用它来从考虑中删除源串的最频繁特征,使得目标串候选的数量可以大大减少。即,假定源特征的数量减少,则可以被返回的具有至少一个源特征的目标串数量也会出现降低。尽管对于这种优化技术的示例性方法可以在以下进行详细描述,但是应当理解,这种方法可以应用到可被采用作为对以下列出的具体技术的替代的广泛各种不同类型的特征、特征加权模式,以及相似性度量。
以下描述了减少源特征数量的技术的一个示例性应用。该技术一般地开始于:
式子1:
其中,t1表示源串,t2表示目标串,common(t1,t2)是返回t1和t2两者的共同特征的函数,并且F(t1)是返回t1的特征的函数。还有,在式子1中,值I(F(t))可以表达为:
式子2:I(F(t))=∑f∈F(t)-log2P(f)
P(f)简单地是特征的概率,其可以通过特征在目标串中出现的次数除以所有特征出现的总次数来计算。
以上式子1可以重写为包括相对于源特征或目标特征的加权参数。因此,可以得出式子3:
式子3:
其中w1和w2是加权参数。加权参数可以被修改,使得该值作为加权平均,使得w1和w2之和为1。因此,代入加权参数的加权平均概念,可以得出式子4:
式子4:
反过来,可以相对于式子4采用其中源特征被从考虑中去除的上述优化技术。作为初始步骤,式子4可以重写为不等式:
式子5:
其中y=sim(t1,t2),C=I(common(t1,t2)),A=I(F(t1)),并且B=(F(t2))。在这点上,不是为每个源串/目标串对计算式子4,而是可以使用式子5基于最小相似性度量阈值y来确定哪些源特征可以被删除。可能已知词语w*A将不会为每个源串/目标串对变化,因为w*A只依赖于源串。而B的值不能被计算,因为它可能对每个源串/目标串对不同,可以计算以下比率的最小值,以便保证式子5保持有效。
式子6:
方程6表示值x,其中假定B可以对每个源串/目标串对不同,则确定x可以有多小。如果可以确定x的最小值,则可以确定最小值C(Ⅰ(common(t1,t2))),因为可以为源文本自身计算A。如果C的最小值是已知的,则具有C值小于最小值的源特征可以在上述候选查找步骤中从考虑中删除,其中只有与源特征共享共同特征的目标串仍然需要考虑。即,只有在优化后仍然需要考虑的特征可以利用索引进行查找。因此,x将根据y求解。
为了实现这一点,考虑可能的最差值(即,当B最大地限制从考虑中去除特征的能力时)。这在当B=C时发生。这意味着B将向相似性分值贡献其最大所能。利用这种替代并且用其在式子5(为A求解)中给出的值替代A,式子4变成式子7:
式子7:
为x求解得到式子8:
式子8:
式子8用于确定C的最小所需的值y,以便y有任何大于提供的最小相似性度量阈值的机会。给定C的这个最小值,当根据索引中确定候选目标串时,不需要再考虑的源特征可以通过只考虑具有至少一个剩余用于考虑的共同特征的目标串来删除。
一个潜在的策略是以下降频率次序排序源特征。可以计算排顺序的源特征信息的总和,使得该和不超过C。然后使用剩余的(并且更能提供信息的)特征来从语料库中收集候选目标串,使得只在源串和根据索引确定的与剩余源特征共享特征的每个这些候选目标串之间计算相似性度量。
上面优化技术的一个例子可以应用于具有以下特征的目标串的语料库,其中这些特征的各自信息计算是:
特征 | P(F) | I(F) |
F1 | 0.00001 | 16.61 |
F2 | 0.0001 | 13.29 |
F3 | 0.001 | 9.97 |
F4 | 0.01 | 6.64 |
F5 | 0.1 | 3.32 |
现在,假设源串(t1)具有以下特征F(t1)={F1,F3和F5},并且其中一个目标串具有以下特征F(t2)={F5}。t1和t2的相似性是(假定w=0.5):
假定另一个目标串t3,其具有以下特征F(t3)={F1,F3,F4}。t1和t3的相似性为:
假定t1和包含F5的每个目标串之间的相似性有很高的概率(例如,如果F5从未在同一目标文本中出现两次,则多达10%的语料库)可能需要被计算。如可以理解的,这表示非常高的计算资源利用率,其可能只返回非常小、不提供信息的相似性度量。相比之下,F3和F5可能分别需要在0.1%和0.001%的语料库上计算相似性。因此,利用F5来收集相似的候选既昂贵又无意义(对比20%的相似性和84%的相似性)。因此,可以建立y=0.5的最小分值阈值以从考虑中去除源特征F5。根据式子8计算x变为:
用于A=I(F(t1))的值也可以被计算为:
A=I(F(t1)=29.9
然后可以计算用于C=I(common(t1,t2))的值:
C=w*A*x=0.5*29.9*0.667=9.967
同样,C表示必须被源串和目标串共享以便达到最小相似性度量阈值的最小量的信息。同样,这是用于其中C和B相同的最坏情形。这个值的C现在可以应用到源串并且删除用于通过参考索引收集目标串使用的特征。例如,F5(t1的最频繁特征)可以被删除,因为它的信息(C的值)3.32小于9.967。但是,F3(t1的下一个最频繁特征)不能被删除,因为F5和F3的和是13.29,其大于C。因此,具有特征F1和F3的所有文本将被收集,并且计算它们与T1的相似性。这表示必须被考虑的候选数量大约降低了100倍,因为F5比F3更常见100倍。
注意,F3的信息比C稍大。因此,对于包含F3的B的最坏的情形将是使得F(t4)={F3}的t4。假设上述计算有效,则t1和t4之间的相似性应该大于预定的最小相似性度量阈值0.5。计算t1和t4之间的相似性度量产生:
如可以理解的,t1和t4之间的相似性度量大于预定的最小相似性度量阈值0.5,这表明从考虑中删除源特征导致只能返回高于最小相似性度量阈值的相似性度量的目标串从索引中被检索到。因此,通过由优化模块150建立和应用最小相似性度量阈值,需要进行的相似性度量计算的数量可以大幅减小。
另一种可以被优化模块1640采用的优化技术可以是建立最小相似性度量阈值作为用来在索引被创建之后从索引中去除特征到串的映射的参数。例如,可以建立必须被映射以便保证对于给定最小相似性度量阈值将没有遗漏目标串候选的特征数量。一旦已知与最小相似性度量阈值相关联的计算的值,就可以用它来从索引中去除特征到串的映射。同样,尽管以下详细描述用于从索引中去除特征到串映射的示例性方法,但是将理解,这种方法可以应用到可被采用作为以下列出的具体技术的替代的广泛各种不同类型的特征、特征加权模式和相似性度量。
在这里为方便起见重复式子5,并且将在以下被引用作为式子9:
式子9:
其中y=sim(t1,t2),C=I(common(t1,t2)),A=I(F(t1)),并且B=(F(t2))。同样,t1表示源串并且t2是在索引中找到的目标串实例。如上所述,可以检查如在索引中表示的包含特征和串之间映射的目标串,以确定对于给定的最小分值阈值和目标串权重(例如,如由特征加权模块1620建立的)哪些目标特征将不在索引中进行映射。在这点上,特征到串的映射可以从索引中去除,使得只具有已从索引中去除的特征的相应目标串不能作为针对其计算相似性度量的候选目标串返回。在这种方法中,计算式子10中x的最小值,以保证式子9将保持为真(true)。
式子10:
式子10的比率表示以下概念:即,假定A将对于可能接收到的不同源串变化,则能提供的值x的最小值。如果能够计算x的最小值,使得式子9保持为真,则可以确定C的最小值,因为可以在接收任何源串之前为索引中的每个目标串计算B。因此,如果C的最小值是已知的,则对应于不超过C的最小值的目标特征的来自索引的特征可以被删除。
A的最坏可能的值发生在当A=C时(即,当A最大地限制从考虑中去除特征的能力)。这意味着A将向相似性分值贡献其最大所能。利用这种替代并且用式子10中给出的它的值代替B,式子9变为:
式子11:
现在可以根据y求解x,这产生:
式子12:
式子12现在可以用于确定C的最小所需的值,使得y具有任何机会比提供的最小相似性度量阈值大。给定C的计算出的最小值,可以识别能够从索引中删除的目标串(t2)的特征。一种策略是以下降频率次序排序t2的特征。以那种顺序的特征的信息可以被求和,使得该和不超过计算的C的值。相应地,剩余的(并且更能提供信息的)特征被留在索引中,用于在识别的源串和目标串之间的相似性度量的计算中考虑,其基于其中特征已按照前述被去除的修剪的索引。为了概括这种优化操作,w(用于源串的权重参数)的值越小,能从索引中去除的目标特征就越多。类似地,y值越大,能从索引中修剪的特征就越多。
返回到图17,串分析工具实施例1500可以包括用户界面1660。用户界面1660可以包括显示器和/或输入特征,通过其用户可以与串分析工具1500交互。在这点上,前面描述的各种元素通过与用户界面1660的交互可以由用户控制。例如,源串的识别和/或接收可以由用户经用户界面1660提供。此外,诸如最小相似性度量阈值的预定值可以由用户经用户界面1660输入。此外,串相似性输出可以经用户界面1660显示给用户。
在这点上,可以使用包括上述优化技术的前述串分析工具来在运行时以高效和快速的方式执行串分析。在这点上,前述方法可以利用确定性类型和模糊逻辑类型分析两者的好处,因为可以做出确定性类型的决定来在分析中从考虑中删除特征,而也可以执行领域和上下文无关的模糊逻辑类型分析以提供源串和目标串之间的相似性度量。因此,前述的串分析可以用在其中串的相似性分析可能有用的多个上下文中。
图18中描述了示例性串分析方法1670的一种实施例。方法1670可以包括多个目标串的识别1672。如上所述,目标串可以与多个不同的数据类型和/或数据源对应。方法1670还可以包括创建1674目标串的特征表示(例如,如以上相对于特征模块1610描述的)。方法1670还可以包括为目标串编译1676索引。同样,索引可以包括目标特征和包括每个目标特征的目标串之间的映射,如以上关于索引模块1630描述的。
方法1670还可以包括识别1678源串。如上所述,源串可以对应于搜索查询、想要根据目标串进行分析的数据的一部分、或者甚至根据其它目标串分析的目标串。方法160可以包括创建1680源串的特征表示。表示源串的特征可以类似于或不同于目标串的特征。无论如何,方法1670可以包括识别1682与源串有至少一个共同特征的目标串。因此,以与以上关于优化模块1640描述的类似的方式,只有如参考预先编译的索引确定的映射到源串中存在的特征的那些目标串可以被返回。
在方法1670的还有一部分中,可以接收1684最小相似性度量阈值。最小相似性度量阈值可以对应于相对于源串为目标串计算的相似性度量的最小值。即,最小相似性度量阈值可以具有使得具有低于最小相似性度量阈值的目标串甚至不会计算相似性度量的值。因此,方法1670可以包括分析186(例如,源串或目标串的)特征,该特征因为其不能贡献高于最小相似性度量阈值的相似性度量而可以从考虑中去除。例如,可以在分析中使用上述过程或利用其它相似性度量的其它过程来确定哪些特征不能返回高于最小相似性度量阈值的相似性度量。因此,方法1670可以包括只为基于分析1686具有相似性度量超过最小相似性度量阈值的那些目标串计算1688相对于源串的相似性度量。
此外,如将在以下更详细描述的,方法1670可以包括生成1690串相似性输出。串相似性输出可以是用于每个计算的1688目标串的相似性值、一个或多个匹配的目标串、目标串聚类或关于计算的1688相似性度量的其它数据。在这点上,同样如将在以下更详细描述的,方法1670可以包括向无监督机器学习环境或工具提供1692串相似性输出。
其中这种串分析可能有用的一个上下文是搜索的上下文。在这点上,搜索查询可以被接收为源串。可搜索的语料库可以对应于目标串。在这点上,可搜索的语料库的目标串可以以上述方式表示为特征。此外,可以创建包括特征到串的匹配的索引。例如,索引可以在接收搜索查询之前进行编译。
在这点上,前述的串匹配分析可以利用索引结合一种或多种优化技术来执行,以用比传统搜索方法所需要的少得多的时间返回搜索结果。例如,在前面的模糊逻辑方法中,可能需要为每个目标串相对于源串计算相似性度量。但是,利用上述串分析,查询中的选择的特征和/或在索引中映射的目标特征可以在分析中从考虑中删除。因此,当基于源串(搜索查询)从目标串(可搜索语料库)返回搜索结果时,可能只需计算少得多的相似性度量。在这点上,在搜索的上下文中,在搜索中可能返回多个目标串作为结果。例如,可以响应于搜索查询,返回预定上限数量的搜索结果、具有相似性度量高于一些阈值的结果或排序的结果列表(例如,通过下降的相似性度量布置的)。
在另一种实施例中,上述串分析可以用在将源串匹配到目标串的上下文中。在这点上,像在搜索的上下文中一样,在源串和目标串已被表示为特征,并且已编译了特征到串映射的索引之后,可以识别选定的源特征和/或目标特征,用于在计算相似性度量时从考虑中删除,使得不必为每个目标串和源串计算相似性度量。相应地,可以返回一个或多个匹配的目标串作为对源串的匹配。例如,具有相似性度量高于特定阈值的目标串可以被指定为匹配。作为替代,可以返回具有最高相似性度量的目标串作为对源串的匹配。
在还有的另一种实施例中,上述串分析可以用来返回来自目标串中的高度相似的分组或聚类的串。例如,如上所述,多个目标串可以存储或接收为目标内容1520。每个目标串都可以表示为特征。可以为目标串编译包括特征到串映射的索引。
附加地,每个目标串可以具有根据上述相对于其它目标串计算的相似性度量。即,每个目标串可以如上所述在串分析中用作源串。在这点上,目标串中的每个串可以具有相对于目标串中的其它串计算的相似性度量。这个过程可以包括上述优化技术,使得基于根据最小相似性度量阈值从考虑中去除特征,用于任何给定目标串的相似性度量可以只利用其它目标串的一部分来计算。
一旦已经为目标串计算出相似性度量,有关的目标串(即,相对于彼此具有相对相似性度量的串)就可以被聚类。串的聚类可以包括聚类来自目标串中的相对于彼此超过预定阈值的所有串。可以使用任何方法来基于提供的相似性度量聚类目标串。图19中示出了目标串聚类1900的一个这种例子。
可以理解,串分析工具实施例也可以与无监督学习环境结合(例如,在大数据环境的上下文中)。在这点上,串分析工具可以用在无监督机器学习的过程中(例如,以确定源串和目标串之间的匹配),或者在无监督机器学习被应用到数据之前可以使用串分析工具来“清洁”数据(例如,将数据排到聚类中)。相应地,可以单独或与无监督学习过程中的其它技术结合来使用串分析(例如,以“学习”数据语料库中知道得很少或一点都不知道的隐藏结构,以确定源形式和目标形式之间的匹配,等等)。
串匹配到无监督学习的应用
在这点上,如上所述,串分析可以提供对应于匹配、多个搜索结果或串聚类中一个或多个的串相似性输出。串相似性输出然后可以提供给无监督学习环境。无监督学习环境可以包括多个机器学习工具,这些工具用于执行可利用串分析工具或利用串相似性输出作为到无监督学习环境的输入的技术。例如,机器学习技术可以从数据辨别含义、组织数据(例如,组织到分层的类中)、创建或应用关于数据的规则,或其它机器学习技术。
例如,其中可以采用上述技术的一个特定上下文是在遗留数据库操作的领域。即,许多组织都有存储在各种遗留数据库中的信息,例如,包含产品列表和属性的产品数据库。可以理解,遗留数据库可能由不同的实体开发或填充,或者以其它方式包括有关语言学和句法的不同约定。如可以在以下理解的,本文描述的串分析可以在各种机器学习技术中加以利用。可以与本文描述的串分析工具结合使用的机器学习技术的例子包括在美国专利No.7,865,358、美国专利No.7,536,634、美国专利公开No.2009/0281732和2011/0093467中描述的各种技术,每个这些专利都由当前的受让人共同拥有并且其中每个专利都通过引用被结合于此。
在实施例中,无监督的学习环境可以将一个或多个外部知识源应用到串相似性输出。例如,外部知识源可以包括字典、词语词汇表、语法规则、已知的句法、模式(例如,公共或私有)、帧-槽架构、或一些其它外部知识源。例如,可以使用匹配技术来确定外部知识源到串相似性输出的全部或一部分的适用性。
例如,如在结合于此的以上参考中描述的,在一些情况下,可以开发语义元数据模型来促进数据转换。语义元数据模型可以利用上下文相关的规则和术语来提高源形式和目标形式之间的转换准确性。在这点上,语义元数据模型可以采用定义词语或项之间关系的分类法。通常情况下,用于语义元数据模型的分类法必须由具有数据上下文知识的主题专家繁琐地进行创建。
作为对照,在本文描述的一种实施例中,预期可以采用本文描述的串分析工具100来提供能够经历无监督机器学习的输入。例如,图4中示出的聚类200可以根据关于产品数据库的多个文本串利用如上描述的串分析工具100来生成。聚类200可以提供给无监督机器学习环境。在这点上,机器学习环境可以操作成从如图5中示出的聚类中得出分类210。图5中示出的分类210可以包括从聚类中得到的较大分类的一部分,其中为清楚起见聚类的一些部分没有示出。如可以理解的,假定聚类200包括本质上相似的多个串,则在分类210中出现的许多子类可以从聚类200的分析中得出。例如,利用无监督机器学习可以识别聚类200中的每个串对应于用于电池的产品列表,因为“BATTERIES”出现在每个相关串中。进一步的子类可以通过识别聚类串较小子集的公共特征得出。例如,基于串中这个特征或类似特征的出现可以确定多个串处理某种类型的电池“ULTRAVOLT”。因此,可以为Ultra-Volt产品生成类。缺乏这个特征或类似特征的串可以归于分类210中的“REGULAR”子类。聚类200分类的创建可以进一步通过识别串中涉及例如分类210中示出的电池电压、封装类型以及每包电池数量的特征的存在来开发。
特别关注以下事实,即,这个分类210可以从聚类200中得出,而无需关于电池或电池封装的任何上下文知识。即,属于聚类200的串的解析结构可以提供无监督机器学习足够的上下文来开发分类而无需主题专家的介入。在这点上,分类可以应用到多个聚类,以开发描述从中得出聚类200的目标串的较大语料库的单独或集成的分类。
此外,在相对于其它聚类生成附加分类时,无监督机器学习环境可以利用串分析工具100的匹配技术将用其它聚类分类开发的类或子类匹配到基于各个聚类创建的集成的单独分类。
也可以提供在无监督机器学习环境中利用串分析工具环境100的其它方式。例如,将串与用于词语的已知字典条目匹配可以通过利用串分析工具100由机器学习环境来实现。例如,特定的目标串可能包含串“PRNTD CRCT BRD”的多个实例,并且由机器学习环境采用的字典可能包含条目“PRINTED CIRCUIT BOARD”。但是,由于机器学习环境可能不能识别“PRNTD CRCT BRD”是一种形式的“PRINTED CIRCUIT BOARD”(尽管这对人类是显而易见的),因此机器学习环境可能无法识别这些串之间的关系。
但是,可以采用串分析工具实施例100将“PRNTD CRCT BRD”匹配到“PRINTED CIRCUIT BOARD”,使得机器学习环境可以识别这两个串是相关或相同的。在这点上,机器学习工具可以将字典中的每个条目设置为用于输入到串分析工具100中的源串。在执行串分析工具100时,对应于机器学习工具100的字典中的条目的源串与目标串之间的相似性度量可以用来识别相关或相应的形式,即使缺少串之间一对一的标识。
可以预期进一步使用串分析工具实施例100来生成到机器学习环境中的输入或用于在机器学习环境中使用。例如,串分析工具100可以用于相对于一个或多个定义的信息集合来关联或解释外部输入(诸如搜索查询);相对于一个或多个外部文档、文件或其它数据源来关联或解释外部输入;促进系统之间的信息交换;翻译单词、短语或文档;相对于以其它方式不一致或无组织的数据生成或应用公共或私有模式;识别上下文信息;识别数据中的帧/槽架构;生成有效的属性和/或属性值;或可以通过利用如上述的匹配、搜索或聚类被提升或促进的其它机器学习功能。
例如,在实施例中,关于上述索引串匹配过程描述的一个或多个特征可以在用于将源数据从第一形式转换到第二形式的无监督学习环境中利用。例如,第一步,源数据可以经历聚类过程,由此可以在作为整体的源数据中识别一个或多个数据子集。在这点上,源数据的每个部分(作为源串)可以与源数据的每个其它部分(作为目标串)进行比较,使得源数据中相似的数据可以按上述进行分组或聚类。如可以理解的,因为源数据的特征可以先于聚类过程进行索引,因此执行聚类过程所需的竞争资源可以按照上述优化过程被减少。基于来自源数据的数据的聚类子集的相似性,可以假设聚类的数据都属于源数据中同一上下文用法。因此,即使对于具有提供了许多上下文用法的源数据集合,数据的每个聚类的子集也可以被独立地处理,以将数据的每个子集匹配到信息的相应外部部分,用于其上下文相关的转换。
在这点上,一旦源数据被聚类,无监督学习工具就可以相对于从源数据中识别的数据聚类的每个子集采用索引串匹配来执行匹配过程,以确定与数据子集具有相似性的外部数据。在这点上,匹配的外部数据可用于应用到源数据的特定子集,用于在将源数据从第一形式转换到第二形式中使用。例如,在一种实现中,上下文相关的一个或多个公共和/或私有模式可以被设置为目标串,其中包含聚类的源数据的源串可以经索引串匹配过程与目标串进行比较,以根据上述过程生成相似性索引。
因此,选定的公共和/或私有模式可以借助于源数据的子集和选定的模式之间的相似性匹配到源数据。同样,可以理解,该匹配可以在缺少对选定的模式或源数据的上下文的任何参考的情况下执行,使得匹配可以仅基于要在转换中被应用的模式中源数据的特征之间的相似性来执行。反过来,一旦模式已基于索引串匹配被识别用于源数据的应用,该模式就可以如上述关于利用帧-槽架构或解析树结构将源数据从第一形式转换到第二形式的转换加以利用。
注意,与现有无监督机器学习环境形成对照的是,可能不必要识别要被转换的源数据的特定上下文。相反,如上所述,可以利用源数据和外部数据的一个或多个部分的特征之间的相似性来选择要被应用的外部源数据的适当部分。此外,采用索引串匹配的无监督学习过程可以不需要将结构化数据或训练数据在转换过程中作为指导从要被转换的源数据提供给无监督学习工具。相反,可以基于要应用到源数据的外部信息施加仅仅规则或其它转换上下文的来源,使得源数据的上下文可能根本不需要被解析。
在实施例中,上述无监督机器学习过程的任何或全部都可以在本地执行(即,在与数据的拥有者或发起者关联的场所),或者可以提供给云计算环境进行处理。在这点上,例如,上述过程的至少一部分可以以分布式的方式跨多个硬件地点(即,“在云端”)执行。此外,无监督机器学习的至少一部分可以在场所内执行。例如,数据可以在提供给云计算环境用于匹配到在数据转换中使用的外部数据之前,在场所经历本文描述的处理的一部分(例如,作为例子,标准化和/或分类)。一旦匹配环境已经识别了要应用于转换的外部信息的一个或多个合适部分,数据的实际转换就可以在本地或在云计算环境中执行。因此,考虑到与访问用于匹配到源串的大量外部信息相关联的优势,利用大量计算和存储器资源的云计算环境可以在识别用于在转换中使用的匹配的外部信息(例如,公共或私有模式)时提供好处。
虽然在附图和前面描述中已经详细说明并描述了本发明,但是这种说明和描述应当被认为是示例性的,而不是限制性的。例如,上文中描述的某些实施例可以与其它描述的实施例合并和/或以其它方式布置(例如,过程元素可以以其它顺序执行)。相应地,应当理解,只示出和描述了优选的实施例及其变体,并且在本发明主旨内进行的所有变化和修改都期望得到保护。
Claims (20)
1.一种用于在操作将数据从第一形式转换到第二形式的基于计算机的工具中使用的方法,包括:
利用基于计算机的工具,识别要从第一形式转换到第二形式的数据集合,其中所述数据集合是上下文不确定的;
利用基于计算机的工具,访问多个模式,每个模式包括用于在数据的特定上下文中转换数据的一个或多个转换规则,其中所述一个或多个转换规则至少部分地基于所述特定上下文;
利用基于计算机的工具,利用独立于所述数据集合和所述多个模式的上下文执行的索引串匹配,将所述数据集合与所述多个模式的至少一部分进行比较;
利用基于计算机的工具,至少部分地基于所述比较,从所述多个模式中选择选定的模式;
将所述选定的模式的一个或多个转换规则应用到所述数据集合,以将所述数据集合从所述第一形式转换到所述第二形式。
2.如权利要求1所述的方法,其中所述访问包括识别公共模式,所述公共模式包括独立于与所述数据集合相关联的任何实体或实体组的一般适用于主题领域的转换规则,所述公共模式建立用于理解主题领域的至少一部分的结构。
3.如权利要求2所述的方法,其中所述公共模式包括语义对象的接受的公开定义。
4.如权利要求1所述的方法,其中所述访问包括识别私有模式,所述私有模式包括特定于实体或小于公众整体的实体组的转换规则,所述私有模式建立用于理解主题的至少一部分的结构。
5.如权利要求1所述的方法,其中所述索引串匹配包括:
将所述数据集合和所述多个模式的每一个表示为一个或多个特征,其中所述数据集合表示为源特征,并且所述多个模式表示为目标特征;及
编译对应于所述目标特征的索引,其中所述索引包括用于每个目标特征到包含所述目标特征的多个模式中的每个模式的映射;
确定要关于所述数据集合为其计算相似性度量的多个模式的子集,其中所述多个模式的子集包括少于所述多个模式的整体;及
相对于所述多个模式的子集为所述数据集合计算相似性度量,其中所述相似性度量至少部分地基于所述目标特征和源特征之间的共性。
6.如权利要求5所述的方法,其中所述方法还包括:
利用基于计算机的工具,建立源串和目标串之间的最小相似性度量;及
利用基于计算机的工具,至少部分地基于最小相似性度量在确定操作中从考虑中删除源特征,其中删除的源特征对应于所述多个模式的子集的不能超过所述最小相似性度量的目标特征。
7.如权利要求5所述的方法,其中所述方法还包括:
利用基于计算机的工具,建立源串和目标串之间的最小相似性度量;及
利用基于计算机的工具,至少部分地基于最小相似性度量从所述索引中去除至少一个映射,其中去除操作包括确定所述目标特征的能从所述索引中去除的一部分,使得所述索引中只包括与所述多个模式中能够超过所述最小相似性度量的模式对应的目标特征。
8.一种用于在操作将数据从第一形式转换到第二形式的基于计算机的工具中使用的方法,其包括以下步骤:
识别要从所述第一形式转换到所述第二形式的数据集合;
将多个模式中的每个模式表示为一个或多个目标特征;
编译对应于所述多个模式的索引,其中所述索引包括用于每个目标特征到包含所述目标特征的多个模式中的每个模式的映射;
将要被转换的数据集合表示为一个或多个源特征;
访问多个模式,其中每个模式都基于独立于要被转换的特定数据集合的分析的至少一个主题领域的外部知识,所述多个模式中的每个模式包括用于在模式的主题领域的对应上下文中转换数据时使用的一个或多个转换规则;
确定要为其计算相似性度量的多个模式的子集,其中所述多个模式的子集包括少于所述多个模式的整体;
相对于所述多个模式的子集为要被转换的数据集合计算相似性度量,其中所述相似性度量至少部分地基于目标特征和源特征之间的共性;
至少部分地基于所述相似性度量选择所述多个模式的至少一个选定的模式;及
在将数据集合从第一形式转换到第二形式的过程中利用所述至少一个选定的模式所包括的转换规则。
9.如权利要求8所述的方法,其中为其计算相似性度量的所述多个模式的子集至少包括与至少一个源特征一样的一个目标特征。
10.如权利要求9所述的方法,还包括:
给每个特征分配特征权重,其中所述特征的特征权重对应于所述特征对所述相似性度量的贡献的量度,并且其中所述源特征被分配源特征权重,并且所述目标特征被分配目标特征权重,并且其中所述源特征权重与所述目标特征权重不同。
11.如权利要求10所述的方法,其中所述特征权重至少部分地基于所述特征在所述多个模式中的频率,其中具有高于上阈值频率和低于下阈值频率的特征被给予减少的频率权重。
12.如权利要求8所述的方法,其中所述选择步骤在没有参考要被转换的数据的任何特定的主题或上下文或者所述多个模式的主题或上下文的情况下执行。
13.如权利要求8所述的方法,其中所述访问步骤包括识别公共模式,所述公共模式包括独立于与所述数据集合相关联的任何实体或实体组的一般适用于所述主题领域的转换规则,所述公共模式建立用于理解主题领域的至少一部分的结构。
14.如权利要求13所述的方法,其中所述公共模式包括语义对象的接受的公开定义。
15.如权利要求8所述的方法,其中所述访问步骤包括识别私有模式,所述私有模式包括特定于实体或小于公众整体的实体组的转换规则,所述私有模式建立用于理解主题领域的至少一部分的结构。
16.如权利要求1所述的方法,其中所述利用步骤包括根据包括的转换规则执行逻辑来解释要被转换的数据,以便识别要被转换的数据的至少一部分的对象、属性或属性值。
17.如权利要求1所述的方法,其中所述利用步骤包括:
执行所述对象、属性或属性值与由所述第一模式定义的对象、属性或属性值的相应集合的比较。
18.如权利要求17所述的方法,其中所述比较包括利用对应于所述对象、属性或属性值相对于由第一模式定义的对象、属性或属性值的相应集合的相似性度量。
19.一种用于在将上下文不确定数据从第一形式转换到第二形式中使用的系统,包括:
能由基于计算机的串分析工具执行的特征模块,其能够操作以将多个模式中的每个模式表示为多个模式特征;
能由基于计算机的串分析工具执行的索引模块,其能够操作以编译包括映射的索引,其中所述映射将每个模式特征关联到包含所述模式特征的多个模式中的每个模式;
能由基于计算机的串分析工具执行的相似性度量模块,其能够操作以计算要从第一形式转换到第二形式的数据集合之间的相似性度量,其中所述数据集合是上下文不确定的并且所述多个模式中每个选定的部分具有与源串一样的至少一个特征,其中所述相似性度量包括关于所述数据集合和所述多个模式的每个选定部分之间的特征的共性的量化值;
能由基于计算机的串分析工具执行的优化模块,其能够操作以至少部分地基于根据最小相似性度量阈值从考虑中删除特征确定为其计算相似性度量的多个模式的选定部分;及
能够操作以基于所述数据集合和所述多个模式的每个选定部分之间的相似性度量进行选择从而识别至少一个选定的模式的转换模块,其中所述转换模块能够操作以将所述选定的模式的上下文相关的转换规则应用到所述数据集合,以将所述数据集合从第一形式转换到第二形式。
20.如权利要求19所述的系统,其中所述转换模块独立于要被转换的数据集合的上下文操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/596,844 US9070090B2 (en) | 2012-08-28 | 2012-08-28 | Scalable string matching as a component for unsupervised learning in semantic meta-model development |
US13/596,844 | 2012-08-28 | ||
PCT/US2013/047487 WO2014035539A1 (en) | 2012-08-28 | 2013-06-25 | Contextually blind data conversion using indexed string matching |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104718542A true CN104718542A (zh) | 2015-06-17 |
CN104718542B CN104718542B (zh) | 2018-09-07 |
Family
ID=48782634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053552.2A Active CN104718542B (zh) | 2012-08-28 | 2013-06-25 | 利用索引串匹配的上下文盲数据转换 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9070090B2 (zh) |
EP (1) | EP2891075A1 (zh) |
JP (1) | JP6118414B2 (zh) |
CN (1) | CN104718542B (zh) |
WO (1) | WO2014035539A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787386A (zh) * | 2016-03-03 | 2016-07-20 | 南京航空航天大学 | 一种基于pbac模型的云数据库访问控制模型 |
CN108475264A (zh) * | 2016-08-01 | 2018-08-31 | 微软技术许可有限责任公司 | 机器翻译方法和装置 |
CN109165195A (zh) * | 2018-08-01 | 2019-01-08 | 山东省国土测绘院 | 一种测绘成果目录多元转换系统及方法 |
CN109545205A (zh) * | 2017-09-22 | 2019-03-29 | 甲骨文国际公司 | 基于上下文的虚拟助理实现 |
CN112417140A (zh) * | 2020-11-19 | 2021-02-26 | 北京猎户星空科技有限公司 | 文法配置方法、文法匹配方法、装置和计算机设备 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558043B2 (en) * | 2013-01-25 | 2017-01-31 | Cisco Technology Inc. | System and method for abstracting and orchestrating mobile data networks in a network environment |
US9712634B2 (en) | 2013-03-15 | 2017-07-18 | Cisco Technology, Inc. | Orchestrating mobile data networks in a network environment |
US9270709B2 (en) | 2013-07-05 | 2016-02-23 | Cisco Technology, Inc. | Integrated signaling between mobile data networks and enterprise networks |
US10863387B2 (en) | 2013-10-02 | 2020-12-08 | Cisco Technology, Inc. | System and method for orchestrating policy in a mobile environment |
US9414215B2 (en) | 2013-10-04 | 2016-08-09 | Cisco Technology, Inc. | System and method for orchestrating mobile data networks in a machine-to-machine environment |
US9842110B2 (en) * | 2013-12-04 | 2017-12-12 | Rakuten Kobo Inc. | Content based similarity detection |
US9805312B1 (en) * | 2013-12-13 | 2017-10-31 | Google Inc. | Using an integerized representation for large-scale machine learning data |
US10089411B2 (en) * | 2014-01-02 | 2018-10-02 | Neustar Inc. | Method and apparatus and computer readable medium for computing string similarity metric |
US10915233B2 (en) | 2014-09-26 | 2021-02-09 | Oracle International Corporation | Automated entity correlation and classification across heterogeneous datasets |
US10210246B2 (en) * | 2014-09-26 | 2019-02-19 | Oracle International Corporation | Techniques for similarity analysis and data enrichment using knowledge sources |
US10891272B2 (en) | 2014-09-26 | 2021-01-12 | Oracle International Corporation | Declarative language and visualization system for recommended data transformations and repairs |
US10733199B2 (en) | 2014-11-05 | 2020-08-04 | International Business Machines Corporation | Optimizing data conversion using pattern frequency |
US10679144B2 (en) | 2016-07-12 | 2020-06-09 | International Business Machines Corporation | Generating training data for machine learning |
US10650000B2 (en) | 2016-09-15 | 2020-05-12 | Oracle International Corporation | Techniques for relationship discovery between datasets |
US10565222B2 (en) | 2016-09-15 | 2020-02-18 | Oracle International Corporation | Techniques for facilitating the joining of datasets |
US10445062B2 (en) | 2016-09-15 | 2019-10-15 | Oracle International Corporation | Techniques for dataset similarity discovery |
CN107870901B (zh) * | 2016-09-27 | 2023-05-12 | 松下知识产权经营株式会社 | 从翻译源原文生成相似文的方法、记录介质、装置以及系统 |
US10691655B2 (en) | 2016-10-20 | 2020-06-23 | Microsoft Technology Licensing, Llc | Generating tables based upon data extracted from tree-structured documents |
US10248652B1 (en) | 2016-12-09 | 2019-04-02 | Google Llc | Visual writing aid tool for a mobile writing device |
EP3379429A1 (en) * | 2017-03-22 | 2018-09-26 | Siemens Aktiengesellschaft | A method for retrieving a recommendation from a knowledge database of a ticketing system |
US10482128B2 (en) * | 2017-05-15 | 2019-11-19 | Oracle International Corporation | Scalable approach to information-theoretic string similarity using a guaranteed rank threshold |
US10810472B2 (en) | 2017-05-26 | 2020-10-20 | Oracle International Corporation | Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network |
US11562141B2 (en) * | 2017-07-18 | 2023-01-24 | Koninklijke Philips N.V. | Mapping of coded medical vocabularies |
US10885056B2 (en) | 2017-09-29 | 2021-01-05 | Oracle International Corporation | Data standardization techniques |
US10936599B2 (en) | 2017-09-29 | 2021-03-02 | Oracle International Corporation | Adaptive recommendations |
US10691753B2 (en) * | 2018-04-25 | 2020-06-23 | Oracle International Corporation | Memory reduced string similarity analysis |
CN109829004B (zh) | 2018-12-26 | 2022-03-01 | 阿波罗智能技术(北京)有限公司 | 基于无人车的数据处理方法、装置、设备以及存储介质 |
CN110459098B (zh) * | 2019-08-14 | 2021-09-21 | 毕莘教育咨询(深圳)有限公司 | 用于上机编程题相同判定的方法、标识生成方法和系统 |
US11694029B2 (en) | 2019-08-19 | 2023-07-04 | Oracle International Corporation | Neologism classification techniques with trigrams and longest common subsequences |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077011A1 (en) * | 2005-06-13 | 2010-03-25 | Green Edward A | Frame-slot architecture for data conversion |
CN102024046A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 数据重复性校验方法和装置及系统 |
CN102255929A (zh) * | 2010-05-18 | 2011-11-23 | 武汉大学 | 一种顾及上下文的空间信息服务组合语义匹配方法 |
US20120078919A1 (en) * | 2010-09-29 | 2012-03-29 | Fujitsu Limited | Comparison of character strings |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1204515C (zh) | 1997-04-22 | 2005-06-01 | 格雷格·赫瑟林顿 | 自由格式数据处理的方法和设备 |
US8396859B2 (en) | 2000-06-26 | 2013-03-12 | Oracle International Corporation | Subject matter context search engine |
US7865358B2 (en) | 2000-06-26 | 2011-01-04 | Oracle International Corporation | Multi-user functionality for converting data from a first form to a second form |
US7912907B1 (en) * | 2005-10-07 | 2011-03-22 | Symantec Corporation | Spam email detection based on n-grams with feature selection |
US8199985B2 (en) | 2006-03-24 | 2012-06-12 | Exini Diagnostics Aktiebolag | Automatic interpretation of 3-D medicine images of the brain and methods for producing intermediate results |
US8676831B2 (en) * | 2006-03-31 | 2014-03-18 | Sap Ag | Master pattern generation and utilization |
JP2009075791A (ja) * | 2007-09-20 | 2009-04-09 | Toshiba Corp | 機械翻訳を行う装置、方法、プログラムおよびシステム |
US7957906B2 (en) | 2008-05-07 | 2011-06-07 | Pgs Geophysical As | Method for attenuating low frequency noise in a dual-sensor seismic streamer |
US8768960B2 (en) * | 2009-01-20 | 2014-07-01 | Microsoft Corporation | Enhancing keyword advertising using online encyclopedia semantics |
US8775433B2 (en) | 2009-10-16 | 2014-07-08 | Oracle International Corporation | Self-indexing data structure |
US20110106836A1 (en) * | 2009-10-30 | 2011-05-05 | International Business Machines Corporation | Semantic Link Discovery |
-
2012
- 2012-08-28 US US13/596,844 patent/US9070090B2/en active Active
-
2013
- 2013-06-25 CN CN201380053552.2A patent/CN104718542B/zh active Active
- 2013-06-25 WO PCT/US2013/047487 patent/WO2014035539A1/en active Search and Examination
- 2013-06-25 EP EP13735521.0A patent/EP2891075A1/en not_active Ceased
- 2013-06-25 JP JP2015529804A patent/JP6118414B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077011A1 (en) * | 2005-06-13 | 2010-03-25 | Green Edward A | Frame-slot architecture for data conversion |
CN102255929A (zh) * | 2010-05-18 | 2011-11-23 | 武汉大学 | 一种顾及上下文的空间信息服务组合语义匹配方法 |
US20120078919A1 (en) * | 2010-09-29 | 2012-03-29 | Fujitsu Limited | Comparison of character strings |
CN102024046A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 数据重复性校验方法和装置及系统 |
Non-Patent Citations (2)
Title |
---|
CHEN LI ET AL.: "Efficient merging and filtering aigorithms for approximate string searches", 《IEEE INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 * |
NAOAKI OKAZAKI ET AL.: "Simple and Efficient Algorithm for Approximate Dictionary Matching", 《PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON COMPUTATIONAL LINGUISTICS 》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787386A (zh) * | 2016-03-03 | 2016-07-20 | 南京航空航天大学 | 一种基于pbac模型的云数据库访问控制模型 |
CN108475264A (zh) * | 2016-08-01 | 2018-08-31 | 微软技术许可有限责任公司 | 机器翻译方法和装置 |
CN108475264B (zh) * | 2016-08-01 | 2022-03-01 | 微软技术许可有限责任公司 | 机器翻译方法和装置 |
CN109545205A (zh) * | 2017-09-22 | 2019-03-29 | 甲骨文国际公司 | 基于上下文的虚拟助理实现 |
CN109545205B (zh) * | 2017-09-22 | 2023-08-29 | 甲骨文国际公司 | 基于上下文的虚拟助理实现 |
CN109165195A (zh) * | 2018-08-01 | 2019-01-08 | 山东省国土测绘院 | 一种测绘成果目录多元转换系统及方法 |
CN109165195B (zh) * | 2018-08-01 | 2020-12-04 | 山东省国土测绘院 | 一种测绘成果目录多元转换系统及方法 |
CN112417140A (zh) * | 2020-11-19 | 2021-02-26 | 北京猎户星空科技有限公司 | 文法配置方法、文法匹配方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2014035539A1 (en) | 2014-03-06 |
JP2015531499A (ja) | 2015-11-02 |
US20140067728A1 (en) | 2014-03-06 |
JP6118414B2 (ja) | 2017-04-19 |
US9070090B2 (en) | 2015-06-30 |
CN104718542B (zh) | 2018-09-07 |
EP2891075A1 (en) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104718542B (zh) | 利用索引串匹配的上下文盲数据转换 | |
US9201869B2 (en) | Contextually blind data conversion using indexed string matching | |
Tang et al. | Using Bayesian decision for ontology mapping | |
Caldarola et al. | An approach to ontology integration for ontology reuse | |
Lopez et al. | Poweraqua: Fishing the semantic web | |
US8024329B1 (en) | Using inverted indexes for contextual personalized information retrieval | |
Ghosh et al. | A tutorial review on Text Mining Algorithms | |
US7428517B2 (en) | Data integration and knowledge management solution | |
US9037613B2 (en) | Self-learning data lenses for conversion of information from a source form to a target form | |
US20110093467A1 (en) | Self-indexing data structure | |
KR20090010185A (ko) | 싱글 및 멀티플 택소노미 관리 방법 및 시스템 | |
CN102214232A (zh) | 一种文本数据相似度的计算方法及装置 | |
CN103425740B (zh) | 一种面向物联网的基于语义聚类的物资信息检索方法 | |
Caldarola et al. | A multi-strategy approach for ontology reuse through matching and integration techniques | |
Vavpetič et al. | Semantic data mining of financial news articles | |
CN113127650A (zh) | 一种基于图数据库的技术图谱构建方法和系统 | |
CN106055702A (zh) | 一种面向互联网的数据服务统一描述方法 | |
Spasic et al. | MaSTerClass: a case-based reasoning system for the classification of biomedical terms | |
CN114860852A (zh) | 一种面向军事领域的知识图谱构建方法 | |
Palumbo et al. | STEM: Stacked threshold-based entity matching for knowledge base generation | |
CN118394954B (zh) | 一种生物医学数据集标准数据元的知识图谱构建方法及系统 | |
Chua et al. | Techniques for discovering correspondences between ontologies | |
Hubain et al. | Automated SKOS vocabulary design for the biopharmaceutical industry | |
Liu et al. | Information Integration | |
Mathew et al. | Case-based reasoning for data warehouse schema design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |