CN111316296B - 学习层级提取模型的结构 - Google Patents
学习层级提取模型的结构 Download PDFInfo
- Publication number
- CN111316296B CN111316296B CN201880068931.1A CN201880068931A CN111316296B CN 111316296 B CN111316296 B CN 111316296B CN 201880068931 A CN201880068931 A CN 201880068931A CN 111316296 B CN111316296 B CN 111316296B
- Authority
- CN
- China
- Prior art keywords
- state machine
- concept
- tag
- state
- sub
- 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.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 40
- 230000007704 transition Effects 0.000 claims abstract description 186
- 238000009826 distribution Methods 0.000 claims abstract description 64
- 238000012549 training Methods 0.000 claims abstract description 57
- 125000002015 acyclic group Chemical group 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 62
- 239000002131 composite material Substances 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003255 drug test Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229930013356 epothilone Natural products 0.000 description 1
- 150000003883 epothilone derivatives Chemical class 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于标签层级的层级提取模型可以由加权的层级状态机来实现,该层级状态机的结构和/或权重部分地由从训练数据中确定的标签序列的统计分布来确定。根据各种实施例,层级状态机包括表示标签序列的至少一个子集的一个或多个非循环有向状态链,以及至少部分地基于统计分布而被加权的转变。
Description
背景技术
在“信息时代”中可用的大量数字信息已促使计算机技术领域中的诸多研究致力于寻找从数据尤其是文本或其他人类语言输入中辨别含义的自动化方法。该领域中的一个重要类别的问题涉及根据标识给定语义域中的概念和子概念的标签层级来标记令牌序列,诸如文本文档中的单词序列;该过程在本文中也被称为“层级提取”,并且从令牌序列到对该序列的标签分配上的映射(在数学意义上)被称为“层级提取模型”。可以在标签层级中被捕获的概念的示例包括但不限于:地址(具有子概念,诸如街道、城市、州和邮编)、日期和时间(具有子概念,诸如一周中的天、一月中的天、月、年等)、以及名称(例如,个人名称,包括诸如名字、中间名缩写和姓氏的子概念;或公司名称,包括诸如地理区域或法人的标志符的子概念)。层级可以被认为是具有无儿的叶节点和非叶节点的树结构,非叶节点是其他节点的父节点。
给定特定的标签层级,在一种方法中,可以使用层级状态机(一种有限状态机的类型)来实现层级提取模型,该层级状态机将标记过程建模为令牌序列的“状态”之间的“转变”,并且在“子概念状态机”的嵌套中反映标签层级中的层级关系,该子概念状态机表示层级的不同级别处的各种概念和子概念。通常可以沿着不同的路径遍历层级状态机,这些不同的路径对应于标记令牌序列的不同可能方式。对于特定长度的给定令牌序列,可以基于令牌的特征对状态之间的转变进行加权,这允许将整体权重分配给特定长度的各种路径,并搜索最高权重的路径,从而确定针对令牌序列的一个唯一标记。在加权中被使用的令牌特征的函数在本文中也被称为“权重函数”,其可以包括参数,这些参数可以被调整以调节作为层级提取模型的层级状态机的性能;这些参数通常由被应用于至少部分地标记的训练数据的机器学习来确定。原则上,层级状态机的结构可以是手工编码的,但是这可能费时且枯燥,并且对于状态机的性能取决于编码方对数据的理解以及对要施加哪些结构约束的见解。备选地,可以从“默认子概念状态机”集合中自动(即,无需人工输入)构造该结构,该“默认子概念状态机”集合以通用的、与层级无关的方式对诸如个体令牌的标记之类的标记过程内被显式定义的步骤进行建模。取决于该默认状态机集合的复杂性,从中所构建的层级状态机可能受到过于简单的影响,例如,因为它们无法捕获数据中所固有的依赖性,或者在频谱的另一端,由于过度的复杂性,其带来较高的计算成本,从而可能无法传达相称的收益。因此,用以创建用于层级提取的层级状态机的改进方法是期望的。
发明内容
提供本发明内容部分以简化的形式介绍实施例的各方面,并在以下详细描述中进一步解释实施例。本发明内容部分不旨在标识所要求保护的主题的必要或必需特征,并且本发明内容部分中列出的元素的特定组合和顺序不旨在提供对所要求保护的主题的元素的限制。
本公开涉及实现层级提取模型的层级状态机,并且描述了一种从标记的训练数据或更具体地从关于在训练数据中出现的标签序列的统计中学习层级状态机的结构的方法。训练数据通常包括根据给定标签层级进行标记的令牌的一个或多个序列,并且其关联标签与指定的标签序列相匹配的连续令牌的任何子序列(忽略不适合层级内任何标签的令牌)构成该标签序列在数据中的出现。在一些实施例中,定义的标签序列集合的统计分布对应于属于该集合的所有相应标签序列在数据中的出现次数,该统计分布被用来生成表示标签序列集合的该层级状态机的一部分并且例如在加权转变时反映该统计分布。
在一个示例实施例中,为了易于参考,在下文中也被称为“频繁长度编码”的标签序列集合是某个指定叶节点标签的一个或多个重复的序列集合(例如,对于标签“a”,序列“a”、“aa”、“aaa”等)。在频繁长度编码的情况下,统计分布是集合内的序列长度的分布,该序列长度由被分配了指定标签(且属于由该标签标识的概念的相同实例)的连续令牌的数目来测量。(该分布可以被截断以将等于或超过指定最大跟踪长度的所有长度归并在一起。)在另一示例实施例中,为了易于参考,在下文中也被称为“频繁序列编码”的标签集合是标签排列集合(重复或不重复),其是标签层级中相同父标签(对应于非叶节点)的儿代。在这种情况下,统计分布可以测量至少最频繁出现的儿标签序列的(相对)出现次数(可能将其他不那么频繁的(或不)出现的序列归并在一起)。由于在这些示例实施例中,标签序列与某个语义概念或子概念一致,诸如与由指定标签标识的概念或由标签序列中的标签的共用父标签所标识的概念一致,因此,表示标签序列集合的状态机的对应部分是子概念状态机。
在子概念状态机(或表示标签序列集合的状态机的其他部分)内,标签序列或标签序列中的至少较频繁的标签序列的子集可以由一个或多个非循环有向状态链来表示,其中“有向状态链”标示状态集合,这些状态集合通过全部在相同方向上沿着从链内的第一个状态到链内的最后一个状态的路径行进的转变而链接在一起成为链,并且其中“非循环”指示——与常规的默认子概念状态机相反——不存在从链中的后续状态返回到先前状态的转变。(术语“非循环”无意排除将状态链接回自身上的转变的可能性。)链中的状态可以是简单状态或复合状态,“复合状态”是子概念状态机的表示并且可被该子概念状态机替代,并且“简单状态”是非复合状态的任何状态。根据各种实施例,表示对个体令牌进行标记的转变在本文中被称为“消耗令牌的(token-consuming)”转变,其可以仅连接两个简单状态,而非消耗令牌的转变也被称为“艾普西龙(epsilon)”转变,其可以在简单状态和复合状态两者之间形成连接。
在对指定叶节点标签的序列集合进行频繁长度编码的情况下,子概念状态机可以通过由消耗令牌的转变而连接的单个非循环有向状态链来表示该集合的所有序列(对应于用叶节点标签标记相应令牌,并且数目等于最大跟踪长度或基于统计分布而选择的较小的最大长度),其中艾普西龙转变将链中的各个状态直接连接到子概念状态机的结束状态。在频繁序列编码中,用于给定非叶节点标签的儿标签序列集合的子概念状态机可以通过分开的复合状态的相应非循环有向链来表示(多个)最频繁儿标签序列,并针对所有其他可能的儿标签序列提供通过子概念状态机的并行备选(或“默认”)(子)路径。无论子概念状态机的结构如何,相应标签序列集合的统计分布都可以被反映在不同的权重函数(例如,可调整参数的值不同)中,这些权重函数被分配给沿着与各种标签序列相对应的不同子路径的转变。例如,在频繁长度编码中,可以基于通过状态机的得到的子路径的长度,对从链中的状态到结束状态的艾普西龙转变进行分组,以在高频标签序列群组和低频标签序列群组之间进行区分,其中不同的权重函数被分配给不同的相应群组。在频繁序列编码中,可以与到默认路径的转变不同地加权去往或来自表示(多个)频繁儿标签序列的(多个)链的转变。
可以利用由计算系统的(多个)硬件处理器执行的软件来将用于生成用以实现层级提取模型的层级状态机的结构的上述方法自动化。根据一些实施例,可以将实现提取模型生成器的软件工具集成到用于构建、训练和测试层级状态机的更大平台中,该更大平台例如还可以包括:用于从训练数据中得出标签序列的某些定义集合的统计分布的统计组件;可以使用机器学习来计算权重函数的可调整参数和/或允许针对其作为权重函数变量的适用性而可交互地测试令牌特征的训练组件;以及用于确定通过与令牌序列对齐的加权状态机的最高权重路径的搜索组件,例如以有利于对测试序列进行标记。该平台还可以允许将(经训练的或未经训练的)层级状态机的结构导出到例如文本或图像文件,该文本或图像文件允许人类开发人员查看和研究状态机的结构,例如出于调试的目的,或者可以将其作为输入提供给进一步利用状态机的单独的软件工具(其中,文本文件可以帮助避免向后兼容性问题,向后兼容性问题有时在层级状态机被存储到二进制文件时可能会发生)。
有益地,在不向状态机添加不必要的复杂性的情况下,根据本公开的利用训练数据中的统计,诸如针对叶节点标签序列的长度分布或各种非叶节点儿标签序列的分布,允许层级状态机直接编码数据中重要的长期依赖性。
附图说明
特别地,当结合附图时,根据各种实施例的以下详细描述,将更容易理解前述内容。
图1A示出了示例令牌序列。
图1B描绘了用于示例标签层级的树结构。
图1C示出根据图1B的标签层级而被标记的图1A的示例令牌序列。
图2A是用于标签层级中的叶节点的示例状态机的示图。
图2B是用于标签层级中的非叶节点的示例状态机的示图。
图2C是使用图2A的示例状态机扩展的图2B的示例状态机的示图。
图2D是从图2A和图2B的叶节点和非叶节点状态机构造的示例层级状态机的示图。
图3A是用于地址提取的扩展的层级状态机的示图。
图3B是格状结构的示图,其中图3A的扩展的层级状态机与三令牌文档对齐。
图4A是示例非叶节点状态机的示图,该示例非叶节点状态机包括用于全部都转变为共用状态的多个相应儿状态机的多个并行路径。
图4B是包括多个儿状态机之间的成对转变的示例非叶节点状态机的示图。
图5A是根据各种实施例的用于对被标记的分段的长度的统计分布进行编码的示例叶节点状态机的结构的示图。
图5B是根据一个实施例的针对“街道”标签的图5A的状态机的示例实现的示图。
图6A是根据各种实施例的用于对给定的非叶节点父标签的儿标签的唯一序列的统计分布进行编码的示例非叶节点状态机的结构的示图。
图6B是根据一个实施例的针对“地址”层级的图6A的状态机的示例实现的示图。
图7A是根据一个实施例的示例状态机的示图,该示例状态机包括用于儿标签的频繁序列的两个链。
图7B是根据一个实施例的使用图2A的示例状态机扩展的图7A的示例状态机的示图。
图7C是根据一个实施例的结构的示图,其中图7B的状态机与三令牌序列对齐。
图8是根据各种实施例的用于实现用于给定标签层级的层级提取模型的方法的流程图。
图9是根据各种实施例的用于实现用于给定标签层级的层级提取模型的示例系统的框图。
图10是以计算机系统的示例形式的机器的框图,在该机器内可以执行指令以使该机器执行本文所讨论的方法中的任何一个或多个方法。
具体实施方式
为了说明的目的,参考针对地址的简单示例标签层级,在下文中描述了用于生成实现用于标签层级的层级提取模型的层级状态机的方法、系统和软件(被存储在一个或多个计算机可读介质上)的各种实施例。鉴于本公开的益处,对于本领域普通技术人员而言显而易见的是,如何将本公开中讨论的原理应用于其他(包括更复杂的)标签层级以及除人类语言文本之外的数据。总体上,本文讨论的方法适用于适于以某种类型的顺序统计为特征的层级标记的任何类型的数据。这样的数据可以包括,例如但不限于,文本文档或其他符号序列(例如,乐谱,其中可以标记谱的不同部分)、语音或其他声音记录(例如,可以被计算系统分析以确定其含义的语音命令)、数字数据流(其可以被标记,例如以确定数据中的层级模式)和图像数据序列(例如视频,其可以被标记以标识某些分段)。
参考图1A-图1C,为了提供层级提取的简单示例,图示了对文本文档中出现的地址的标记(即,由单词、数字和标点符号组成的令牌序列)。图1A示出了与文本文档的摘录相对应的示例令牌跨度(或“令牌子序列”)100。图1B以树结构的形式图示了简单的两级别标签层级110,其包括针对“地址”标签的根(非叶)节点114,以及作为“地址”节点的儿代的分别针对“街道”、“城市”、“州”和“邮编”的四个叶节点116、117、118、119。根据标签层级110的地址提取模型可以引起图1C中所描绘的向令牌跨度100的标签分配。在本文中,令牌跨度120“6552博尔萨大道,套房H,亨廷顿海滩,CA 92647”被标记为地址,其中针对街道、城市、州和邮编的儿标签被分配给(子)跨度122(“6552博尔萨大道,套房H”)、124(“亨廷顿海滩”)、126(“CA”)、128(“92647”)。如可以看出的,叶节点标签可以各自跨度子序列100中的一个或多个令牌。注意,在此实施例中,“亨廷顿海滩”和“CA”之间的逗号被标记为地址的一部分,但不被标记为层级中的四个儿标签中的任何一个。在备选实施例中,可以将另一叶节点作为“地址”节点114的子代添加到树结构110,以捕获该地址之下因为未落入在其他四个叶节点标签中的任何一个内而被认为是“垃圾”的所有令牌。进一步注意,跨度“奥兰治县药物测试”被隐式地标记为“不是地址”(由于未被标记为“地址”)。
对于由标签节点集合组成的标签层级{h1,...,hz},层级提取模型将令牌序列D={t1,...,tm}映射到对序列的标签分配上,该标签分配针对每个令牌指定将哪些标签节点hj应用于令牌(其中处于父子关系的多个标签可以应用于相同令牌)。标签分配还可以考虑令牌的两个相邻分段之间的“分段切割”,令牌的两个相邻分段具有相同的关联标签但属于该标签所标识的概念的不同实例。标签分配可以例如由令牌标签向量O={o1,...,om}以及转变标签向量R={r1,...,rm+1}来在形式上进行表示,该令牌标签向量的元素oi={oi1,...,oiz}是二进制向量,该二进制向量针对标签层级中的每个节点hj,指示该标签是否应用于令牌ti(或者换言之,令牌ti是否被包含在具有该标签的分段内),该转变标签向量的元素ri={ri,1,...,ri,z}是二进制向量,该二进制向量针对每对相邻令牌(ti-1,ti),指示其是否被包含在具有该标签的相同分段内。用这种表示法,层级提取模型M是从令牌序列到令牌标签和转变标签向量的映射:反映标签层级的层级状态机可以在以下意义上实现层级提取模型M:正好包括m个消耗令牌的转变的、通过状态机的每条路径规定了对应于特定映射M的对令牌序列的特定标签分配(例如,产生标签向量{O,R})。
参考图2A-图2D,用于图1A的标签层级110的常规示例状态机的构造被图示出。通常,构造状态机涉及为标签层级中的每个节点hj递归地定义一个或多个子概念有限状态机{Mj},该一个或多个子概念有限状态机用来自根在hj处的子层级的标签来注释令牌序列。然后,这些子概念状态机被组合以定义层级状态机。
图2A示出了示例标准状态机200,其可以被用于标签层级中的任何叶节点。叶节点状态机200由四个简单状态202、204、206、208(包括开始状态202和结束状态208)以及它们之间的转变210、212、214、216组成。通常,状态机中的每个转变是消耗令牌的转变或是艾普西龙转变,消耗令牌的转变意味着其标记当前令牌,并且然后前进到序列中的下一令牌。消耗令牌的转变在本文中用实线标示,并且艾普西龙转变用虚线标示。返回到图2A的描述,叶节点状态机200仅包括从状态A(204)到状态B(206)的一个消耗令牌的转变212。为了允许在相同标签下的多个令牌,艾普西龙转变214从状态B(206)回到状态A(204)。(注意,通过使状态机200处于结束状态208,并(经由状态机外部的艾普西龙转变)立即返回到开始状态202,相同的标签可以被应用于属于不同分段的相邻令牌。)例如,如果针对图1A-图1B的示例中的标签“街道”使用该叶节点状态机200并且如果当前令牌索引为5(“6552”),则路径
开始→A→B→A→B→A→B→A→B→A→B→A→B→结束
将把令牌5到10标记为“街道”,使得当状态机到达结束状态208时处于令牌索引11处。注意,由于包含了艾普西龙转变214,因此该状态机“接受”任意长度的街道,这意味着对于任何k,都存在由从开始状态202到结束状态208的k个消耗令牌的转变组成的路径。相反,如果从状态B(206)到状态A(204)的转变214被移除,则状态机200将仅用单个令牌标记街道。重要的是,层级状态机中的叶节点状态机的结构可能受到以下约束:从叶节点状态机的开始状态到结束状态的每条路径都要经过至少一个消耗令牌的转变,并且叶节点状态机不包含仅包含艾普西龙转变的非有向循环(这将允许标签处理在给定的令牌索引处“卡住”)。
图2B示出了用于标签层级110中的非叶节点的示例状态机220。用于非叶节点的状态机通常包括表示儿状态机的特殊复合状态(在本文中由矩形指示,以区别于被描绘为椭圆的简单状态),其中每个复合状态正好具有一个传入转变和一个传出转变,分别对应于使子分段开始和结束。示例状态机220表示“地址”非叶节点114,并且包括分别针对儿节点116(“街道”)、117(“城市”)、118(“州”)、119(“邮编”)的四个复合状态222、224、226、228。这些复合状态机222、224、226、228的传入转变230源自于共用状态R(232),并且传出转变234结束于共用目的地状态S(236);状态R和S又分别连接到开始状态238和结束状态240。从状态S(236)回到状态R(232)的艾普西龙转变242允许状态机220在标记地址的各部分时经过复合状态机222、224、226、228的序列。此外,从状态S(236)到状态R(232)的单个消耗令牌的转变244允许令牌被标记为地址,而无需分配“地址”的儿节点标签。用于非叶节点的状态机的结构可以受到以下约束:从开始状态(例如,状态238)到结束状态(例如,状态240)的每条路径都经过以下中的至少一项:(1)消耗令牌的边缘或(2)复合状态。直观地,此约束意味着到达用于标签hj的状态机{Mj}的开始状态的任何路径都用标签hj标记了包括至少一个令牌的分段。非叶节点状态机还可以被约束为在其结构中包括在状态之间的未经过复合状态的艾普西龙转变的非有向循环。(经过复合状态的艾普西龙边缘的有向循环是允许的,因为通过复合状态的任何路径都将包含消耗令牌的转变。)
通过用每个复合状态所表示的儿状态机将每个复合状态递归地替换,可以将非叶节点状态机扩展为仅包括简单状态及其间的转变的“正常”状态机。图2C提供了针对用于“地址”的非叶节点状态机220的这种扩展的状态机245的示例,其针对所有复合状态使用叶节点状态机200的结构。
图2D示出了用于对文档整体进行标记的示例层级状态机250。该文档级别状态机250可以转变为与标签层级的根相对应的复合状态252,在上面的示例中,标签层级的根是“地址”节点114。在文档级别状态机250中的消耗令牌的转变254是针对“地址”标签的复合状态252之外的转变,其对应于将令牌隐式地标记为“非地址”(例如,如由元素均为零的令牌标签向量所表示的)。注意,为了基于互斥的多个标签层级(例如,用于地址和电话号码的标签层级)对文档进行标记,可以将用于两个标签层级的状态机都包括在文档级别状态机中。为了简单和清楚起见,本公开中图示出的示例仅包括单个层级。
如前所指示,通过状态机的路径对应于对令牌序列的特定标记。为了更形式地陈述这种关系,给定包含m个令牌的文档,令标示通过层级状态机的任何路径,该路径从文档级别开始节点处开始,正好遍历m个消耗令牌的边缘,并在文档级别结束节点处结束;可以被称为文档的“解析”。此外,对于子概念状态机M,令h(M)标示与M相对应的标签层级节点,并且令h0标示与文档级别状态机相对应的隐式标签节点。如果h(Md)是标签层级中的h(M)的后代(例如,儿代、孙代等),则状态机Md被称为状态机M的“后代”。在地址示例中,“地址”状态机是“文档”状态机的后代,并且“街道”、“城市”、“州”和“邮编”状态机都是“地址”机和“文档”机二者的后代。
令πi标示从解析π开始的第i个消耗令牌的转变,并令M(πi)标示包含该转变的子概念状态机。在地址示例中,使用图2C和图2D的状态标签,对应于针对图1A的令牌跨度100的层级提取的文档的解析为:
在这里,在每个消耗令牌的转变πi上方,示出了正被消耗的令牌,并在括号中紧跟着标签层级节点h(M(πi))。令πi,k标示π的子路径,其以πi开头,在其消耗令牌i到令牌k时跟着π,然后以πk结束。在上面的示例解析中,π5,7是消耗令牌“6552”、“博尔萨”和“大道”的子路径:
如果πi,k中的每个转变都被包含在M或M的后代内,则将子路径πi,k称为在子概念状态机M“之下”。因此,例如,π5,7在“地址”状态机和“街道”状态机之下,而π4,7仅在“文档”状态机之下。直观地,当跟随通过状态机的路径时,每当路径经过消耗令牌的转变时,当前令牌就被标记有与当前子状态机相对应的层级节点,以及隐式地由于来自层级的“一部分”而被标记有所有祖先节点。
为了在正好具有m个消耗令牌的转变的通过文档级别状态机的一般多个路径之间进行区分,并且例如为了确定用于对文档进行标记的唯一路径(或评估各种路径产生正确标签分配的概率),可以对状态机进行加权。更具体地,在加权的层级状态机中,用依赖于令牌的各种特征的权重函数来注释转变;给定这些权重,搜索算法可以被应用来标识针对文档的最高权重解析。可以使用机器学习算法从训练数据中学习权重函数本身。
作为评估针对给定令牌序列的权重函数并最终标记令牌的先决条件,将状态机的消耗令牌的转变与令牌对齐,从而使消耗令牌的转变是特定于索引的。禁止在任何子概念状态机内的艾普西龙边缘的有向循环,并结合通过用其表示的状态机将复合状态递归地替换来将非叶节点状态机扩展为“正常”状态机的能力,有利于通过将文档中的令牌上的状态机“展开”到非循环图中来实现这种对齐。因为没有艾普西龙转变的有向循环,所以两个消耗令牌的边缘之间的艾普西龙转变的任何路径都必须是有限的。结果,可以将消耗令牌的边缘与文档中的令牌进行特定于索引的对齐,并且可以在每对令牌之间复制连接令牌的艾普西龙转变的有限图。
图3A和图3B图示了状态机与令牌序列的对齐。图3A中所示的是用于地址提取的状态机300的扩展视图,其被简化为在地址标签之下的层级级别处仅在街道分段和非街道分段之间进行区分。在该图中,针对文档级别状态机的“地址”状态机和“街道”状态机的开始状态302、304、306分别被标记为“SD”、“SA”和“SS”。类似地,结束状态308、310、312被标记为“ED”、“EA”和“ES”。简化的状态机300包括三个消耗令牌的转变314(A→B)、316(R→S)、318(W→X),以用于分别将令牌标记为“地址”以及“街道”、仅“地址”和“非地址”。
图3B示出了针对三令牌文档而展开以形成格状结构320的状态机300。如可以看出的,在格状结构320中,三个消耗令牌的边缘314、316、318中的每一个与状态机300的三个相应副本中的三个令牌T1、T2、T3中的每一个对齐。从开始状态到结束状态的有向路径内的艾普西龙转变322被包括在与单个令牌对齐的状态之间,而返回到先前状态的艾普西龙转变324被包括在与两个相邻令牌对齐的状态对之间。通过该视图,文档的解析对应于格状结构320中从令牌T1之前的SD状态326到令牌T3之后的ED状态328的有向路径。
返回到加权的讨论,假设文档中的每个令牌具有标量值的令牌特征的固定维度向量。令牌特征的示例包括令牌的数据类型(例如,令牌是单词、数字还是标点符号)以及令牌的语法分类或者针对其的概率(例如,令牌是否是动词)。给定每个令牌的这种特征向量,可以将特定于上下文的权重函数分配给层级状态机中的一些或所有转变。然后,对于任何给定文档,所展开的格状结构包括加权的转变,并且搜索算法可以被应用来标识最高权重路径。为此目的通常使用公知的维特比(Viterbi)算法,但是本领域普通技术人员可以想到其他合适的算法。路径的权重可以被定义为路径中的转变权重的和或积。简单地通过对转变权重取对数(取幂)并且然后对结果取幂(取对数),计算和(积)的算法可以被用来计算积(和)。可以使用等于常数零(在和的情况下)或常数一(在积的情况下)的权重函数来实现未加权的转变,在这种情况下,转变对路径权重没有任何贡献。
权重函数通常可以是令牌特征的任何函数。通常,用线性权重函数对转变进行加权,该线性权重函数依赖于与相应的转变对齐的令牌的某个固定窗口内的一个或多个令牌特征。例如,假设每个令牌t具有d个标量值的特征值F1t...Fdt,并且针对每个转变使用加上或减去t个令牌的窗口。(窗口不需要围绕令牌对称,并且不需要针对每个转变是相同的。)然后,针对状态机中与文档中的令牌t相对应的第e个转变(或“边缘”)的权重函数Wet可以是被表达为:
其中Ce和θip标示可以从数据中被学习的可调整参数。为了提供特定示例,考虑图3B的示例中的令牌T1和T2之间的转变X→W,并且假设每个令牌具有两个特征,并且使用窗口尺寸为一。假设边缘在状态机内具有索引e,并且因为下一令牌为2,所以针对此转变的权重函数为:
注意,每个权重函数都具有1+(2p+1)d个参数:单个常数Ce,以及针对每个特征/窗口偏移组合的参数θip。并非状态机中的所有转变都需要被加权,并且加权的转变可以共享权重函数以及参数值。因此,对于相同的状态机,要被学习的参数数目可能会显著不同。跨转变来共享权重函数和/或参数可以用来减少对权重进行训练的计算代价。
给定层级状态机的结构,可以使用机器学习中的标准方法从训练数据中学习用于转变的权重函数。例如,在有监督的学习场景中,N个被标记的文档的集合和损失函数F被用来测量状态机所获取的标签预测与被标记数据匹配得如何。然后,目标是标识在训练数据上产生最低损失的参数值。更具体地,如本领域普通技术人员已知的,可以将状态机应用于训练数据中的令牌序列,以确定预测标签,其与实际标签的差异度用损失函数来进行量化。权重函数的参数可以被迭代地调整以最小化损失函数。损失函数可以具有内建的正则化,以防止过度拟合训练数据。
在一些实施例中,由状态机获取的预测是概率性的,这意味着其不仅仅标识文档的最高权重解析(即,通过状态机的正好具有m个消耗令牌的转变的最高权重路径,其中m是文档的长度),而且其还可以向任何给定的解析分配概率值。存在用于将路径权重变换为概率的不同模型,其中一种普遍的模型是条件随机字段(CRF),其将解析的概率建模为与转变权重的积成比例的值。存在高效的算法以用于在例如将对数损失函数与CRF结合使用时优化权重函数的参数。CRF方法的益处还在于,其允许可以被使用的训练数据类型的极大的灵活性。对于任何训练示例(即,训练数据中的任何文档Dl和关联的标签{Ol,Rl}),在不影响训练算法找到全局最优解的能力的情况下,针对原子值的任何子集,标签可以是未指定的或缺失的。例如,训练示例可以指定令牌5是地址,令牌10和11不是相同街道的一部分,而没有别的。作为另一示例,该方法可以使用训练数据,其中每个文档的标签都被限制在层级中的单个标签节点上;可以从文档中学习用于整个层级的层级提取器模型,其中每个文档被标记有针对层级中的单个节点的“入”和“出”序列。此外,利用CRF,很容易在转变之间共享权重函数(下面关于图5A-图6B给出了这种共享的示例。在较高级别处,CRF能够关于训练集中每个被至少部分地标记的文档而高效地计算对数损失函数的导数。因为对数损失是凸的,所以遵循其梯度至局部最小值产生全局最优。使用Hessian的二阶方法可以被用来加速收敛。
为了针对给定标签层级创建层级提取模型,可以手动指定状态机的结构和与转变相关联的参数化权重函数。作为人对状态机进行手工编码的备选方法,也可以从用于各种类型节点的默认状态机集合中自动构造状态机。“默认状态机”在本文中被理解为其结构是静态的状态机,因为其不依赖于标签层级并且不依赖于任何数据而被定义。举例来说,例如利用依赖于某个固定尺寸(并且可能是可调节的)的窗口的用于转变212、216(A→B和B→A)的权重函数,标签层级中的每个叶节点可以例如由图2A中所示的默认状态机来表示。图2C示出了被应用于地址标签层级中的四个叶节点116、117、118、119中的每一个上的该通用结构。此外,每个非叶节点可以例如由图4A中描绘的默认状态机400表示,以及图2B图示了将该通用结构应用于地址节点114。
注意,状态机200、400没有对标签的长度或标签可以出现的次序的任何约束进行结构地编码,也没有在可能的序列和不可能的序列之间进行区分。叶节点状态机200例如允许在标签之下的任意数目的令牌,在所有消耗令牌的转变之后根据相同权重函数计算退出状态机200的概率。类似地,其中所有儿状态机(即,复合状态402)都转变到单个状态404的非叶节点状态机400没有以任何方式编码诸如“儿2永远不在儿4之后出现”的约束。因此,两个状态机200、400仅依赖特征值来对这些约束进行编码。为了利用权重函数本身(而不是其基于令牌特征所评估的数目)在非叶节点状态机内的不同子序列之间进行区分,可以将状态机400修改为包括儿状态机之间的分开的加权成对转变,如在图4B中针对状态机450所示的。给定包括用于层级中的一个或多个节点的多个候选默认状态机(例如,用于非叶节点状态机的状态机400、450)在内的默认子概念状态机集合,可以通过在默认子概念状态机的组合上进行枚举、训练得到的文档级别状态机、并且然后测量其工作地如何来构建层级提取模型。然而,如将容易理解的,这种方法在计算上是昂贵的,并且被设计为对长期依赖性进行编码的状态机将变得非常复杂。回到由人对状态机进行手工编码以优化其结构是很枯燥的,并且在任何情况下,人都可能不知道什么是要包括的最佳约束。
根据各种实施例,状态机被构造为通过其结构和权重函数对从训练数据确定的顺序统计进行编码。更具体地,这些状态机包括子概念状态机,子概念状态机包括简单或复合状态的一个或多个非循环有向链,其表示在数据中找到的指定标签序列,诸如例如单个标签的多次重复的序列(与具有相同标签的多个令牌的分段相对应),或层级中的共用父标签的儿标签的序列。可以基于在数据中找到的标签序列的统计分布来加权这些子概念状态机内的转变。例如,针对较频繁的标签序列的链和针对较不频繁的标签序列的链可以被分开加权,从而即使在缺乏不同特征值的情况下,也允许频繁的标签序列接收到较高的权重。图5A-图6B图示了根据这些实施例的状态机的两个示例。
图5A示出了根据一个实施例的示例叶节点状态机500的结构,其可以对由指定叶节点标签所标记的分段的长度(或者简称为指定标签的长度)的统计分布进行编码,分段的长度被测量为令牌序列内形成被标记分段的连续令牌的数目。对于任何给定的叶节点,可以根据训练数据构建指定标签的长度的直方图(或统计分布)。例如,“街道”标签可以具有以下分布:
在本文中,将包括七个或更多个令牌的所有“街道”分段聚集在单个类别中;在此意义上,七是针对被标记为“街道”的分段的最大跟踪长度。状态机500被构造为使得其可以学习偏好更频繁的长度。
叶节点状态机500包括出自于开始状态502、由K个消耗令牌的转变508连接的K+1个状态506(被标记为N0…NK)的有向链504,其中K可以是最大跟踪长度或基于统计分布所选择的某个较小的最大长度(例如,将落在指定频率阈值以下的那些较长标签归并在一起)。第K个状态具有回到其自身上的关联的消耗令牌的转变509,其允许长度超过最大长度的序列。链504是非循环的,因为链504中的状态506都没有回到链504中的较早状态506的转变。相反,从链504内的任何给定状态506,状态机500可以经由消耗令牌的转变508、509而前进到链504内的下一状态506(或保持在最后状态),或者经由艾普西龙转变512而前进到状态机500的结束状态510。以这种方式,通过状态机500的路径在其向前通过链504时对由叶节点标签所标记的令牌进行“计数”,并且路径离开链504时所处的艾普西龙转变512确定叶节点标签的长度。不同的艾普西龙转变512可以被不同地加权,以考虑到相应标签长度的变化的统计可能性。虽然原则上可以不依赖于所有其他转变而对状态机500内的每个转变(艾普西龙转变以及消耗标签的转变)进行加权,但是在实践中,在多个转变之间共享权重函数(包括其可调整的参数)以减少训练中要被学习的参数数目通常是有益的。例如,所有消耗令牌的转变508都可以共享相同的权重函数和参数,并且艾普西龙转变512可以基于统计分布被分组为两个或更多个转变群组,其中每个群组内的转变都共享用于该群组的相应权重函数和参数。针对艾普西龙转变512形成的群组的数目依赖于不同长度的标签序列将基于其出现频率而被区分的粒度。权重函数即使是常数也可能是有价值的(例如,在上面针对Wet的公式中等于Ce,其中所有θip都等于零)并且因此不依赖于令牌特征;在这种情况下,可以使用数据来学习偏好频繁的长度的简单偏差。作为常数权重函数的一种特殊情况,在路径的总权重被取为是沿路径的权重的积的场景中,一个或多个艾普西龙转变可以接收零权重,其实际上等于从状态机500的结构中完全省略了那些转变。
作为状态机500的示例实现,图5B示出了基于上面给出的示例直方图的针对“街道”标签的状态机550。为了确定状态的非循环有向链552的长度以及与从状态机550的链552到结束状态554的艾普西龙转变相关联的权重,直方图中的不同“街道”分段长度基于相应的计数已被分组为“频繁的”和“不频繁的”长度。可以基于“街道”标签的所有序列的计数总数目的最小分数和/或基于最小绝对计数,以相对的术语来定义“频繁的”长度。例如,将等于总计数的至少10%并且各自至少出现50次的标签长度设为“频繁的”,上述直方图中的频繁的长度包括三个、四个或五个令牌的序列。仅具有两个令牌的分段以及具有六个或更多个令牌的分段被认为是不频繁的。由于长度为一的“街道”分段根本没有出现在数据中,因此认为该长度被认为是不可能的。状态机550在其间具有六个消耗令牌的转变的七个状态(N0至N6)的有向链中捕获这些统计,将超过第六个的所有转变归并到链552内的最后状态中。状态机550包括从链552中与至少两个令牌的分段相对应的任何状态到结束状态554的艾普西龙转变,并且排除从与一个令牌分段相对应的状态N1的转变。艾普西龙转变被分组为源自状态N3-N5的频繁长度的转变556和源自状态N2和N6的非频繁长度的转变558。通过该示例分组,艾普西龙转变556可以共享第一权重函数,艾普西龙转变558可以共享第二权重函数,并且消耗令牌的转变560可以共享第三权重函数。
图6A示出了根据一个实施例的示例非叶节点状态机600的结构,其可以对给定非叶节点父标签的儿标签的唯一序列的统计分布进行编码。这样的儿标签序列可以被列出并针对标签层级中的任何非叶节点标签而被计数。在地址标签层级中,地址标签的儿序列(在这种情况下对应于层级中的根节点和仅非叶节点)例如可以具有以下分布:
儿序列 | 计数 |
[街道][城市][州][邮编] | 210 |
[街道][城市][州] | 320 |
[街道][邮编] | 30 |
[街道][城市][邮编] | 3 |
[邮编][街道][城市][州] | 1 |
如可以看出的,并非所有儿标签的排列都在此分布中被表示;未被表示的那些对应于关联计数为零的儿标签序列。给定儿标签序列的统计分布,可以基于在针对所有序列的总计数的分数和/或数据中出现的绝对数目方面所指定的频率阈值来确定一个或多个“频繁序列”的子集。为了利用频繁序列,其可以在非叶节点状态机600中由分开的复合状态链表示(或在单个儿标签序列被算作频繁的情况下,由单个复合状态链表示),而没有超过频率阈值的所有儿标签序列可以由表示非叶节点默认状态机(例如,状态机400、450)的复合状态共同表示,该非叶节点默认状态机不施加任何顺序约束并且还接受“垃圾”令牌(即,作为父分段的一部分但不是任何儿标签分段的一部分的令牌)。
更详细地,如图6A中所示,状态机600可以在开始状态602和结束状态604之间分支成两个并行路径:表示(多个)频繁的儿标签序列的路径606和用于非叶节点默认状态机610的路径608。用于频繁的儿标签序列的路径606又可以针对多个相应的儿标签序列分支出复合状态614的多个并行的非循环有向链612,在本文中被标示为S1至SK。复合状态614(对于第j个儿标签序列Sj,由儿(Sj,1)到儿(Sj,Lj)来标示,其中Lj是第j个序列中的复合状态的数目)表示用于相应儿标签的子概念状态机。在叶节点儿标签的情况下,这些子概念状态机例如可以是标准状态机200或频繁长度编码状态机500,这取决于关于儿标签的长度分布的统计是否要被考虑在内。在非叶节点儿标签的情况下,子概念状态机可以是常规的非叶节点状态机300,或者其本身可以反映状态机600的结构,这取决于是否要在儿节点级别处使用频繁序列信息。链612中的每一个通常可以包括一个或多个复合状态614;在许多场景中,链612中的至少一个具有至少两个复合状态。在表示频繁儿标签序列的每个链612内,复合状态614由艾普西龙转变616连接。为了允许“垃圾”令牌出现在频繁序列中的儿标签之间,针对垃圾节点的复合状态(未示出)可以作为可选状态被插入在复合状态614之间,这可以经由从一个儿标签状态到下一儿标签状态的直接艾普西龙转变来绕行。备选地,通常被认为是“垃圾”的令牌,诸如例如逗号,可以由被添加到标签层级中的分开的儿标签来标记,并且然后将其视为任何其他儿标签,以使得能够显式地考虑其在序列中的位置。
如图所示,针对所有频繁的儿标签序列S1到SK的链612可以出自共用的原始状态R(618),并经由相应的艾普西龙转变622、624而合并到共用的目的地状态S(620),其中R和S(618、620)分别经由艾普西龙转变626、628而连接到状态机600的开始状态602和结束状态604。默认状态机610可以分别由艾普西龙转变630、632而直接连接到开始状态602和结束状态。通过分配在艾普西龙转变626、630之间和/或在艾普西龙转变628、630之间不同的权重函数,可以针对频繁和不频繁的标签序列编码不同的权重。从R到S,所有频繁序列S1至SK的转变可以共享共用权重。备选地,通过向相应的艾普西龙转变622或624分配不同的权重函数,对频繁序列的路径606内的复合状态614的不同链612进行加权是可能的。在备选实施例中,状态机600也可以被修改为从开始状态602直接转变到每个有向链612,并且从每个链612直接转变到结束状态604,而无需介入状态R和S;在这种情况下,通过被分配给来自开始状态602和/或去往结束状态604的转变的权重函数,可以在频繁和不频繁的标签序列之间实现不同的权重。
在表示非频繁序列的路径608中,可以使用各种非叶节点默认状态机中的任何一个;示例包括默认状态机400和450,以及状态机450的修改,其中所有结束状态EK都转变为状态R或状态S。注意,在图6A中描绘的实施例中,默认状态机610接受所有儿标签序列,包括在路径606中被显式表示的频繁序列。在备选实施例中,路径608可以被构造为排除所有频繁序列。例如,在开始状态602和默认状态机610之间,仅接受儿标签而不是复合节点儿(S1,1)到儿(SK,1)接受的那些儿标签的状态机可以被使用作为“门”。在这种情况下,从频繁序列路径606中的各种复合状态614到默认状态机610的转变路径可以被支持,在那些转变路径中具有类似的限制“门”状态机。
图6B示出了示例状态机650,该示例状态机650基于以上提供的示例儿序列分布实现针对“地址”的层级状态机600。在该示例中,以序列总数目的至少四分之一出现且以绝对数为至少一百次的儿标签序列被认为是频繁的。因此,状态机650在频繁序列的路径内包括分别用于“街道-城市-州-邮编”和“街道-城市-州”的两个儿标签序列652、654。与到默认机660的转变658不同地加权到那些频繁序列652、654的转变656。
作为叶节点状态机500的备选方案,非叶节点状态机600的结构除了对不同儿标签的序列进行编码之外,还可以被用来捕获长度不同的单个标签的序列。在这种情况下,频繁长度序列可以形成复合状态614的链612,其中每个复合状态614可以代表仅接受单个令牌的叶节点状态机(例如,与具有从A到B的消耗令牌的转变的状态机200相比,省略了回到A的艾普西龙转变)。本领域普通技术人员可以想到频繁长度和频繁序列编码状态机500、600的其他修改和应用。
从状态机500和/或600,可选地与常规状态机200、400结合,可以通过将复合状态替换为其所表示的子概念状态机来递归地构造层级状态机。(例如,在不容易获取有关叶节点标签的长度或有关儿标签序列的统计的实例中,可以使用常规的状态机200、400。)重要的是,每当相同的子概念机(例如,状态机500或600)在状态机中多次出现,每次出现都是整个子概念状态机的单独副本,这可以迅速激增层级状态机的尺寸。为了限制所导致的复杂性增长和要被训练的可调整参数的数目,可以跨任何给定子概念机的副本共享权重函数。此外,大多数转变可以不被加权(例如,如果权重将沿着路径被乘,则对应于常数一的权重函数)。例如,为了在非叶节点状态机600中的频繁和不频繁的儿标签序列之间进行区分,添加单个权重函数就足够了,该权重函数是从开始状态到默认状态机610的转变的简单偏差项,从而仅向层级状态机添加了一个可调整参数。
图7A-图7C提供了用于展开状态机700的示例,其反映了频繁序列编码状态机600的基本结构。状态机700本身在图7A中被示出,并且包括用于频繁序列“城市-城市”和“城市”的两个链,针对每个儿标签具有复合状态702、704、706;为了简化,从图7A-图7C中省略了默认状态机610。图7B示出了扩展的状态机710,其中个体标准子概念状态机712、714、716(在结构上等同于图2A的状态机200)分别代替了复合状态702、704、706。每个子概念状态机K(其中K=1…3)内的状态被标示,SK用于开始状态,EK用于结束状态,并且AK和BK用于在其之间形成消耗令牌的转变的状态。注意,转变为“SK”状态开始新的“城市”标签,该标签可以具有多个令牌,并且转变为“EK”状态对应于结束该标签。图7C示出了针对三令牌文档而展开的扩展的状态机710(省略了在地址和非地址之间进行的状态和转变)(结构720)。注意,即使该图无限地向右扩展,也没有接受少于一个或多于两个的城市标签的、从开始到结束的路径。
已经根据各种实施例描述了频繁长度编码和频繁序列编码的状态机的各种结构实施例,下面参考图8根据各种实施例描述一种用于实现针对给定标签层级的层级提取模型的方法。如图所示,方法800包括:针对指定的标签序列集合(或多个这样的集合),确定从包括一个或多个被标记令牌序列的训练数据中确定的标签序列的统计分布(或多个相应的分布)(动作802)。根据各种实施例,标签序列的集合包括长度互不相同的指定叶节点标签的序列,或给定非叶节点标签的儿节点的序列。为了确定哪些标签序列在层级状态机中显式表示和/或将权重函数分配给状态机内的转变,可以基于统计分布中反映的标签序列的出现频率对标签序列进行分组(动作804)。例如,频繁标签序列的子集可以由超过指定(相对或绝对)频率阈值(例如,分布中的总序列计数的某个阈值分数或计数的某个阈值数目)的所有标签序列形成。低于频率阈值的标签序列(以及非叶节点标签下在获取其分布的标签序列集合中未被枚举的任何序列)可以隐式地形成不频繁标签序列群组,或者可以进一步被划分为不同出现频率的多个群组。方法800继续构造针对标签层级的层级状态机,该层级状态机在其一个或多个子概念状态机中包括至少表示频繁标签序列的子集的状态的一个或多个非循环有向改变(动作806)。基于统计分布对(多个)子概念状态机内的转变进行加权(动作808)。例如,频繁和不频繁的标签序列或者更一般地标签序列的不同群组可以被分配不同的相应权重函数。
一旦已经确定了层级状态机的结构和权重函数,层级状态机就可以被训练以优化其可调整参数,并且在此之后被用来确定“测试”序列的标签。在训练阶段和测试阶段两者中,展开层级状态机以将其消耗令牌的转变与输入序列(其是训练序列或测试序列)的令牌对齐(动作810)。然后,可以基于令牌的特征(例如,在包括与相应加权转变对齐的令牌的窗口内、是否是令牌消耗的、或者与相应艾普西龙转变之前或之后的消耗令牌的转变对齐)来评估权重函数,以确定层级状态机中的转变的权重(动作812)。通过对齐状态机的以输入序列的最后一个令牌结束的每个路径的权重由路径内的个体转变的权重来确定,并且例如可以是转变权重的积。可以在层级状态机中搜索最高权重路径(例如,使用维特比算法),或者可以确定多个路径的路径概率(例如,使用CFR对路径概率进行建模)(动作814)。
在训练阶段,输入序列是至少部分被标记的训练序列,其可以但不是必须取自或包括从其中确定统计分布的被标记令牌序列。换言之,标签序列的统计分布和权重函数的参数可以从相同的训练数据或从不同的训练数据集合(用于确定统计分布的第一训练数据集合和用于训练权重函数参数的第二训练数据集合)中确定。为了训练参数,将基于最高权重的路径或基于由其相应路径概率被加权的多个路径而被分配给输入训练序列的标签与随输入训练序列一起被提供的标签进行比较,以评估损失函数(动作816),并且迭代地调整权重函数的参数(动作818)以将该损失函数最小化。在训练完成之后,当参数值被固定时,可以针对测试输入序列确定最高权重的路径,然后可以根据沿着该路径的标签来对其进行标记(动作820)。
图8的方法通常可以利用计算硬件、软件和/或固件的任何适当的组合来实现,诸如利用由计算系统的一个或多个硬件处理器所执行的软件来实现。所提供的总体功能性可以分组为多个功能组件。图9以框图的形式描绘了示例系统900,其包括多个(例如,软件实现的)处理组件902以及对其进行操作的数据。数据以及如果是软件实现的处理组件902可以被存储在一个或多个计算机可读介质中。在处理组件902之中,给定表示特定标签层级906的数据结构,统计组件904用于从包括根据标签层级906被标记的一个或多个令牌序列的训练数据908中得出一个或多个标签序列集合的一个或多个统计分布909。提取模型生成器910获取(多个)统计分布909,并且基于可用的子概念状态机912的集合(包括例如状态机500、600)的所存储的定义,从中构造层级状态机914的表示。在训练数据908上操作的训练组件916可以使用机器学习来确定与层级状态机914的表示相关联的权重。搜索组件918在被训练组件916调用或在测试阶段被调用以标记测试输入序列920时通过访问层级状态机914的表示而可以确定通过与训练输入序列或测试输入序列920对齐的层级状态机的最高权重的路径(或多条路径的路径概率)。用于展开层级状态机并将其与输入序列对齐的功能性可以被包括在训练组件916和/或搜索组件918中,也可以被独立地提供。层级状态机914的表示可以是可导出到文本或图像文件的(利用例如包括在提取模型生成器中的导出功能性),以供人类查看或输入到另一组件或计算系统中。当然,将所描绘的组织组织成组件仅是示例,并且如本文中所描述将功能性进行分组以用于构建、训练和使用层级提取模型的其他方式也是可能的。
原则上,实现本文描述的方法的功能组件/模块可以构成软件组件(例如,体现在非瞬态机器可读介质上的代码)或硬件实现的组件/模块。硬件实现的组件是能够执行某些操作的有形单元,并且可以以某种方式进行配置或布置。在示例实施例中,一个或多个计算机系统(例如,单独的客户端或服务器计算机系统)或一个或多个处理器可以由软件(例如,应用或应用部分)配置为硬件实现的组件,其操作以执行本文所描述的某些操作。
在各种实施例中,硬件实现的组件可以被机械地或电子地实现。例如,硬件实现的组件可以包括专用电路或逻辑,该专用电路或逻辑被永久配置(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作。硬件实现的组件还可以包括可编程逻辑或电路(例如,如被包含在通用处理器或其他可编程处理器内),其由软件临时配置以执行某些操作。应当理解,关于在专用和永久配置的电路中、或者在(例如,由软件配置的)临时配置的电路中机械地实现硬件实现的组件的决定可以由成本和时间来驱动。
因此,术语“硬件实现的组件”应被理解为包含有形实体,是物理地构造的、永久地配置的(例如,硬连线)、或临时或暂时地配置的(例如,编程的)实体,以便以某种方式操作和/或执行本文所描述的某些操作。考虑其中硬件实现的组件被临时配置(例如,编程)的实施例,每个硬件实现的组件不需要在任何一个实例上及时配置或实例化。例如,在硬件实现的组件包括使用软件进行配置的通用处理器的情况下,通用处理器可以在不同的时间被配置为相应的不同硬件实现的组件。软件可以相应地例如将处理器配置来在一个时间实例处构成特定的硬件实现的组件,并在另一时间实例处构成另一硬件实现的组件。
硬件实现的组件可以向其他硬件实现的组件提供信息并从其他硬件实现的组件接收信息。因此,所描述的硬件实现的组件可以被认为是通信耦合的。在同时存在多个这样的硬件实现的组件的情况下,可以通过信号传输(例如,在连接硬件实现的组件的适当的电路和总线上)来实现通信。在其中在不同的时间处配置或实例化多个硬件实现的组件的实施例中,可以例如通过在多个硬件实现的组件可以访问的存储器结构中存储和取回信息来实现这种硬件实现的组件之间的通信。例如,一个硬件实现的组件可以执行操作,并将该操作的输出存储在与之通信耦合的存储器设备中。然后,另一硬件实现的组件可以在稍后的时间访问存储器设备以取回和处理所存储的输出。硬件实现的组件还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。
本文所描述的示例方法的各种操作可以至少部分地由一个或多个处理器来执行,该一个或多个处理器(例如,由软件)被临时配置或永久配置为执行相关操作。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的组件,这些组件可以操作来执行一个或多个操作或功能。在一些示例实施例中,本文所指的组件可以包括处理器实现的组件。
类似地,本文描述的方法可以至少部分地由处理器实现。例如,方法的至少一些操作可以由处理器或处理器实现的组件之一执行。某些操作的性能可以被分布在一个或多个处理器之间,不仅可以驻留在单个计算机内,还可以跨多个计算机进行部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在办公室环境或服务器场内),而在其他实施例中,处理器可以跨多个位置进行分布。
一个或多个处理器还可以操作来在“云计算”环境中或作为“软件即服务”(SaaS)支持相关操作的性能。例如,至少一些操作可以由计算机群组(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,应用程序接口(API))来访问。
可以以数字电子电路、计算机硬件、固件或软件或其组合来实现示例实施例。可以使用计算机程序产品来实现示例实施例,该计算机程序产品例如是有形地体现在信息载体中,例如机器可读介质中以由数据处理装置,例如,可编程处理器、一个计算机或多个计算机,执行或控制其操作的计算机程序。
计算机程序可以以任何形式的描述语言来进行编写,包括编译或解释语言,并且可以以任何形式进行部署,包括作为单独程序或作为组件、子例程或其他适用于在计算环境中使用的单元。可以将计算机程序部署为在一个站点处的一个计算机上或多个计算机上被执行,或跨多个站点进行分布并通过通信网络进行互连。
在示例实施例中,可以由一个或多个可编程处理器来执行操作,该一个或多个可编程处理器执行计算机程序以通过对输入数据进行操作并生成输出来执行功能。方法操作也可以由专用逻辑电路来执行,并且示例实施例的装置可以被实现为专用逻辑电路,例如FPGA或ASIC。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器之间的关系是借助于运行在相应的计算机上并彼此具有客户端-服务器关系的计算机程序来产生的。在部署可编程计算系统的实施例中,将意识到,硬件和软件架构两者均值得考虑。具体地,将意识到,选择是以永久配置的硬件(例如,ASIC)、以临时配置的硬件(例如,软件和可编程处理器的组合)、还是永久和临时配置的硬件的组合实现某些功能性可以是设计选择。在各种示例实施例中,以下列出了可以部署的硬件(例如,机器)和软件架构。
图10是计算机系统1000的示例形式的机器的框图,在其中可以执行(例如,处理组件902的)指令1024以使机器执行本文所讨论的任何一种或多种方法。在备选实施例中,该机器操作为单独设备,或者可以连接(例如,联网)到其他机器。在联网部署中,该机器可以在服务器-客户端网络环境中以服务器或客户端计算机的资格操作,或者在对等(或分布式)网络环境中操作为对等计算机。该机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、网络路由器、交换机或网桥、或者能够执行指令(顺序的或其他方式)的任何机器,这些指令指定该机器要执行的操作。此外,虽然仅图示了单个机器,但是术语“机器”也应被理解为包括机器的任何集合,其各个地或共同地执行指令的集合(或多个集合)以执行本文所讨论的任何一个或多个方法。
示例计算机系统1000包括处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器1004和静态存储器1006,它们经由总线1008而彼此通信。计算机系统1000还可以包括视频显示器1010(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统1000还包括字母数字输入设备1012(例如,键盘或触敏显示屏)、用户界面(UI)导航(或光标控制)设备1014(例如,鼠标)、磁盘驱动单元1016、信号生成设备1018(例如,扬声器)和网络接口设备1020。
磁盘驱动器单元1016包括机器可读介质1022,在其上存储了数据结构和指令1024(例如,软件)的一个或多个集合,其由本文所描述的任何一种或多种方法或功能来体现或利用。在计算机系统1000执行指令1024期间,指令1024还可以全部或至少部分地驻留在主存储器1004内和/或处理器1002内,其中主存储器1004和处理器1002也构成机器可读介质。
尽管在示例实施例中将机器可读介质1022示出为单个介质,但是术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器),其存储一个或多个指令1024或数据结构。术语“机器可读介质”也应被认为包括如下的任何有形介质,该有形介质能够存储、编码或携带用于由机器执行的指令1024并且使机器执行本公开的任何一种或多种方法,或者能够存储、编码或承载由此类指令1024利用或与之相关联的数据结构。因此,术语“机器可读介质”应被认为包括但不限于固态存储器以及光和磁介质。机器可读介质1022的特定示例包括非易失性存储器,其包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。
可以使用传输介质通过通信网络1026发射或接收指令1024。可以使用网络接口设备1020和许多公知的传送协议中的任何一种(例如,HTTP)来发射指令1024。通信网络的示例包括局域网(LAN)、广域网(WAN)、互联网、移动电话网络、普通旧电话(POTS)网络和无线数据网络(例如Wi-Fi和WiMax网络)。术语“传输介质”应被认为包括能够存储、编码或承载用于由机器执行的指令1024的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
以下编号的实施例是所说明的实施例。
示例1.一种用于实现用于标签层级的层级提取模型的方法,该方法包括:针对标签序列的集合,获取从训练数据中确定的该标签序列的统计分布,该训练数据包括一个或多个被标记的令牌序列;以及使用一个或多个硬件处理器,执行指令以自动生成实现用于标签层级的层级提取模型的加权的层级状态机,该层级状态机包括子概念状态机,该子概念状态机包括表示标签序列的至少一个子集的简单或复合状态的一个或多个非循环有向链,子概念状态机内的转变至少部分地基于统计分布而被加权。
示例2.根据示例1的方法,其中标签序列的集合包括长度彼此不同的指定叶节点标签的序列。
示例3.根据示例2的方法,其中指定叶节点标签的序列的子集包括具有不小于二的最大长度的序列,并由简单状态的非循环有向链表示,该简单状态的非循环有向链由数目等于最大长度的消耗令牌的转变而彼此连接,链内的多个简单状态由多个相应的艾普西龙转变连接到子概念状态机的结束状态,并且艾普西龙转变至少部分地基于统计分布而被加权。
示例4.根据示例3的方法,其中艾普西龙转变基于统计分布而被分组成两个或更多个群组的艾普西龙转变,该两个或更多个群组包括与超过指定频率阈值的标签序列相对应的转变群组,该两个或更多个群组由两个或更多个相应权重函数来加权,每个权重函数由相应群组内的所有艾普西龙转变共享。
示例5.根据示例1的方法,其中标签序列的集合包括指定非叶节点标签的儿标签的序列。
示例6.根据示例5的方法,其中儿标签的序列的子集仅包括从统计分布确定的超过指定频率阈值的指定非叶节点标签的儿标签的一个或多个子序列。
示例7.根据示例6的方法,其中针对超过指定频率阈值的一个或多个序列,一个或多个非循环有向链包括相应的分开的一个或多个复合状态链,该子概念状态机还包括默认状态机,该默认状态机接受与分开的一个或多个复合状态链并行地被连接在子概念状态机的开始状态和结束状态之间的、不在子集内的、与指定非叶节点标签一致的所有序列。
示例8.根据示例7的方法,其中从子概念状态机的开始状态或结束状态中的至少一项到复合状态的一个或多个非循环有向链的艾普西龙转变与从子概念状态机的开始状态或结束状态中的至少一项到默认机的艾普西龙转变不同地被加权。
示例9.根据示例1至8中任一项的方法,其中一个或多个非环状有向链中的至少一个非循环有向链包括至少两个消耗令牌的转变。
示例10.根据示例1到9中任一项的方法,还包括:展开层级状态机,以将转变中的消耗令牌的转变与令牌的输入序列的令牌对齐,并且基于输入序列中的令牌的特征来评估被分配给层级状态机的转变的权重函数。
示例11.根据示例10的方法,其中输入序列是未被标记的令牌的测试序列,该方法还包括:确定通过展开的层级状态机的最高权重路径,以及根据所确定的最高权重路径来标记输入序列的令牌。
示例12.根据示例10的方法,其中输入序列是至少部分地被标记的训练序列,该方法还包括:使用机器学习来迭代地调整权重函数的参数,以及重复评估权重函数以最小化损失函数,该损失函数基于输入序列的标签、结合从被评估的权重函数计算出的路径概率而被评估。
示例13.根据示例12的方法,其中路径概率使用条件随机场模型而被计算。
示例14.根据示例1-13中任一项的方法,还包括生成所生成的层级状态机的结构的文本或图形表示,以存储在存储器中或显示给用户。
示例15.一种系统,包括:一个或多个硬件处理器;以及一个或多个机器可读介质,其存储表示标签层级的数据结构和由一个或多个硬件处理器执行的多个软件组件。该软件组件包括:统计组件,其被配置为从包括根据标签层级而被标记的一个或多个令牌序列的训练数据中确定指定的标签序列集合的统计分布;以及提取模型生成器,其被配置为生成表示加权的层级状态机的数据结构,该加权的层级状态机实现用于标签层级的层级提取模型,该层级状态机包括子概念状态机,该子概念状态机包括表示标签序列的至少一个子集的简单或复合状态的一个或多个非循环有向链,并将至少部分地基于统计分布的权重函数分配给子概念状态机内的转变。
示例16.根据示例15的系统,其中标签序列的集合包括长度彼此不同的指定叶节点标签的序列,并且其中指定叶节点标签的序列的子集包括具有不小于二的最大长度的序列,序列的子集由简单状态的非循环有向链表示,该简单状态的非循环有向链由数目等于最大长度的消耗令牌的转变彼此连接,链内的多个简单状态由多个相应的艾普西龙转变连接到子概念状态机的结束状态,并且被分配给艾普西龙转变的权重函数至少部分地基于统计分布。
示例17.根据示例15的系统,其中标签序列的集合包括指定非叶节点标签的儿标签的序列,并且儿标签的序列的子集仅包括从统计分布确定的超过指定频率阈值的指定非叶节点标签的儿标签的一个或多个序列,针对超过指定频率阈值的一个或多个序列,该一个或多个非循环有向链包括相应的分开的一个或多个复合节点链,至少一个链包括多个复合节点,子概念状态机还包括默认状态机,该默认状态机接受与分开的复合节点链并行地被连接在子概念状态机的开始状态和结束状态之间的、不在子集内的、与指定非叶节点标签一致的所有序列。
示例18.根据示例15-17中任一项的系统,其中该软件组件还包括:训练组件,其被配置为使用机器学习来基于一个或多个至少部分地被标记的令牌的输入序列以确定权重函数的可调整参数。
示例19.根据示例15-18中任一项的系统,其中该软件组件还包括:搜索组件,其被配置为确定通过层级状态机的最高权重路径。
示例20.一个或多个机器可读介质,其存储用于由一个或多个硬件处理器执行的指令,这些指令在由一个或多个硬件处理器执行时,使一个或多个硬件处理器执行部分地基于从训练数据中确定的标签序列的集合的统计分布来实现用于标签层级的层级提取模型的操作。该操作包括:自动生成加权的层级状态机,该加权的层级状态机实现用于标签层级的层级提取模型,并且包括子概念状态机,该子概念状态机包括表示标签序列的至少一个子集的简单或复合状态的一个或多个非循环有向链;以及至少部分地基于统计分布对子概念状态机内的转变进行加权。
尽管已经参考特定示例实施例描述了实施例,但是显而易见的是,可以对这些实施例进行各种修改和改变,而不脱离本发明的更广泛的精神和范围。因此,说明书和附图应被认为是说明性的而不是限制性的。形成其一部分的附图以说明而非限制的方式示出了在其中可以实践本主题的特定实施例。足够详细地描述了所示的实施例,以使得本领域技术人员能够实践本文所公开的教导。可以使用其他实施例并从中得出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑上的替换和改变。因此,该描述不在限制性的意义上进行理解,并且各种实施例的范围仅由所附权利要求书以及这些权利要求书所享有的等同物的全部范围来限定。
Claims (20)
1.一种用于实现用于标签层级的层级提取模型的方法,所述方法包括:
针对所述标签层级中的给定概念或子概念相关联的标签序列的集合,获取所述标签序列的统计分布,所述统计分布对应于所述集合中的所述标签序列在包括一个或多个标记的令牌序列的训练数据中的出现次数;以及
使用一个或多个硬件处理器,在没有人工输入的情况下执行指令以自动生成加权的层级状态机,所述加权的层级状态机实现用于所述标签层级的所述层级提取模型,所述层级状态机包括用于所述给定概念或子概念的子概念状态机,所述子概念状态机包括提供从开始状态到结束状态的多个非循环路径的简单或复合状态的一个或多个非循环有向链,所述多个非循环路径表示所述标签序列中的多个,其中所述子概念状态机内在多个路径之间的分支点处的转变至少部分地基于所述统计分布而被加权;以及
将所述加权的层级状态机的表示存储在存储器中以供后续在标记输入序列中使用。
2.根据权利要求1所述的方法,其中所述标签序列的集合与给定子概念相关联,并且包括长度彼此不同的针对所述给定子概念的指定叶节点标签的序列。
3.根据权利要求2所述的方法,其中由所述多个非循环路径表示的所述标签序列中的所述多个标签序列包括所述指定叶节点标签的具有不小于二的最大长度的序列,所述子概念状态机包括简单状态的非循环有向链,所述简单状态的非循环有向链由数目等于所述最大长度的消耗令牌的转变彼此连接,所述链内的多个所述简单状态由多个相应的艾普西龙转变连接到所述子概念状态机的所述结束状态,并且所述艾普西龙转变至少部分地基于所述统计分布而被加权。
4.根据权利要求3所述的方法,其中所述艾普西龙转变基于所述统计分布而被分组成两个或更多个群组的艾普西龙转变所述两个或更多个群组包括与超过指定频率阈值的标签序列相对应的转变群组,所述两个或更多个群组由两个或更多个相应权重函数来加权,并且每个权重函数由相应群组内的所有艾普西龙转变共享。
5.根据权利要求1所述的方法,其中所述标签序列的集合与给定概念相关联,并且包括用于所述给定概念的指定非叶节点标签的儿标签的序列。
6.根据权利要求5所述的方法,其中由所述多个非循环路径表示的所述标签序列中的多个标签序列仅包括从所述统计分布确定的超过指定频率阈值的所述指定非叶节点标签的儿标签的一个或多个序列。
7.根据权利要求6所述的方法,其中针对超过所述指定频率阈值的所述一个或多个序列,所述一个或多个非循环有向链包括相应的分开的一个或多个复合状态链,所述子概念状态机还包括默认状态机,所述默认状态机接受与所述分开的一个或多个复合状态链并行地被连接在所述子概念状态机的所述开始状态和所述结束状态之间的、不在儿标签的所述多个序列内的、与所述指定非叶节点标签一致的所有序列。
8.根据权利要求7所述的方法,其中从所述子概念状态机的所述开始状态或所述结束状态中的至少一项到复合状态的所述一个或多个非循环有向链的艾普西龙转变与从所述子概念状态机的所述开始状态或所述结束状态中的至少一项到所述默认状态机的艾普西龙转变不同地被加权。
9.根据权利要求1所述的方法,其中所述一个或多个非循环有向链中的至少一个非循环有向链包括至少两个消耗令牌的转变。
10.根据权利要求1所述的方法,还包括执行指令来展开所述层级状态机,以将所述转变中的消耗令牌的转变与令牌的输入序列的令牌对齐,并且基于所述输入序列中的所述令牌的特征来评估被分配给所述层级状态机的所述转变的权重函数。
11.根据权利要求10所述的方法,其中所述输入序列是未被标记的令牌的测试序列,所述方法还包括:确定通过展开的所述层级状态机的最高权重路径,以及根据所确定的所述最高权重路径来标记所述输入序列的所述令牌。
12.根据权利要求10所述的方法,其中所述输入序列是至少部分地被标记的训练序列,所述方法还包括:使用机器学习来迭代地调整所述权重函数的参数,以及重复评估所述权重函数以最小化损失函数,所述损失函数基于所述输入序列的标签、结合从被评估的所述权重函数计算出的路径概率而被评估。
13.根据权利要求12所述的方法,其中所述路径概率使用条件随机场模型而被计算。
14.根据权利要求1所述的方法,还包括执行指令来生成所生成的所述层级状态机的结构的文本或图形表示,以显示给用户。
15.一种用于实现用于标签层级的层级提取模型的系统,包括:
一个或多个硬件处理器;以及
一种或多种非暂时性机器可读介质,存储表示标签层级的数据结构和由所述一个或多个硬件处理器执行的指令,所述指令使得所述一种或更多种硬件处理器执行操作,所述操作包括:
从包括根据所述标签层级标记的一个或多个令牌序列的训练数据中确定与所述标签层级中的给定概念或子概念相关联的指定的标签序列的集合的统计分布,所述统计分布对应于指定的所述集合中的所述标签序列在所述训练数据中的出现次数;
在没有人工输入的情况下自动生成表示加权的层级状态机的数据结构,所述加权的层级状态机实现用于所述标签层级的层级提取模型,所述层级状态机包括用于所述给定概念或子概念的子概念状态机,所述子概念状态机包括提供从开始状态到结束状态的多个非循环路径的简单或复合状态的一个或多个非循环有向链,所述多个非环循路径表示所述标签序列中的多个;
将至少部分地基于所述统计分布的权重函数分配给所述子概念状态机内的在所述多个路径之间的分支点处的转变以及
使得表示所述加权的层级状态机的所述数据结构存储在存储器中以供在标记输入序列中后续使用。
16.根据权利要求15所述的系统,其中所述标签序列的集合与给定子概念相关联,并且包括用于所述给定子概念的长度彼此不同的指定叶节点标签的序列,并且其中由所述多个非循环路径表示的所述标签序列中的多个标签序列包括所述指定叶节点标签的长达不小于二的最大长度的序列,所述子概念状态机包括简单状态的非循环有向链,所述简单状态的非循环有向链由数目等于所述最大长度的消耗令牌的转变彼此连接,所述链内的多个所述简单状态由多个相应的艾普西龙转变连接到所述子概念状态机的所述结束状态,被分配给所述艾普西龙转变的权重函数至少部分地基于所述统计分布。
17.根据权利要求15所述的系统,其中所述标签序列的集合与给定概念相关联,并且包括用于所述给定概念的指定非叶节点标签的儿标签的序列,并且由所述多个非循环路径表示的所述标签序列中的多个标签序列仅包括从所述统计分布确定的超过指定频率阈值的所述指定非叶节点标签的儿标签的一个或多个序列,针对超过所述指定频率阈值的所述一个或多个序列,所述一个或多个非循环有向链包括相应的分开的一个或多个复合节点链,所述链中的至少一个链包括多个复合节点,所述子概念状态机还包括默认状态机,所述默认状态机接受与所述分开的复合节点链并行地被连接在所述子概念状态机的所述开始状态和所述结束状态之间的、不在由所述多个非循环路径表示的所述标签序列中的多个标签序列内的、与所述指定非叶节点标签一致的所有序列。
18.根据权利要求15所述的系统,其中所述操作还包括:
使用机器学习以基于一个或多个至少部分地被标记的令牌的输入序列来确定所述权重函数的可调节参数。
19.根据权利要求15所述的系统,其中所述操作还包括:
确定通过所述层级状态机的最高权重路径。
20.一种或多种非暂时性机器可读介质,存储用于由一个或多个硬件处理器执行的指令,所述指令在由所述一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行操作,所述操作部分地基于从训练数据中确定的与标签层级结构中的给定概念或子概念相关联的指定标签序列的集合的统计分布来实现用于标签层级的层级提取模型操作,所述统计分布对应于所述指定集合中的所述标签序列在所述训练数据中的出现次数,所述操作包括:
在不需要人工输入的情况下自动生成加权的层级状态机,所述加权的层级状态机实现用于所述标签层级的所述层级提取模型并且包括用于给定概念或子概念的子概念状态机,所述子概念状态机包括提供从开始状态到结束状态的多个非循环路径的简单或复合状态的一个或多个非循环有向链,所述多个非循环路径表示所述标签序列中的多个标签序列;
至少部分地基于所述统计分布,在对所述子概念状态机内的多个所述路径之间的分支点处的转变进行加权以及
使得所述加权的层级状态机的表示被存储在存储器中以供后续在标记输入序列中使用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/798,282 | 2017-10-30 | ||
US15/798,282 US11295232B2 (en) | 2017-10-30 | 2017-10-30 | Learning the structure of hierarchical extraction models |
PCT/US2018/056958 WO2019089267A1 (en) | 2017-10-30 | 2018-10-23 | Learning the structure of hierarchical extraction models |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111316296A CN111316296A (zh) | 2020-06-19 |
CN111316296B true CN111316296B (zh) | 2024-03-01 |
Family
ID=64362622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880068931.1A Active CN111316296B (zh) | 2017-10-30 | 2018-10-23 | 学习层级提取模型的结构 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11295232B2 (zh) |
EP (1) | EP3688616A1 (zh) |
CN (1) | CN111316296B (zh) |
WO (1) | WO2019089267A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238365B2 (en) * | 2017-12-29 | 2022-02-01 | Verizon Media Inc. | Method and system for detecting anomalies in data labels |
US10706086B1 (en) * | 2018-03-12 | 2020-07-07 | Amazon Technologies, Inc. | Collaborative-filtering based user simulation for dialog systems |
US20210081792A1 (en) * | 2018-04-26 | 2021-03-18 | Nippon Telegraph And Telephone Corporation | Neural network learning apparatus, neural network learning method and program |
US11941625B2 (en) * | 2019-06-04 | 2024-03-26 | Jpmorgan Chase Bank, N.A. | Systems and methods for real-time classification and verification of data using hierarchal state machines |
US11188546B2 (en) * | 2019-09-24 | 2021-11-30 | International Business Machines Corporation | Pseudo real time communication system |
US11520986B2 (en) * | 2020-07-24 | 2022-12-06 | International Business Machines Corporation | Neural-based ontology generation and refinement |
CN112614023A (zh) * | 2020-12-25 | 2021-04-06 | 东北大学 | 电子合同的形式化安全验证方法 |
US11941036B2 (en) * | 2022-06-03 | 2024-03-26 | Capital One Services, Llc | Methods and arrangements for similarity search based on multi-label text classification |
CN117376228B (zh) * | 2023-11-27 | 2024-05-28 | 中国电子科技集团公司第十五研究所 | 一种网络安全测试工具确定方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107251011A (zh) * | 2015-02-17 | 2017-10-13 | 微软技术许可有限责任公司 | 用于序列标签器的训练系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003210803A1 (en) * | 2002-02-01 | 2003-09-02 | John Fairweather | A system and method for real time interface translation |
US7650346B2 (en) | 2005-04-01 | 2010-01-19 | Microsoft Corporation | User-defined type consistency checker |
US9489373B2 (en) * | 2013-07-12 | 2016-11-08 | Microsoft Technology Licensing, Llc | Interactive segment extraction in computer-human interactive learning |
US10437869B2 (en) * | 2014-07-14 | 2019-10-08 | International Business Machines Corporation | Automatic new concept definition |
US10304444B2 (en) * | 2016-03-23 | 2019-05-28 | Amazon Technologies, Inc. | Fine-grained natural language understanding |
-
2017
- 2017-10-30 US US15/798,282 patent/US11295232B2/en active Active
-
2018
- 2018-10-23 CN CN201880068931.1A patent/CN111316296B/zh active Active
- 2018-10-23 EP EP18804738.5A patent/EP3688616A1/en not_active Ceased
- 2018-10-23 WO PCT/US2018/056958 patent/WO2019089267A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107251011A (zh) * | 2015-02-17 | 2017-10-13 | 微软技术许可有限责任公司 | 用于序列标签器的训练系统和方法 |
Non-Patent Citations (1)
Title |
---|
Bouchra Bouqata等.VOGUE: A Novel Variable Order-Gap State Machine for Modeling Sequences.《springer》.2006,第42-54页. * |
Also Published As
Publication number | Publication date |
---|---|
EP3688616A1 (en) | 2020-08-05 |
US20190130308A1 (en) | 2019-05-02 |
CN111316296A (zh) | 2020-06-19 |
US11295232B2 (en) | 2022-04-05 |
WO2019089267A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316296B (zh) | 学习层级提取模型的结构 | |
Verenich et al. | Survey and cross-benchmark comparison of remaining time prediction methods in business process monitoring | |
CN109804362B (zh) | 通过机器学习确定主键-外键关系 | |
WO2021103492A1 (zh) | 一种企业经营风险预测方法和系统 | |
US9043285B2 (en) | Phrase-based data classification system | |
US10936950B1 (en) | Processing sequential interaction data | |
US20190042956A1 (en) | Automatic configurable sequence similarity inference system | |
WO2019060010A1 (en) | AUTOMATIC CLASSIFICATION OF DOCUMENTS BASED ON A CONTENT PROFILE | |
CN113111908A (zh) | 一种基于模板序列或词序列的bert异常检测方法及设备 | |
CN110706015A (zh) | 一种面向广告点击率预测的特征选取方法 | |
Song et al. | Rgvisnet: A hybrid retrieval-generation neural framework towards automatic data visualization generation | |
CN115437952A (zh) | 一种基于深度学习的语句级软件缺陷检测方法 | |
Jiang et al. | Forest pruning based on branch importance | |
US20230075290A1 (en) | Method for linking a cve with at least one synthetic cpe | |
CN117474010A (zh) | 面向电网语言模型的输变电设备缺陷语料库构建方法 | |
CN116757498A (zh) | 一种惠企政策推送方法、设备及介质 | |
WO2019142157A1 (en) | System and method for talent insights generation and recommendation | |
Miao et al. | Informative core identification in complex networks | |
WO2023091144A1 (en) | Forecasting future events from current events detected by an event detection engine using a causal inference engine | |
US11475529B2 (en) | Systems and methods for identifying and linking events in structured proceedings | |
CN117643036A (zh) | 基于人工智能的认知测试脚本生成 | |
CN112835797A (zh) | 一种基于程序中间结构特征的蜕变关系预测方法 | |
US20140201722A1 (en) | Identification of performance bottlenecks | |
US20200327319A1 (en) | Agency Notice Processing System | |
Cortez | A tutorial on using the rminer R package for data mining tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |