CN112132214A - 兼容多种语言的文档信息精准提取系统 - Google Patents
兼容多种语言的文档信息精准提取系统 Download PDFInfo
- Publication number
- CN112132214A CN112132214A CN202011004234.5A CN202011004234A CN112132214A CN 112132214 A CN112132214 A CN 112132214A CN 202011004234 A CN202011004234 A CN 202011004234A CN 112132214 A CN112132214 A CN 112132214A
- Authority
- CN
- China
- Prior art keywords
- document
- extraction
- information extraction
- information
- entity
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 339
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 94
- 238000012706 support-vector machine Methods 0.000 claims abstract description 63
- 230000000694 effects Effects 0.000 claims abstract description 17
- 238000002054 transplantation Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 88
- 238000012545 processing Methods 0.000 claims description 72
- 238000012549 training Methods 0.000 claims description 61
- 238000012360 testing method Methods 0.000 claims description 56
- 238000010801 machine learning Methods 0.000 claims description 54
- 230000006870 function Effects 0.000 claims description 51
- 238000007781 pre-processing Methods 0.000 claims description 42
- 239000013598 vector Substances 0.000 claims description 41
- 230000011218 segmentation Effects 0.000 claims description 34
- 238000013461 design Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 26
- 238000004458 analytical method Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000003058 natural language processing Methods 0.000 claims description 21
- 238000002474 experimental method Methods 0.000 claims description 16
- 230000014509 gene expression Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 7
- 230000018109 developmental process Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000009412 basement excavation Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000007635 classification algorithm Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000007792 addition Methods 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000008451 emotion Effects 0.000 claims description 2
- 230000008520 organization Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 description 8
- 230000007547 defect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000013106 supervised machine learning method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/245—Classification techniques relating to the decision surface
- G06F18/2451—Classification techniques relating to the decision surface linear, e.g. hyperplane
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Abstract
本发明提供的兼容多种语言的文档信息精准提取系统,实现了支持向量机算法的多种语言的信息提取方法,并分别按照文档分类的实际应用,结果表明在主动学习能力与分类效果方面,支持向量机算法优势明显;设计了一种通用可行的兼容多种语言的文档信息提取架构,并基于该架构实现的兼容多种语言的文档信息精准提取系统;将系统分别应用于对中英文科技新闻文档的信息提取中,结果表明:兼容多种语言的信息提取系统是实体关系提取的成功实践,具有较好的语言移植与可扩展能力、交互性能强、智能化程度高、可扩展性高、提取速度快、信息提取精度高等优势,是一种具备显著创新性,且优势突出的文档信息提取系统。
Description
技术领域
本发明涉及一种文档信息精准提取系统,特别涉及一种兼容多种语言的文档信息精准提取系统,属于文档信息提取技术领域。
背景技术
伴随计算机和办公智能化的普以及互联网特别是移动互联网的飞速发展,各种形式的电子文档正持续高速增长。近年来移动互联网的火热,进一步加速了电子文档的普以与应用,人们的日常生活、工作和学习中都无时无刻的与电子文档发生密切联系。虽然电子文档数量与日俱增,但在庞大的文档库中有很大部分是含有大量垃圾信息的,且其中的信息还具有很大无序性,面对海量的电子文档资源时,为获取所需要的信息,只能采用通读全文或者逐个检索的方法,这大大阻碍了人们获取有效信息的效率。因此,从众多电子文档中智能、快速、精准的得到用户感兴趣的信息正日益成为一个急待解决的问题。
信息提取技术虽是从众多文档中提取所需信息的有效手段,但要构建一个通用可行的信息提取系统却异常艰难和复杂。早期一般都是基于知识工程的方法构建信息提取系统,构建的系统虽具有一定的提取精度,但因提取规则都是基于手工建立的,需要花费大量的时间和资源,而且容易产生错误,导致系统的可移植能力较差。因此,当前迫切需要一种能够从训练语料库中智能获取文档信息提取模式的方法,而基于统计机器学习的信息提取方法能很好的满足这一需求,该方法是包括学习阶段与应用阶段两个部分的提取方法,其中,学习阶段主要是根据机器学习算法和训练语料训练模型,以构建提取模型;应用阶段使用学习阶段构造的模型对输入的文档进行信息提取。因此该类方法具有对领域知识的依赖性比较低,可移植能力较高的优点。近年来伴随已标注样本集的不断增加积累,基于统计机器学习的信息提取技术研发与应用受到越来越多的青睐。
在20世纪60年代末期,有一种文档理解的技术,主要用于从自然语言文档中提取出结构化的数据信息,这就是信息提取技术的前身。之后,伴随因特网的发展和普及,涌现出大量的在线文档和离线文档,这也在一定程度上为信息提取带来了便利。
近年来,伴随语料库的不断扩充及应用需求的逐渐增加,信息提取技术变得更加火热。在理论研究方面,大多数现有技术将重点放在以下几个方面:机器学习的信息提取方法、文档理解方法、篇章分析方法、Web信息提取方法及文档事件探测方法等;在实际应用方面,大部分是构建仅仅适用于某一领域范围的提取系统,或与信息检索、文档挖掘等其它自然语言处理技术相互协作以构建功能相对完善的知识发掘与识别系统。
现有技术的英文信息提取起步较早,在命名实体识别和实体关系提取方面的技术较成熟,但仍有许多关键性的难题需要突破。现有技术重点放在基于机器学习的信息提取方法上,根据模型训练过程中采用的是否是已标注的训练样本集,可分为有监督的学习方法和无监督的学习方法,虽然有监督的机器学习方法逐渐丰富,但同时也存在无法快速得到诸多的已标注训练样本集等瓶颈,然而基于无监督的学习方法却很好地解决了这个难题,但这种方法目前仍处于空白状态,存在着一些急待克服的问题,如特征空间冗余性的缺陷等。
中文信息提取起步较晚,中文不具有英文那种词与词之间存在空格分隔符等的天然特征,使得中文信息提取的变得更加困难。现有技术在中文信息提取方面主要致力于提高命名实体识别的精确度和召回率及构建简单的信息提取系统上,然而对于复杂强健的中文信息提取系统的设计与实现较弱。
在实体关系提取系统实现方面,现有技术采用提出了一种可提高关系提取精度的改进语义序列核函数,然后结合KNN机器学习算法构造分类器来分类并标注关系的类型,但该系统只适合于小规模训练集的关系提取,且精度不高、可移植能力较差。
在事件提取系统的研究方面,现有技术针对中文事件提取技术的缺点与不足,在中文事件提取中的事件类别和元素识别过程中分别采用两种分类方法,并以训练样本作为实验语料,提取性能有所提高,但一般只运用于特定的领域。
综上,现有技术都还存在一些明显不足,表现在以下方面:
一是当前电子文档数量与日俱增,但在庞大的文档库中有很大部分是含有大量垃圾信息的,且其中的信息还具有很大无序性,面对海量的电子文档资源时,现有技术为获取所需要的信息,主要还是采用通读全文或者逐个检索的方法,这大大阻碍了人们获取有效信息的效率;缺少从众多电子文档中智能、快速、精准的得到用户感兴趣信息的兼容多种语言的文档信息精准提取系统;
二是信息提取技术虽是从众多文档中提取所需信息的有效手段,但现有技术要构建一个通用可行的信息提取系统却异常艰难和复杂,早期一般都是基于知识工程的方法构建信息提取系统,但因提取规则都是基于手工建立的,需要花费大量的时间和资源,而且容易产生错误,导致系统的可移植能力较差;
三是现有技术重点放在基于机器学习的信息提取方法上,根据模型训练过程中采用的是否是已标注的训练样本集,可分为有监督的学习方法和无监督的学习方法,虽然有监督的机器学习方法逐渐丰富,但同时也存在无法快速得到诸多的已标注训练样本集等瓶颈,然而基于无监督的学习方法却很好地解决了这个难题,但这种方法目前仍处于空白状态,存在着一些急待克服的问题,如特征空间冗余性的缺陷等,兼容多种语言的文档信息提取技术不成熟,不能够满足行业需求;
四是中文不具有英文那种词与词之间存在空格分隔符等的天然特征,使得中文信息提取的变得更加困难,现有技术在中文信息提取方面主要致力于提高命名实体识别的精确度和召回率及构建简单的信息提取系统上,然而对于复杂强健的中文信息提取系统的设计与实现较弱,只适合于小规模训练集的关系提取,且精度不高、可移植能力较差,一般只运用于特定的领域,同时存在交互性能弱、智能化程度低、可扩展性低、提取速度慢、语言移植能力差、信息提取精度低等缺陷。
发明内容
本发明提供的兼容多种语言的文档信息精准提取系统,不管是在精确度、召回率、F值三个指标上,还是在时间性能指标上,英文文档处理都能很好的迁移到中文文档处理上,表现出较好的可移植能力。另外,在处理中文文档时需要增加英文文档处理所不需要的分词模块,然而由于系统的模块化设计与个性化定制,此时只需在前置处理模块中添加上分词接口即可,展现了系统较好的语言移植与可扩展能力,具有交互性能强、智能化程度高、可扩展性高、提取速度快、语言移植能力好、信息提取精度高等优势。
为达到以上技术效果,本发明所采用的技术方案如下:
兼容多种语言的文档信息精准提取系统,提出一种通用高效可行的兼容多种语言的文档信息精准提取架构,并基于该架构实现了兼容多种语言的文档信息精准提取系统,包括以下几个方面:
第一,提出基于支持向量机的文档信息提取算法,并以多语言文档分类的实际应用设计和分析算法参数,改良优化算法过程,改进提高算法的主动学习能力;
第二,通过对基于机器学习的信息提取流程解析改进,提出通用高效可行的兼容多种语言的信息精准提取架构,该架构主要分为两个层次,分别为前台展示层和后台逻辑处理层,该架构主要分为三个模块,分别为GUI模块、前置处理模块、主动学习模块,GUI模块为前台展示层,将信息提取过程以图形用户界面的方式展示给用户,提高用户的操作效率,提升系统交互性,前置处理模块和主动学习模块为后台逻辑处理层,采用模块化设计与个性化定制,增强系统的扩展能力与语言移植能力;
第三,基于通用高效可行的兼容多种语言的信息精准提取架构,采用python语言实现了兼容多种语言的文档信息精准提取系统,在精确度、召回率、F值、时间性能四个评估指标及语言移植能力上表现出非常好的效果;
兼容多种语言的文档信息精准提取系统:一是基于支持向量机的文档信息提取算法,包括支持向量机及其核函数、基于支持向量机的文档信息提取算法设计与实验;二是兼容多种语言的文档信息精准提取系统的设计,包括基于支持向量机的信息提取流程、文档信息提取图形用户界面、机器学习算法与特征选择、文档信息精准提取系统的架构,三是兼容多种语言的文档信息精准提取系统的实现,包括实现图形用户界面GUI、实现前置处理模块、实现主动学习模块、实现基于规则的提取模块。
兼容多种语言的文档信息精准提取系统,进一步的,基于支持向量机的文档信息提取算法中最重要的是对参数向量e的求解,求出向量e能很容易的计算出分隔超平面的方程,本发明参数向量e的求解算法应用能提速的启发式方法:首先通过一个外层循环对第一个e的值进行选择,并且其选择过程在以下二种方式下交替进行,一种方式是在所有数据集上进行单遍扫描,另外一种方式是在非边界e上进行单遍扫描;另外,对非边界e值进行遍历时,第一步必须构造包含其中所有值的列表,然后才对该列表进行遍历,同时该遍历忽略掉已知且不会改变的e值;在选择第一个e值后,算法通过一个内层循环选择第二个e值,选择方式是通过最大化步长获取第二个e值的;本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤:
第1步,定义数据结构basicDataClass给所有数据赋予初始值,其中包括样本集矩阵X、样本集分类结果矩阵labelMat、容错率tolerRatio、样本集矩阵的行数n,参数向量alpha,参数g及n行2列的矩阵eCache,该矩阵第一列表征的是第二列的值是否有效;
第2步,初始化第1步定义的数据结构,其中向量alpha为零向量,g为0,初始化当前迭代次数curLooNum、迭代次数上限值maxLooNum、用于记录alpha是否已进行优化的变量alphaOptimized及用于标记选择过程是否是全集扫面方式fullScaner,其中curLooNum初始值为0,alphaOptimized的初始值为0,fullScaner为True;
第3步,若满足外层循环条件,此时的迭代次数curLooNum小于设定的上限次数maxLooNum,并且alphaOptimized大于零或fullScaner为True,则转向第4步;否则,跳出外循环,并返回向量alpha和参数g的结果值,算法结束;
第4步,将优化状态alphaOptimized设定为0,并判断全集扫描的状态fullScaner的值是否为True,如果为True,则转向第5步,否则转向第6步;
第5步,在所有数据集上进行单遍扫描,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个;如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第6步,首先找到非边界alpha值列表,再在非边界alpha上进行一次遍历,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个,如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第7步,如果全集扫描状态fullScaner为True,则将fullScaner设定为False,转向第3步;否则,判断优化状态变量alphaOptimized是否为0,如果为0,则将fullScaner设定为True,并转向第3步。
兼容多种语言的文档信息精准提取系统,进一步的,利用支持向量机构造文档信息提取机器学习算法的分类系统,具体步骤为:
步骤1,准备数据集:采用多个类别的开放语料文档集,确定语料的类别与数据详细信息;
步骤2,前置处理数据:采用python脚本用于数据的前置处理操作;
步骤3,参数估计:按照本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤,基于python实现,核函数的选择使用高斯核函数,且在训练样本集上运行SMO算法时对径向基函数的参数值h采用不同的设置,计算此时的训练错误率百分比及支持向量的个数,实施例容错率tolerRatio取0.0001,迭代次数上限值maxLooNum取10000;
步骤4,算法测试:根据估计的参数向量alpha和g的值,对测试样本集进行测试,并计算出此时的测试错误率百分比;
步骤5,实验完成:整理实验结果,当径向基函数中的参数h取10时是一个临界点,此时的测试错误率最小。
兼容多种语言的文档信息精准提取系统,进一步的,基于支持向量机的文档信息提取流程分为三个主要步骤:
步骤一,目标定义和样本集标注,预定义本次文档信息提取的目标,并在事先准备的测试样本集上对待提取的文档信息进行适当手工标记;从事先准备的语料库中随机选取其中20%的样本作为测试样本集,而剩余80%的样本则用于模型训练;
步骤二,模型学习以及优化,在步骤一中已经标注好的测试样本集上,根据其中信息的特征进行特征定义,并将其与其它算法相结合,算法在训练样本集上对参数向量进行学习以构建支持向量机模型,然后利用已构建的支持向量机信息提取模型在测试样本集上对信息提取结果进行测试,并根据提取的结果对上一步定义的特征进行改进和优化,之后不断迭代重复测试,使得构造的模型达到比较理想的性能;
步骤三,基于模型的信息提取,主要是支持向量机模型的应用,即利用上一步训练好的支持向量机模型和算法相结合对未标记的待提取文档进行信息提取。
兼容多种语言的文档信息精准提取系统,进一步的,图形用户界面将数据库中的结构化数据以图形化窗口的形式更友好和直观的展示给信息提取用户,本发明对基于支持向量机的信息提取流程中的三个步骤进行解析,提出用户对文档信息提取系统图形用户界面化的需求:
步骤一对数据样本集进行手工标注是一项花费大量时间资源的任务;将命名实体识别的结果以图形化的界面展示给用户,并且通过图形用户界面GUI对命名实体进行增加、删除、修改操作,简化提取流程、优化操作方式;
步骤二中将提取模型在测试样本集上不断测试以改进模型参数,此时正确的提取结果已经提前标注,用户需要反复比较基于模型的信息提取结果与手工标注的参照结果;
步骤三在模型构建成功之后对其进行应用时,将其对未标注文档提取的结果以图形用于界面GUI的方式展示给用户。
兼容多种语言的文档信息精准提取系统,进一步的,文档信息精准提取系统的架构采用软件开发中的模块化设计与分层思想,整体上划分为两个层次:前台展示层和后台逻辑处理层;前台展示层是图形用户界面GUI,在信息提取的不同阶段,通过友好的图形用户界面GUI的方式为用户观察和处理数据提供方便,简化用户的操作流程;后台逻辑处理层主要包括前置处理模块和主动学习模块;前置处理模块对录入的文档进行文档符号化、分词、词性标注、命名实体识别、指代消解操作,其中的每个步骤都可以根据用户需要个性化定制;主动学习模块包括特征选择子模块与机器学习分类算法选择子模块,根据已标注的文档进行机器学习,之后利用主动学习所训练的提取模型对未标注的文档进行信息提取;其中,特征可以从给定的通用特征中选择符合数据样本特征的特征,也可以采用用户自定义的特征;机器学习算法根据用户需要进行个性化定制,方便用户选择不同的特征或机器学习方法进行模型训练与信息提取,最终找到提取效果较优的参数组合;此外,前台展示层和后台逻辑处理层之间通过规定的接口通信。
兼容多种语言的文档信息精准提取系统,进一步的,实现图形用户界面GUI:该模块将信息提取过程中的一些操作以图形化界面GUI的方式友好的展示给信息提取人员,提高信息提取人员的操作效率,图形用户界面模块主要包括实体类型管理、实体事件管理、实体关系管理、提取文档管理及标记管理,实体类型管理是对实体类型的管理,其中包括对实体类型的增加、删除、修改操作,该系统默认使用的是Standford NER中识别的实体类型,查看Stanford Core NLP文档了解提供了实体类型,其中包括位置、人物、组织、日期、数字、时间、金钱、百分比;在前置处理阶段,信息提取系统进行命名实体识别操作以对文档进行智能分析与发掘,并创建相应的实体类型;对于有时存在的信息提取系统忽略的或识别错误的实体类型,在此模块中信息提取人员根据情况进行添加或者修改操作,信息提取人员也可以添加自定义的实体类型;
实体事件管理是对实体事件的管理,其中包括基本的增加、删除与修改操作,在前置处理阶段信息提取系统通过Stand ford NER对待提取文档进行智能分析以发掘并创建实体事件,其中记录实体事件的名称、实体事件所在的文档段及实体事件所在的开始偏移量与结束偏移量;
实体关系管理是对预定义提取的目标,即自定义待提取的实体关系的管理,实体关系主要包括:实体关系的名称、左侧实体类型、右侧实体类型;文档信息精准提取系统中,在主动学习模块执行之前,信息提取人员在实体关系管理子模块定义一个实体关系,之后按照图形用户界面GUI的提示对待提取文档进行标记以达到学习的目的;系统提供二种方式的数据样本集录入方式:一种是在提取文档管理模块中将准备好的数据样本逐个添加,另一种则是将数据样本以csv文件格式进行整合,之后将此csv格式的文件导入系统中;
导入格式csv文件的第一行<document_id,document_text>是默认的标题行,从第二行开始是文档行,其中第一个逗号之前的文字为文档在数据库中存储的名称,第一个逗号之后用双引号标注的文字为文档内容;一个文档在系统中主要包括二个部分,一部分是原始文档本身,另一部分是经过前置处理阶段之后获取的处理结果,包括文档的分词、词形化、词性标注结果;
标记管理用于主动学习模块的模型训练,在创建实体关系并运行主动学习模块之后,系统以交互式的方式让信息提取人员对训练文档以逐个标记的方式进行模型训练。
兼容多种语言的文档信息精准提取系统,进一步的,实现前置处理模块:采用Stanford Core NLP用于对输入文档进行处理,Stanford Core NLP是采用java语言开发的一套开源自然语言分析工具包,根据输入的未经处理的人类语言文档,得到该输入文档的词形、词性标注、分词结果,也可分析出该文档的语法结构和同义词;已经扩展到对汉语、法语等多种语言的支持;其中,该工具包整合多种自然语言处理技术,其中包括:词性标注、句法分析、命名实体识别、情感分析、共指消解、引导模式学习工具;
前置处理操作主要包括:文档符号化和句子分割、词性标注、文档词形化、指代消解、命名实体识别、句法分析及文档分段;除文档分段外,其它操作步骤中都使用StanfordCore NLP中提供的接口处理;前置处理模块主要用于对文档的信息处理,处理结果会在文档信息管理模块展现给信息提取用户;
句法分析是分析句子的语法结构,得出语法结构树并将其存储在Penn Treebanknotation中;本发明通过NLTK Tree object将语法结构树在图形用户界面GUI中展示给信息提取人员,系统采用Stanford Core NLP工具提供的Standford Parser对句子进行句法分析;
本发明的信息提取系统以文档段为处理单位,该系统主要用于在每个文档段中寻找事先指定的待提取实体关系,前置处理模块采用自定义的分段器对文档进行分段,该自定义分段器满足规则为:对于文档中经过分段器处理之后得到的每一段至少需要有二个实体事件存在。
兼容多种语言的文档信息精准提取系统,进一步的,实现主动学习模块:主动学习是通过用户手工标注的样本信息预测实体关系,需要用户手动标记一些训练样本集,并基于该样本集进行模型训练,之后利用构建的模型进行新增文档的信息提取;在使用主动学习之前,首先必须定义实体关系,之后运行主动学习,进行训练集标注,之后再进行主动学习,一直这样反复循环,直到达到用户满意的提取性能为止;该系统提供两种运行主动学习模式:高精确度模式和高召回率模式,它们相互协调以达到满意的提取性能,通过减少召回率来得到较高的精确度,通过减少精确度来获取较高的召回率;通过以下命令来运行主动学习模块:
Python bin/iepy_runner.pydefined_realNameoutput_res
其中defined_realName为之前定义的实体关系,output_res为输出的结果文件,默认执行模式为高精确度模式,通过在defined_realName之前加上--tune-for=high-精确度c或--tune-for=high-召回率all切换运行模式,所以高精确度的主动学习模块的运行方法为:
Python bin/iepy_runner.py–tune-for=high-精确度cdefined_realNameoutput_res高召回率的主动学习模块的运行方法为:
pythonbin/iepy_runner.py–tune-for=high-召回率alldefined_realNameoutput_res
在主动学习模块运行之后,系统在图形用户界面上提示用户进行训练样本集的标注,同时在后台的命令行界面也为信息提取人员提供了与用户交互的三个命令:run、refresh及STOP,其中run命令根据系统获取的标注信息重新运行主动学习,refresh查看信息提取人员已经标记了多少个训练样本,STOP停止主动学习模块;
本发明用于主动学习的机器学习算法主要采用支持向量机算法,特征选择提供一些通用特征,包括实体间距离、实体数量,这些特征被选择性的加入到稀疏特征集或聚密特征集中,在稀疏特征集中的特征用于线性分类,而聚密特征集中的特征用于非线性分类;信息提取用户可根据需要从通用特征中选择一个或者多个通用特征用于信息提取系统。
兼容多种语言的文档信息精准提取系统,进一步的,实现基于规则的提取模块:基于规则的模块是通过信息提取人员人工定义一系列的类似正则表达式的规则集来发掘文档中的实体关系,如果一个规则函数返回匹配的结果,那么该实体关系一定存在且可以很容易的被提取;本发明一个规则等同于一个事先定义好的Python函数,规则的书写范式中@rule说明了该函数是一个规则,其中的第一个参数为True的含义是如果该规则找到一个匹配事件则返回true,反之,则返回false;而第一个参数为False时表示的含义是若该规则找到一个匹配事件则返回false,反之,则返回true;第二个参数主要用于设定规则执行的优先级别,默认的优先级别为0,函数定义中的两个参数Subject和Object主要用于返回的正则表达式,正则表达式的书写规则使用REFO,它是一个python包,主要用于对象序列的模糊匹配。
与现有技术相比,本发明的贡献和创新点在于:
第一,本发明提供的兼容多种语言的文档信息精准提取系统,实现了支持向量机算法的多种语言的信息提取方法,并分别按照文档分类的实际应用,结果表明在主动学习能力与分类效果方面,支持向量机算法优势明显;设计了一种通用可行的兼容多种语言的文档信息提取架构,并基于该架构实现的兼容多种语言的文档信息精准提取系统;将系统分别应用于对中英文科技新闻文档的信息提取中,结果表明:兼容多种语言的信息提取系统是实体关系提取的成功实践,实用高效、易于扩展、精准快速,解决了系统的语言移植性与可扩展性问题。
第二,本发明提供的兼容多种语言的文档信息精准提取系统,针对当前电子文档数量与日俱增,但在庞大的文档库中有很大部分是含有大量垃圾信息的,且其中的信息还具有很大无序性,面对海量的电子文档资源时,现有技术为获取所需要的信息,主要还是采用通读全文或者逐个检索的方法,这大大阻碍了人们获取有效信息的效率的缺点,提出了一种通用可行的兼容多种语言的信息提取整体架构,设计并实现了从众多电子文档中智能、快速、精准的得到用户感兴趣信息的兼容多种语言的文档信息精准提取系统,大幅提高文档信息精准提取性能;
第三,文档信息精准提取系统的架构设计具有优势为:一是分层设计增强了系统的灵活性和可扩展性,例如为优化系统的主动学习能力,只需修改后台逻辑处理层,而对前台展示层无需做任何修改;二是模块化设计增强了系统的鲁棒性与可移植能力,如果需要给系统增加基于规则的提取模块,只需要处理好基于规则模块与前置处理模块之间的接口,而不需对其它模块进行修改;三是前置处理模块的可定制化设计提高了系统的语言移植能力;前置处理模块包括一系列如文档符号化、文档词形化、词性标注等文档前置处理过程,而对其中的每一个操作信息提取都可以进行个性定制以适应用户的需求;对于英文文档信息提取可指定比较常用的Stanford Core NLP提供的分词接口,是一种具备显著创新性,且优势突出的文档信息精准提取系统;
第四,本发明提供的兼容多种语言的文档信息精准提取系统,不管是在精确度、召回率、F值三个指标上,还是在时间性能指标上,英文文档处理都能很好的迁移到中文文档处理上,表现出较好的可移植能力。另外,在处理中文文档时需要增加英文文档处理所不需要的分词模块,然而由于系统的模块化设计与个性化定制,此时只需在前置处理模块中添加上分词接口即可,展现了系统较好的语言移植与可扩展能力,具有交互性能强、智能化程度高、可扩展性高、提取速度快、语言移植能力好、信息提取精度高等优势。
附图说明
图1是本发明基于支持向量机的文档信息提取流程示意图。
图2是本发明基于机器学习进行信息提取的流程示意图。
图3是本发明兼容多种语言的文档信息精准提取系统的整体架构图。
具体实施方式
下面结合附图,对本发明提供的兼容多种语言的文档信息精准提取系统的技术方案进行进一步的描述,使本领域的技术人员可以更好的理解本发明并能予以实施。
从众多电子文档中智能、快速、精准的获取用户感兴趣的信息正日益成为一个急待解决的问题,现有技术统计机器学习的信息提取方法已成为热点,在应用方面虽然也产生了一些机器学习文档信息提取架构系统,但大多面临着交互性能弱、智能化程度低、可扩展性低、提取速度慢、语言移植能力差、信息提取精度低等缺陷。为此,本发明提出了一种通用高效可行的兼容多种语言的文档信息精准提取架构,并基于该架构实现了兼容多种语言的文档信息精准提取系统,包括以下几个方面:
第一,提出了基于支持向量机的文档信息提取算法,并以多语言文档分类的实际应用设计和分析算法参数,改良优化算法过程,改进提高算法的主动学习能力,结果表明基于支持向量机的文档信息提取机器学习算法在主动学习能力与分类效果方面优势十分明显;
第二,通过对基于机器学习的信息提取流程解析改进,本发明提出通用高效可行的兼容多种语言的信息精准提取架构,该架构主要分为两个层次,分别为前台展示层和后台逻辑处理层,该架构主要分为三个模块,分别为GUI模块、前置处理模块、主动学习模块,GUI模块为前台展示层,将信息提取过程以图形用户界面的方式展示给用户,提高用户的操作效率,提升系统的交互性,前置处理模块和主动学习模块为后台逻辑处理层,采用模块化设计与个性化定制,增强系统的扩展能力与语言移植能力;
第三,基于通用高效可行的兼容多种语言的信息精准提取架构,采用python语言实现了兼容多种语言的文档信息精准提取系统,通过实验表明系统在精确度、召回率、F值、时间性能四个评估指标及语言移植能力上也表现出了非常好的效果;
兼容多种语言的文档信息精准提取系统:一是基于支持向量机的文档信息提取算法,包括支持向量机及其核函数、基于支持向量机的文档信息提取算法设计与实验;二是兼容多种语言的文档信息精准提取系统的设计,包括基于支持向量机的信息提取流程、文档信息提取图形用户界面、机器学习算法与特征选择、文档信息精准提取系统的架构,三是兼容多种语言的文档信息精准提取系统的实现,包括实现图形用户界面GUI、实现前置处理模块、实现主动学习模块、实现基于规则的提取模块。
一、基于支持向量机的文档信息提取算法
在二值分类问题中,假设给定一些数据点集合,机器学习的目标就是找到一个可将这些数据集一分为二的超平面,但这些数据点并不仅仅局限于二维空间上,而是可以是任意维度空间上的点,对于任意维度空间上的点集,通过一个n-1维的超平面将这些数据点分割开来,很多的超平面都可以满足这个目标,从这些满足条件的超平面中找到一个分类效果最优的,该平面被称为最大间隔分类器。
(一)支持向量机及其核函数
为了将支持向量机在线性可分下的表现拓展到非线性可分上来,引入核函数的概念,将线性不可分隔的数据样本集通过一个映射函数变换到某一个高维希尔伯特空间中,且变换后在高维特征空间中这些数据样本集可分隔,在高维空间中寻找最优间隔分类器。
从某个特征空间到另一个特征空间的映射通过核函数实现,把核函数视为一个包装器,它能把数据从某个很难处理的形式转换成另一个较容易处理的形式;该过程通过数学语言进行描述,即将输入的特征x通过映射函数变换到某一个希尔伯特空间中:
c:Rn→D
其中,c表示使用的映射函数,如果<xi,xj>是原始特征的内积,经映射函数映射后的内积变为<c(xi),c(xj)>,则将核函数Y(xi,xj)定义如下:
Y(xi,xj)=<c(xi),c(xj)>=c(xi)Tc(xj)
但给定一个函数Y(xi,xj),使用Y(xi,xj)来代替c(xi)Tc(xj),找到一个映射函数c,使得对所有的xi和xj,都满足核函数定义式,假设给出的核函数为Y(x,z)=(xTz)2,判定Y就是一个可以使用的核函数为:首先假定有一个样本集合T={x1,x2,...,xn},对其中的任意元素xi都有一个特征向量与之对应,将任意两个元素xi和xj带入到核函数K,则有:
Yij=Y(xi,xj)i,j=1,2,...,n
得到一个n行n列的核函数矩阵,然后假设Y是一个有效的核函数,则有:
Yij=c(xi)Tc(xj)=c(xj)Tc(xi)=Yji
其中c是映射函数,核函数矩阵是一个对称矩阵,对于任意向量z,有:
核函数矩阵又是一个半正定矩阵,给定函数Y(x,z),Y是一个有效的核函数,当且仅当对于任意一个包含m个样本的集合{x1,x2,...,xn},其中n<+∞,其相应的核函数矩阵是一个对称半正定矩阵。把核函数和支持向量机关联,使用核函数Y(xi,xj)替换点积,分类方程更新,即为支持向量机。
(二)基于支持向量机的文档信息提取算法设计与实验
支持向量机算法中最重要的是对参数向量e的求解,求出向量e能很容易的计算出分隔超平面的方程,本发明参数向量e的求解算法应用能提速的启发式方法:首先通过一个外层循环对第一个e的值进行选择,并且其选择过程在以下二种方式下交替进行,一种方式是在所有数据集上进行单遍扫描,另外一种方式是在非边界e上进行单遍扫描;另外,对非边界e值进行遍历时,第一步必须构造包含其中所有值的列表,然后才对该列表进行遍历,同时该遍历忽略掉已知且不会改变的e值;在选择第一个e值后,算法通过一个内层循环选择第二个e值,选择方式是通过最大化步长获取第二个e值的;本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤:
第1步,定义数据结构basicDataClass给所有数据赋予初始值,其中包括样本集矩阵X、样本集分类结果矩阵labelMat、容错率tolerRatio、样本集矩阵的行数n,参数向量alpha,参数g及n行2列的矩阵eCache,该矩阵第一列表征的是第二列的值是否有效,而第二列则是实际的I值;
第2步,初始化第1步定义的数据结构,其中向量alpha为零向量,g为0,初始化当前迭代次数curLooNum、迭代次数上限值maxLooNum、用于记录alpha是否已进行优化的变量alphaOptimized及用于标记选择过程是否是全集扫面方式fullScaner,其中curLooNum初始值为0,alphaOptimized的初始值为0,fullScaner为True;
第3步,若满足外层循环条件,此时的迭代次数curLooNum小于设定的上限次数maxLooNum,并且alphaOptimized大于零或fullScaner为True,则转向第4步;否则,跳出外循环,并返回向量alpha和参数g的结果值,算法结束;
第4步,将优化状态alphaOptimized设定为0,并判断全集扫描的状态fullScaner的值是否为True,如果为True,则转向第5步,否则转向第6步;
第5步,在所有数据集上进行单遍扫描,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个;如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第6步,首先找到非边界alpha值列表,再在非边界alpha上进行一次遍历,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个,如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第7步,如果全集扫描状态fullScaner为True,则将fullScaner设定为False,转向第3步;否则,判断优化状态变量alphaOptimized是否为0,如果为0,则将fullScaner设定为True,并转向第3步。
利用支持向量机构造文档信息提取机器学习算法的分类系统,具体步骤为:
步骤1,准备数据集:采用多个类别的开放语料文档集,确定语料的类别与数据详细信息;
步骤2,前置处理数据:采用python脚本用于数据的前置处理操作;
步骤3,参数估计:按照本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤,基于python实现,核函数的选择使用高斯核函数,且在训练样本集上运行SMO算法时对径向基函数的参数值h采用不同的设置,计算此时的训练错误率百分比及支持向量的个数,实施例容错率tolerRatio取0.0001,迭代次数上限值maxLooNum取10000;
步骤4,算法测试:根据估计的参数向量alpha和g的值,对测试样本集进行测试,并计算出此时的测试错误率百分比;
步骤5,实验完成:整理实验结果,当径向基函数中的参数h取10时是一个临界点,此时的测试错误率最小;当参数h小于10时,此时的训练错误率都为0,因此参数h的取值影响分类效果;在文档分类效果方面,文档分类的错误率明显要比在同样训练语料与测试语料上的其它(最大熵算法)文档分类效果好,进一步说明,支持向量机在主动学习方面的能力要优于最大熵算法。
二、兼容多种语言的文档信息精准提取系统的设计
本发明设计和实现一个实用高效的、易于扩展的、具有较好移植性的兼容多种语言的文档信息精准提取系统,该系统基于机器学习算法及系统模块化设计,达到较好的可扩展性与可移植性,具有实用高效的文档信息精准提取能力。
(一)基于支持向量机的信息提取流程
为了能够清楚的描述本发明所设计的提取架构,本发明以基于支持向量机的文档信息提取方法,提出基于机器学习的文档信息提取流程,如图1所示。基于支持向量机的文档信息提取流程分为三个主要步骤:
步骤一,目标定义和样本集标注,预定义本次文档信息提取的目标,并在事先准备的测试样本集上对待提取的文档信息进行适当手工标记;从事先准备的语料库中随机选取其中20%的样本作为测试样本集,而剩余80%的样本则用于模型训练;
步骤二,模型学习以及优化,在步骤一中已经标注好的测试样本集上,根据其中信息的特征进行特征定义,并将其与其它算法相结合,算法在训练样本集上对参数向量进行学习以构建支持向量机模型,然后利用已构建的支持向量机信息提取模型在测试样本集上对信息提取结果进行测试,并根据提取的结果对上一步定义的特征进行改进和优化,之后不断迭代重复测试,使得构造的模型达到比较理想的性能;
步骤三,基于模型的信息提取,主要是支持向量机模型的应用,即利用上一步训练好的支持向量机模型和算法相结合对未标记的待提取文档进行信息提取。
(二)文档信息提取图形用户界面
图形用户界面将数据库中的结构化数据以图形化窗口的形式更友好和直观的展示给信息提取用户,本发明对基于支持向量机的信息提取流程中的三个步骤进行解析,提出用户对文档信息提取系统图形用户界面化的需求。
步骤一对数据样本集进行手工标注是一项花费大量时间资源的任务;信息提取系统在对要提取的文档进行命名实体识别之后,存在一些命名实体的遗漏或错误识别的情况,这时将命名实体识别的结果以图形化的界面展示给用户,并且通过图形用户界面GUI对命名实体进行增加、删除、修改操作,简化提取流程、优化操作方式;另外,对语法分析过程中产生的语法树,图形化的方式展示给信息提取用户会更加直观与友好;
步骤二中将提取模型在测试样本集上不断测试以改进模型参数,此时正确的提取结果已经提前标注,用户需要反复比较基于模型的信息提取结果与手工标注的参照结果,该过程在图形用户界面上展示,将大幅优化用户的操作流程与操作效率;
步骤三在模型构建成功之后对其进行应用时,将其对未标注文档提取的结果以图形用于界面GUI的方式展示给用户,简化用户的操作步骤、增强系统的友好性。
这些图形用户界面GUI只用于提取过程与结果的展示,对于测试样本集的标记和模型的学习模块不产生任何影响,将这些图形用户界面GUI作为一个单独的模块实现,独立于提取系统的具体逻辑处理,有利于本发明架构的模块化设计。
(三)机器学习算法与特征选择
图2为基于机器学习进行信息提取的流程图。首先在训练样本集文档和测试样本集文档上,根据文档中信息特征进行特征定义和算法选择,然后将特征和算法相结合在训练样本集上进行学习以构造提取模型,最后再在测试集文档上使用构造的信息提取模型进行模型测试。
从文档信息提取流程可以得出,信息提取的关键在于特征生成程序的编写和机器学习算法的选择,特征的选择采用集成一些通用特征的方式供用户选择的方法,包括实体间距离、实体的总数特征;同时,将通用特征集划分为二类类别,并将其定义为稀疏性特征集与聚密性特征集。如果一个特征被加入稀疏特征集中,那么该特征将被用于构造文档的线性分类器;同样,若一个特征被加入聚密性特征集中,那么该特征将被用于构造文档的非线性分类器;对于机器学习算法,采用本发明的支持向量机算法,也可以选择一些其它开源的机器学习算法;为增加系统的扩展性与移植性,信息提取根据需求定制自定义的机器学习算法。
(四)文档信息精准提取系统的架构
本发明设计的基于机器学习的兼容多种语言的文档信息精准提取系统的整体架构如图3所示。文档信息精准提取系统的架构采用软件开发中的模块化设计与分层思想,整体上划分为两个层次:前台展示层和后台逻辑处理层;前台展示层是图形用户界面GUI,在信息提取的不同阶段,通过友好的图形用户界面GUI的方式为用户观察和处理数据提供方便,简化用户的操作流程;后台逻辑处理层主要包括前置处理模块和主动学习模块;前置处理模块对录入的文档进行文档符号化、分词、词性标注、命名实体识别、指代消解操作,其中的每个步骤都可以根据用户需要个性化定制;主动学习模块包括特征选择子模块与机器学习分类算法选择子模块,根据已标注的文档进行机器学习,之后利用主动学习所训练的提取模型对未标注的文档进行信息提取;其中,特征可以从给定的通用特征中选择符合数据样本特征的特征,也可以采用用户自定义的特征;机器学习算法根据用户需要进行个性化定制,方便用户选择不同的特征或机器学习方法进行模型训练与信息提取,最终找到提取效果较优的参数组合;此外,前台展示层和后台逻辑处理层之间通过规定的接口通信。
文档信息精准提取系统的架构设计具有优势为:一是分层设计增强了系统的灵活性和可扩展性,例如为优化系统的主动学习能力,只需修改后台逻辑处理层,而对前台展示层无需做任何修改;二是模块化设计增强了系统的鲁棒性与可移植能力,如果需要给系统增加基于规则的提取模块,只需要处理好基于规则模块与前置处理模块之间的接口,而不需对其它模块进行修改;三是前置处理模块的可定制化设计提高了系统的语言移植能力;前置处理模块包括一系列如文档符号化、文档词形化、词性标注等文档前置处理过程,而对其中的每一个操作信息提取都可以进行个性定制以适应用户的需求,如对于中文文档的信息提取,前置处理模块中的分词操作可指定调用分词效果较好的中科院开发的中文分词工具NLPIR;对于英文文档信息提取可指定比较常用的Stanford Core NLP提供的分词接口。
三、兼容多种语言的文档信息精准提取系统的实现
基于本发明的文档信息精准提取系统的架构,基于Python语言实现兼容多种语言的文档信息精准提取系统,该系统的图形用户界面主要包括五个部分:实体类型管理、实体关系管理、实体事件管理、文档管理、用户和用户组管理;前置处理模块主要包括:文档符号化和句子分割、词性标注、文档词形化、命名实体识别、文档分段、指代消解、语法分析;主动学习模块属于后台逻辑处理层,主要采用机器学习算法建立信息提取模型及对待提取文档进行信息提取,其中机器学习部分主要采用本发明提出的支持向量机信息提取算法,兼容多种语言的文档信息精准提取系统还提供随机梯度下降算法、k近邻算法、自适应增强算法的实现与调用接口;为提高系统的灵活性,系统同时也增加对基于规则的信息提取方法的支持。
(一)实现图形用户界面GUI
该模块将信息提取过程中的一些操作以图形化界面GUI的方式友好的展示给信息提取人员,提高信息提取人员的操作效率。图形用户界面模块主要包括实体类型管理、实体事件管理、实体关系管理、提取文档管理及标记管理,实体类型管理是对实体类型的管理,其中包括对实体类型的增加、删除、修改操作,该系统默认使用的是Standford NER中识别的实体类型,查看Stanford Core NLP文档了解提供了实体类型,其中包括位置、人物、组织、日期、数字、时间、金钱、百分比等;在前置处理阶段,信息提取系统进行命名实体识别操作以对文档进行智能分析与发掘,并创建相应的实体类型;对于有时存在的信息提取系统忽略的或识别错误的实体类型,在此模块中信息提取人员根据情况进行添加或者修改操作,信息提取人员也可以添加自定义的实体类型。
实体事件管理是对实体事件的管理,其中包括基本的增加、删除与修改操作,在前置处理阶段信息提取系统通过Stand ford NER对待提取文档进行智能分析以发掘并创建实体事件,其中记录实体事件的名称、实体事件所在的文档段及实体事件所在的开始偏移量与结束偏移量。
实体关系管理是对预定义提取的目标,即自定义待提取的实体关系的管理,实体关系主要包括:实体关系的名称、左侧实体类型、右侧实体类型;文档信息精准提取系统中,在主动学习模块执行之前,信息提取人员在实体关系管理子模块定义一个实体关系,之后按照图形用户界面GUI的提示对待提取文档进行标记以达到学习的目的;系统提供二种方式的数据样本集录入方式:一种是在提取文档管理模块中将准备好的数据样本逐个添加,另一种则是将数据样本以csv文件格式进行整合,之后将此csv格式的文件导入系统中。
导入格式csv文件的第一行<document_id,document_text>是默认的标题行,从第二行开始是文档行,其中第一个逗号之前的文字为文档在数据库中存储的名称,第一个逗号之后用双引号标注的文字为文档内容;一个文档在系统中主要包括二个部分,一部分是原始文档本身,另一部分是经过前置处理阶段之后获取的处理结果,包括文档的分词、词形化、词性标注结果。
标记管理用于主动学习模块的模型训练,在创建实体关系并运行主动学习模块之后,系统以交互式的方式让信息提取人员对训练文档以逐个标记的方式进行模型训练。
(二)实现前置处理模块
在前置处理模块,本发明采用Stanford Core NLP用于对输入文档进行处理,Stanford Core NLP是采用java语言开发的一套开源自然语言分析工具包,根据输入的未经处理的人类语言文档,得到该输入文档的词形、词性标注、分词结果,也可分析出该文档的语法结构和同义词;已经扩展到对汉语、法语等多种语言的支持;其中,该工具包整合多种自然语言处理技术,其中包括:词性标注、句法分析、命名实体识别、情感分析、共指消解、引导模式学习工具。
前置处理操作主要包括:文档符号化和句子分割、词性标注、文档词形化、指代消解、命名实体识别、句法分析及文档分段;除文档分段外,其它操作步骤中都使用StanfordCore NLP中提供的接口处理;前置处理模块主要用于对文档的信息处理,处理结果会在文档信息管理模块展现给信息提取用户。
句法分析是分析句子的语法结构,得出语法结构树并将其存储在Penn Treebanknotation中;本发明通过NLTK Tree object将语法结构树在图形用户界面GUI中展示给信息提取人员。系统采用Stanford Core NLP工具提供的Standford Parser对句子进行句法分析。
本发明的信息提取系统以文档段为处理单位,该系统主要用于在每个文档段中寻找事先指定的待提取实体关系,前置处理模块采用自定义的分段器对文档进行分段,该自定义分段器满足规则为:对于文档中经过分段器处理之后得到的每一段至少需要有二个实体事件存在。
(三)实现主动学习模块
主动学习是通过用户手工标注的样本信息预测实体关系,需要用户手动标记一些训练样本集,并基于该样本集进行模型训练,之后利用构建的模型进行新增文档的信息提取;在使用主动学习之前,首先必须定义实体关系,之后运行主动学习,进行训练集标注,之后再进行主动学习,一直这样反复循环,直到达到用户满意的提取性能为止;该系统提供两种运行主动学习模式:高精确度模式和高召回率模式,它们相互协调以达到满意的提取性能,通过减少召回率来得到较高的精确度,通过减少精确度来获取较高的召回率。通过以下命令来运行主动学习模块:
Python bin/iepy_runner.pydefined_realNameoutput_res
其中defined_realName为之前定义的实体关系,output_res为输出的结果文件,默认执行模式为高精确度模式,通过在defined_realName之前加上--tune-for=high-精确度c或--tune-for=high-召回率all切换运行模式,所以高精确度的主动学习模块的运行方法为:
Python bin/iepy_runner.py–tune-for=high-精确度cdefined_realNameoutput_res高召回率的主动学习模块的运行方法为:
pythonbin/iepy_runner.py–tune-for=high-召回率alldefined_realNameoutput_res
在主动学习模块运行之后,系统在图形用户界面上提示用户进行训练样本集的标注,同时在后台的命令行界面也为信息提取人员提供了与用户交互的三个命令:run、refresh及STOP,其中run命令根据系统获取的标注信息重新运行主动学习,refresh查看信息提取人员已经标记了多少个训练样本,STOP停止主动学习模块。
本发明用于主动学习的机器学习算法主要采用支持向量机算法,特征选择提供一些通用特征,包括实体间距离、实体数量,具体提供的通用特征包括:number_of_tokens-单词或汉字的数目,symbols_in_between-之间的符号,in_same_sentence-是否在同一句,verbs_count-动词的数目,verbs_count_in_between-之间的动词数目,total_number_of_entities-实体总数,other_entities_in_between-之间的其他实体数目,entity_distance-实体间距,entity_order-实体次序,bag_of_wordpos_bigrams_in_between-之间的二元分词词性袋,bag_of_wordpos_in_between-之间的单词词性袋,bag_of_word_bigrams_in_between-之间的二元分词袋。
这些特征被选择性的加入到稀疏特征集或聚密特征集中,在稀疏特征集中的特征用于线性分类,而聚密特征集中的特征用于非线性分类;信息提取用户可根据需要从通用特征中选择一个或者多个通用特征用于信息提取系统。
(四)实现基于规则的提取模块
基于规则的模块是通过信息提取人员人工定义一系列的类似正则表达式的规则集来发掘文档中的实体关系,如果一个规则函数返回匹配的结果,那么该实体关系一定存在且可以很容易的被提取;本发明一个规则等同于一个事先定义好的Python函数,规则的书写范式中@rule说明了该函数是一个规则,其中的第一个参数为True的含义是如果该规则找到一个匹配事件则返回true,反之,则返回false;而第一个参数为False时表示的含义是若该规则找到一个匹配事件则返回false,反之,则返回true;第二个参数主要用于设定规则执行的优先级别,默认的优先级别为0。函数定义中的两个参数Subject和Object主要用于返回的正则表达式。正则表达式的书写规则使用REFO,它是一个python包,主要用于对象序列的模糊匹配。
四、实验结果与分析
(一)评估指标
本发明采用三个评估标准对提取系统的性能进行评估:精确度、召回率、F值,其中,精确度表示信息提取系统中正确提取的个数占全部提取个数的百分比,召回率表示信息提取系统中正确提取的个数占全部可能正确提取个数的百分比,F值用于从整体上对提取系统的性能进行评价,其结果等于前两者的加权平均值;设zq、my、cw分别表示正确提取的实体关系个数、没有提取出的实体关系个数和错误提取的实体关系个数,那么其对应的评估标准的结果为:
精确度:
召回率:
F值:
其中,b是精确度和召回率的权重之比,当b等于1时,表示两者权重相等,即同等重要;当b大于1时,表示精确度的权重大于召回率的权重,前者更重要;而当b小于1时,表示精确度的权重小于召回率的权重,后者更重要。本发明实施例中b值取1,即精确度和召回率权重相等、同等重要。
此外,本发明增加一个时间性能指标用于评估信息提取系统的提取效率,时间性能指标用于评估信息提取系统提取一篇文档平均所需要花费的时间,假设os表示信息提取系统一次性提取的文档数目,t表示提取os篇文档所消耗的时间,以秒为单位,那么平均提取时间JC(篇/s)的计算公式为:
(二)实验内容
本实验在Ubuntu14.04LTS操作系统下,采用本发明设计并实现的兼容多种语言的文档信息精准提取系统进行实体关系信息提取实验。为便于展示本发明基的提取效果与语言移植能力,本实验分别对中英文测试数据集进行信息提取。实验的具体步骤如下所示:
第一步,收集数据,使用基于python的爬虫架构Scrapy从新闻聚合网站中英文版上分别爬取300篇和某主题有关的新闻文章,并存储于本地文件夹中;
第二步,数据的分类与格式化处理,使用基于python编写的随机分类脚本将这些文档随机分入两个文件夹中,其中一个文件夹存入样本集中20%的文档,即60篇文档用于模型测试,另一个文件夹存入剩下的80%,即240篇文档用于模型训练;然后是用事先编写好的格式化脚本分别将测试样本集和训练样本集整合为一个csv格式的文件,其中存储训练样本集的文件名为XL.csv,存储测试样本集的文件名为CS.csv。
第三步,训练数据集导入系统,使用以下命令将训练数据导入到系统中:Pythonbin/csv_to_iepy.pyXL.csv;通过运行以下命令启动图形用户界面:python bin/manage.py runserver;此时只需打开浏览器,并输入URL:http://127.0.0.1:8000,即可进入提取系统主页;
第四步,运行前置处理模块,对输入的文档集进行智能分词、文本分段、词性标注操作,使用以下命令运行前置处理模块:python bin/精确度process.py;
第五步,创建待提取实体关系,在图形用户界面GUI的实体关系管理模块新建待提取的实体关系,并指明实体关系中左侧实体类型及右侧实体类型,其中的实体类型从前置处理模块产生的类型中选择;
第六步,运行主动学习模块构造模型,用于如下方法开启主动学习模块:pythonbin/iepy_runner.py funded outputFileName,这一步需要进入提取系统的GUI主页,并按照提示进行手动标注。
第七步,测试数据集导入系统,使用以下命令将训练样本集导入到系统中:pythonbin/csv_to_iepy.py CS.csv;
第八步,运行主动学习或者规则提取对测试数据样本集进行信息提取;
第九步,将事先准备的240篇中文文档,同样执行上述第二至第八步中所执行的操作,以便对中文文档;
第十步,实验结果整理和分析。
(三)实验结果分析
分别对60篇中文档和60篇英文文档测试样本集的信息提取结果在精确度、召回率和F值这三个指标上的表现,本发明方法在三个评估指标上的表现要比现有技术的提取效果好。本发明在对中文文档进行信息提取所需花费的平均提取时间比对英文文档进行信息提取多,原因主要是对中文文档进行处理时,需要在前置处理模块中增加中文分词任务,而英文文档由于词与词之间存在空格,不需要分词处理。从整体上来看,本发明在对中英文进行处理的时间性能基本相同,因为对中文文档进行处理比对英文文档进行提取多了一步前置处理过程,但该过程花费时间并没加入到提取时间的计算中。
实验结果可以看出,不管是在精确度、召回率、F值三个指标上,还是在时间性能指标上,英文文档进行处理系统都能很好的迁移到中文文档处理上,表现出较好的可移植能力。另外,在处理中文文档时需要增加英文文档处理所不需要的分词模块,然而由于系统的模块化设计与个性化定制,此时只需在前置处理模块中添加上分词接口即可,展现了系统较好的语言移植与可扩展能力。
本发明基于统计机器学习的兼容多种语言的信息提取方法,实现了支持向量机算法的多种语言的信息提取方法,并分别按照文档分类的实际应用,结果表明在主动学习能力与分类效果方面,支持向量机算法优势明显;设计了一种通用可行的兼容多种语言的文档信息提取架构,并基于该架构实现的兼容多种语言的文档信息精准提取系统;将系统分别应用于对中英文科技新闻文档的信息提取中,结果表明:兼容多种语言的信息提取系统是实体关系提取的成功实践,实用高效、易于扩展、精准快速,解决了系统的语言移植性与可扩展性问题。
Claims (10)
1.兼容多种语言的文档信息精准提取系统,其特征在于,提出一种通用高效可行的兼容多种语言的文档信息精准提取架构,并基于该架构实现了兼容多种语言的文档信息精准提取系统,包括以下几个方面:
第一,提出基于支持向量机的文档信息提取算法,并以多语言文档分类的实际应用设计和分析算法参数,改良优化算法过程,改进提高算法的主动学习能力;
第二,通过对基于机器学习的信息提取流程解析改进,提出通用高效可行的兼容多种语言的信息精准提取架构,该架构主要分为两个层次,分别为前台展示层和后台逻辑处理层,该架构主要分为三个模块,分别为GUI模块、前置处理模块、主动学习模块,GUI模块为前台展示层,将信息提取过程以图形用户界面的方式展示给用户,提高用户的操作效率,提升系统交互性,前置处理模块和主动学习模块为后台逻辑处理层,采用模块化设计与个性化定制,增强系统的扩展能力与语言移植能力;
第三,基于通用高效可行的兼容多种语言的信息精准提取架构,采用python语言实现了兼容多种语言的文档信息精准提取系统,在精确度、召回率、F值、时间性能四个评估指标及语言移植能力上表现出非常好的效果;
兼容多种语言的文档信息精准提取系统:一是基于支持向量机的文档信息提取算法,包括支持向量机及其核函数、基于支持向量机的文档信息提取算法设计与实验;二是兼容多种语言的文档信息精准提取系统的设计,包括基于支持向量机的信息提取流程、文档信息提取图形用户界面、机器学习算法与特征选择、文档信息精准提取系统的架构,三是兼容多种语言的文档信息精准提取系统的实现,包括实现图形用户界面GUI、实现前置处理模块、实现主动学习模块、实现基于规则的提取模块。
2.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,基于支持向量机的文档信息提取算法中最重要的是对参数向量e的求解,求出向量e能很容易的计算出分隔超平面的方程,本发明参数向量e的求解算法应用能提速的启发式方法:首先通过一个外层循环对第一个e的值进行选择,并且其选择过程在以下二种方式下交替进行,一种方式是在所有数据集上进行单遍扫描,另外一种方式是在非边界e上进行单遍扫描;另外,对非边界e值进行遍历时,第一步必须构造包含其中所有值的列表,然后才对该列表进行遍历,同时该遍历忽略掉已知且不会改变的e值;在选择第一个e值后,算法通过一个内层循环选择第二个e值,选择方式是通过最大化步长获取第二个e值的;本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤:
第1步,定义数据结构basicDataClass给所有数据赋予初始值,其中包括样本集矩阵X、样本集分类结果矩阵labelMat、容错率tolerRatio、样本集矩阵的行数n,参数向量alpha,参数g及n行2列的矩阵eCache,该矩阵第一列表征的是第二列的值是否有效;
第2步,初始化第1步定义的数据结构,其中向量alpha为零向量,g为0,初始化当前迭代次数curLooNum、迭代次数上限值maxLooNum、用于记录alpha是否已进行优化的变量alphaOptimized及用于标记选择过程是否是全集扫面方式fullScaner,其中curLooNum初始值为0,alphaOptimized的初始值为0,fullScaner为True;
第3步,若满足外层循环条件,此时的迭代次数curLooNum小于设定的上限次数maxLooNum,并且alphaOptimized大于零或fullScaner为True,则转向第4步;否则,跳出外循环,并返回向量alpha和参数g的结果值,算法结束;
第4步,将优化状态alphaOptimized设定为0,并判断全集扫描的状态fullScaner的值是否为True,如果为True,则转向第5步,否则转向第6步;
第5步,在所有数据集上进行单遍扫描,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个;如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第6步,首先找到非边界alpha值列表,再在非边界alpha上进行一次遍历,内层循环,对参数向量alpha进行优化,其中第二个alpha的选择采用启发式方法,即从中选择步长最大的一个,如果alpha对优化成功,则将优化状态变量alphaOptimized设定为1,之后将curLooNum加1,转向第7步;
第7步,如果全集扫描状态fullScaner为True,则将fullScaner设定为False,转向第3步;否则,判断优化状态变量alphaOptimized是否为0,如果为0,则将fullScaner设定为True,并转向第3步。
3.根据权利要求2所述的兼容多种语言的文档信息精准提取系统,其特征在于,利用支持向量机构造文档信息提取机器学习算法的分类系统,具体步骤为:
步骤1,准备数据集:采用多个类别的开放语料文档集,确定语料的类别与数据详细信息;
步骤2,前置处理数据:采用python脚本用于数据的前置处理操作;
步骤3,参数估计:按照本发明基于支持向量机的文档信息提取机器学习算法对参数e进行求解的具体步骤,基于python实现,核函数的选择使用高斯核函数,且在训练样本集上运行SMO算法时对径向基函数的参数值h采用不同的设置,计算此时的训练错误率百分比及支持向量的个数,实施例容错率tolerRatio取0.0001,迭代次数上限值maxLooNum取10000;
步骤4,算法测试:根据估计的参数向量alpha和g的值,对测试样本集进行测试,并计算出此时的测试错误率百分比;
步骤5,实验完成:整理实验结果,当径向基函数中的参数h取10时是一个临界点,此时的测试错误率最小。
4.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,基于支持向量机的文档信息提取流程分为三个主要步骤:
步骤一,目标定义和样本集标注,预定义本次文档信息提取的目标,并在事先准备的测试样本集上对待提取的文档信息进行适当手工标记;从事先准备的语料库中随机选取其中20%的样本作为测试样本集,而剩余80%的样本则用于模型训练;
步骤二,模型学习以及优化,在步骤一中已经标注好的测试样本集上,根据其中信息的特征进行特征定义,并将其与其它算法相结合,算法在训练样本集上对参数向量进行学习以构建支持向量机模型,然后利用已构建的支持向量机信息提取模型在测试样本集上对信息提取结果进行测试,并根据提取的结果对上一步定义的特征进行改进和优化,之后不断迭代重复测试,使得构造的模型达到比较理想的性能;
步骤三,基于模型的信息提取,主要是支持向量机模型的应用,即利用上一步训练好的支持向量机模型和算法相结合对未标记的待提取文档进行信息提取。
5.根据权利要求4所述的兼容多种语言的文档信息精准提取系统,其特征在于,图形用户界面将数据库中的结构化数据以图形化窗口的形式更友好和直观的展示给信息提取用户,本发明对基于支持向量机的信息提取流程中的三个步骤进行解析,提出用户对文档信息提取系统图形用户界面化的需求:
步骤一对数据样本集进行手工标注是一项花费大量时间资源的任务;将命名实体识别的结果以图形化的界面展示给用户,并且通过图形用户界面GUI对命名实体进行增加、删除、修改操作,简化提取流程、优化操作方式;
步骤二中将提取模型在测试样本集上不断测试以改进模型参数,此时正确的提取结果已经提前标注,用户需要反复比较基于模型的信息提取结果与手工标注的参照结果;
步骤三在模型构建成功之后对其进行应用时,将其对未标注文档提取的结果以图形用于界面GUI的方式展示给用户。
6.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,文档信息精准提取系统的架构采用软件开发中的模块化设计与分层思想,整体上划分为两个层次:前台展示层和后台逻辑处理层;前台展示层是图形用户界面GUI,在信息提取的不同阶段,通过友好的图形用户界面GUI的方式为用户观察和处理数据提供方便,简化用户的操作流程;后台逻辑处理层主要包括前置处理模块和主动学习模块;前置处理模块对录入的文档进行文档符号化、分词、词性标注、命名实体识别、指代消解操作,其中的每个步骤都可以根据用户需要个性化定制;主动学习模块包括特征选择子模块与机器学习分类算法选择子模块,根据已标注的文档进行机器学习,之后利用主动学习所训练的提取模型对未标注的文档进行信息提取;其中,特征可以从给定的通用特征中选择符合数据样本特征的特征,也可以采用用户自定义的特征;机器学习算法根据用户需要进行个性化定制,方便用户选择不同的特征或机器学习方法进行模型训练与信息提取,最终找到提取效果较优的参数组合;此外,前台展示层和后台逻辑处理层之间通过规定的接口通信。
7.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,实现图形用户界面GUI:该模块将信息提取过程中的一些操作以图形化界面GUI的方式友好的展示给信息提取人员,提高信息提取人员的操作效率,图形用户界面模块主要包括实体类型管理、实体事件管理、实体关系管理、提取文档管理及标记管理,实体类型管理是对实体类型的管理,其中包括对实体类型的增加、删除、修改操作,该系统默认使用的是Standford NER中识别的实体类型,查看Stanford Core NLP文档了解提供了实体类型,其中包括位置、人物、组织、日期、数字、时间、金钱、百分比;在前置处理阶段,信息提取系统进行命名实体识别操作以对文档进行智能分析与发掘,并创建相应的实体类型;对于有时存在的信息提取系统忽略的或识别错误的实体类型,在此模块中信息提取人员根据情况进行添加或者修改操作,信息提取人员也可以添加自定义的实体类型;
实体事件管理是对实体事件的管理,其中包括基本的增加、删除与修改操作,在前置处理阶段信息提取系统通过Stand ford NER对待提取文档进行智能分析以发掘并创建实体事件,其中记录实体事件的名称、实体事件所在的文档段及实体事件所在的开始偏移量与结束偏移量;
实体关系管理是对预定义提取的目标,即自定义待提取的实体关系的管理,实体关系主要包括:实体关系的名称、左侧实体类型、右侧实体类型;文档信息精准提取系统中,在主动学习模块执行之前,信息提取人员在实体关系管理子模块定义一个实体关系,之后按照图形用户界面GUI的提示对待提取文档进行标记以达到学习的目的;系统提供二种方式的数据样本集录入方式:一种是在提取文档管理模块中将准备好的数据样本逐个添加,另一种则是将数据样本以csv文件格式进行整合,之后将此csv格式的文件导入系统中;
导入格式csv文件的第一行<document_id,document_text>是默认的标题行,从第二行开始是文档行,其中第一个逗号之前的文字为文档在数据库中存储的名称,第一个逗号之后用双引号标注的文字为文档内容;一个文档在系统中主要包括二个部分,一部分是原始文档本身,另一部分是经过前置处理阶段之后获取的处理结果,包括文档的分词、词形化、词性标注结果;
标记管理用于主动学习模块的模型训练,在创建实体关系并运行主动学习模块之后,系统以交互式的方式让信息提取人员对训练文档以逐个标记的方式进行模型训练。
8.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,实现前置处理模块:采用Stanford Core NLP用于对输入文档进行处理,Stanford Core NLP是采用java语言开发的一套开源自然语言分析工具包,根据输入的未经处理的人类语言文档,得到该输入文档的词形、词性标注、分词结果,也可分析出该文档的语法结构和同义词;已经扩展到对汉语、法语等多种语言的支持;其中,该工具包整合多种自然语言处理技术,其中包括:词性标注、句法分析、命名实体识别、情感分析、共指消解、引导模式学习工具;
前置处理操作主要包括:文档符号化和句子分割、词性标注、文档词形化、指代消解、命名实体识别、句法分析及文档分段;除文档分段外,其它操作步骤中都使用Stanford CoreNLP中提供的接口处理;前置处理模块主要用于对文档的信息处理,处理结果会在文档信息管理模块展现给信息提取用户;
句法分析是分析句子的语法结构,得出语法结构树并将其存储在Penn Treebanknotation中;本发明通过NLTK Tree object将语法结构树在图形用户界面GUI中展示给信息提取人员,系统采用Stanford Core NLP工具提供的Standford Parser对句子进行句法分析;
本发明的信息提取系统以文档段为处理单位,该系统主要用于在每个文档段中寻找事先指定的待提取实体关系,前置处理模块采用自定义的分段器对文档进行分段,该自定义分段器满足规则为:对于文档中经过分段器处理之后得到的每一段至少需要有二个实体事件存在。
9.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,实现主动学习模块:主动学习是通过用户手工标注的样本信息预测实体关系,需要用户手动标记一些训练样本集,并基于该样本集进行模型训练,之后利用构建的模型进行新增文档的信息提取;在使用主动学习之前,首先必须定义实体关系,之后运行主动学习,进行训练集标注,之后再进行主动学习,一直这样反复循环,直到达到用户满意的提取性能为止;该系统提供两种运行主动学习模式:高精确度模式和高召回率模式,它们相互协调以达到满意的提取性能,通过减少召回率来得到较高的精确度,通过减少精确度来获取较高的召回率;通过以下命令来运行主动学习模块:
Python bin/iepy_runner.pydefined_realNameoutput_res
其中defined_realName为之前定义的实体关系,output_res为输出的结果文件,默认执行模式为高精确度模式,通过在defined_realName之前加上--tune-for=high-精确度c或--tune-for=high-召回率all切换运行模式,所以高精确度的主动学习模块的运行方法为:
Python bin/iepy_runner.py–tune-for=high-精确度cdefined_realName output_res
高召回率的主动学习模块的运行方法为:
pythonbin/iepy_runner.py–tune-for=high-召回率alldefined_realNameoutput_res
在主动学习模块运行之后,系统在图形用户界面上提示用户进行训练样本集的标注,同时在后台的命令行界面也为信息提取人员提供了与用户交互的三个命令:run、refresh及STOP,其中run命令根据系统获取的标注信息重新运行主动学习,refresh查看信息提取人员已经标记了多少个训练样本,STOP停止主动学习模块;
本发明用于主动学习的机器学习算法主要采用支持向量机算法,特征选择提供一些通用特征,包括实体间距离、实体数量,这些特征被选择性的加入到稀疏特征集或聚密特征集中,在稀疏特征集中的特征用于线性分类,而聚密特征集中的特征用于非线性分类;信息提取用户可根据需要从通用特征中选择一个或者多个通用特征用于信息提取系统。
10.根据权利要求1所述的兼容多种语言的文档信息精准提取系统,其特征在于,实现基于规则的提取模块:基于规则的模块是通过信息提取人员人工定义一系列的类似正则表达式的规则集来发掘文档中的实体关系,如果一个规则函数返回匹配的结果,那么该实体关系一定存在且可以很容易的被提取;本发明一个规则等同于一个事先定义好的Python函数,规则的书写范式中@rule说明了该函数是一个规则,其中的第一个参数为True的含义是如果该规则找到一个匹配事件则返回true,反之,则返回false;而第一个参数为False时表示的含义是若该规则找到一个匹配事件则返回false,反之,则返回true;第二个参数主要用于设定规则执行的优先级别,默认的优先级别为0,函数定义中的两个参数Subject和Object主要用于返回的正则表达式,正则表达式的书写规则使用REFO,它是一个python包,主要用于对象序列的模糊匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004234.5A CN112132214A (zh) | 2020-09-22 | 2020-09-22 | 兼容多种语言的文档信息精准提取系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004234.5A CN112132214A (zh) | 2020-09-22 | 2020-09-22 | 兼容多种语言的文档信息精准提取系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112132214A true CN112132214A (zh) | 2020-12-25 |
Family
ID=73842451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004234.5A Pending CN112132214A (zh) | 2020-09-22 | 2020-09-22 | 兼容多种语言的文档信息精准提取系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132214A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021544A (zh) * | 2021-11-19 | 2022-02-08 | 上海国泰君安证券资产管理有限公司 | 产品合同的要素智能抽取和审核方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992633A (zh) * | 2018-01-09 | 2018-05-04 | 国网福建省电力有限公司 | 基于关键词特征的电子文档自动分类方法及系统 |
CN109685366A (zh) * | 2018-12-24 | 2019-04-26 | 中国人民解放军32181部队 | 基于异变数据的装备健康状态评估方法 |
CN110705296A (zh) * | 2019-09-12 | 2020-01-17 | 华中科技大学 | 一种基于机器学习和深度学习的中文自然语言处理工具系统 |
CN111461146A (zh) * | 2020-03-31 | 2020-07-28 | 武汉大学 | 一种基于稀疏交叉重构的变化检测方法 |
-
2020
- 2020-09-22 CN CN202011004234.5A patent/CN112132214A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992633A (zh) * | 2018-01-09 | 2018-05-04 | 国网福建省电力有限公司 | 基于关键词特征的电子文档自动分类方法及系统 |
CN109685366A (zh) * | 2018-12-24 | 2019-04-26 | 中国人民解放军32181部队 | 基于异变数据的装备健康状态评估方法 |
CN110705296A (zh) * | 2019-09-12 | 2020-01-17 | 华中科技大学 | 一种基于机器学习和深度学习的中文自然语言处理工具系统 |
CN111461146A (zh) * | 2020-03-31 | 2020-07-28 | 武汉大学 | 一种基于稀疏交叉重构的变化检测方法 |
Non-Patent Citations (1)
Title |
---|
曾军 等: "基于机器学习的多语言文本抽取系统实现", 计算机应用与软件, vol. 34, no. 4, pages 87 - 92 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021544A (zh) * | 2021-11-19 | 2022-02-08 | 上海国泰君安证券资产管理有限公司 | 产品合同的要素智能抽取和审核方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bennani-Smires et al. | Simple unsupervised keyphrase extraction using sentence embeddings | |
Weiss et al. | Fundamentals of predictive text mining | |
CN106502994B (zh) | 一种文本的关键词提取的方法和装置 | |
Weiss et al. | Text mining: predictive methods for analyzing unstructured information | |
CN110321432A (zh) | 文本事件信息提取方法、电子装置和非易失性存储介质 | |
Al-Zoghby et al. | Arabic semantic web applications–a survey | |
CN105393264A (zh) | 人机交互学习中的交互区段提取 | |
Hossain et al. | Bengali text document categorization based on very deep convolution neural network | |
Shanmugavadivel et al. | An analysis of machine learning models for sentiment analysis of Tamil code-mixed data | |
CN112417153A (zh) | 文本分类方法、装置、终端设备和可读存储介质 | |
Manjari | Extractive summarization of Telugu documents using TextRank algorithm | |
Liu et al. | A parallel computing-based deep attention model for named entity recognition | |
Ghasemi-Gol et al. | Learning cell embeddings for understanding table layouts | |
CN112132214A (zh) | 兼容多种语言的文档信息精准提取系统 | |
Deena et al. | Keyword extraction using latent semantic analysis for question generation | |
CN113516202A (zh) | Cbl特征提取与去噪的网页精准分类方法 | |
CN117291192B (zh) | 一种政务文本语义理解分析方法及系统 | |
Jun et al. | An algorithm for text categorization with SVM | |
Sakhare | A Sequence-to-Sequence Text Summarization Using Long Short-Term Memory Based Neural Approach | |
Sergeev | An Application of Semantic Relation Extraction Models | |
Shahade et al. | Deep learning approach-based hybrid fine-tuned Smith algorithm with Adam optimiser for multilingual opinion mining | |
CN112949287B (zh) | 热词挖掘方法、系统、计算机设备和存储介质 | |
Liwicki et al. | Bridging the gap between handwriting recognition and knowledge management | |
Kumar et al. | TSAO: Twitter Sentiment Analysis Using Deep Learning with Optimization Techniques | |
Kikani | Deep Learning for Toxic Comment Detection in Online Platforms |
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 |