CN113627154B - 用于文档自动识别入库的方法 - Google Patents

用于文档自动识别入库的方法 Download PDF

Info

Publication number
CN113627154B
CN113627154B CN202110896764.3A CN202110896764A CN113627154B CN 113627154 B CN113627154 B CN 113627154B CN 202110896764 A CN202110896764 A CN 202110896764A CN 113627154 B CN113627154 B CN 113627154B
Authority
CN
China
Prior art keywords
word segmentation
word
segmentation result
corpus
state
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
Application number
CN202110896764.3A
Other languages
English (en)
Other versions
CN113627154A (zh
Inventor
王菊
于鹏飞
崔君
赵野
徐璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
31432 Unit Of Chinese Pla
Chengdu Zhongshi Shunlang Technology Co ltd
Original Assignee
31432 Unit Of Chinese Pla
Chengdu Zhongshi Shunlang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 31432 Unit Of Chinese Pla, Chengdu Zhongshi Shunlang Technology Co ltd filed Critical 31432 Unit Of Chinese Pla
Priority to CN202110896764.3A priority Critical patent/CN113627154B/zh
Publication of CN113627154A publication Critical patent/CN113627154A/zh
Application granted granted Critical
Publication of CN113627154B publication Critical patent/CN113627154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种用于文档自动识别入库的方法,包括以下步骤:基于语料库对接入的一个或多个文档依次进行分词处理,从而得到一个或多个文档的分词结果;所述语料库包括通用字典、标准表字典;构建关联词库,所述关联词库包括若干数据表,每个数据表具有多个字段,其中第一个字段为该数据表的内码;对分词结果进行关联关系标记,关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库。本发明通过模型训练和语料管理对不同的文档进行快速正确的分词,分词后通过和关联词库的对应关系可以实现有用信息的快速入库,真正实现对文档内容进行识别入库。

Description

用于文档自动识别入库的方法
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种用于文档自动识别入库的方法。
背景技术
现在的各单位企业都会产生很多文档,比如各种规章制度、指令、流程等文档,对这些文档做进一步信息化处理需要耗费大量的人力,比如找出关联性以挖掘其中的信息,需要人员进行重复的信息录入以及对比,对人员来说工作量大且容易出错。
随着互联网的快速发展,信息也呈现了爆炸式的增长趋势,在海量的信息中,如何快速抽取出有效信息成了必须要解决对的技术问题。由于信息处理的重复性,而计算机又善于处理机械的、重复的、有规律可循的工作,因此子安就想到了利用计算机来帮助人们进行处理。在用计算机进行自然语言处理时,主要使用的还是基于分词统计的方法,并且实际的使用中取得了不错的效果。目前大多分词系统都是独立的,与数据库没有进行关联,分词系统的重复利用效率低。
发明内容
本发明的目的在于对特定类型的文档进行基于语义的分析,自动标记拾取关键要素信息、数据,并结合关联词库技术实现对特定文档的数据化管理操作,提供一种用于文档自动识别入库的系统和方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
一种用于文档自动识别入库的方法,包括以下步骤:
步骤S1:基于语料库对接入的一个或多个文档依次进行分词处理,从而得到一个或多个文档的分词结果;所述语料库包括通用字典、标准表字典,所述标准表字典由人工注入词条和已有的数据库选取词条建立而来;
步骤S2:构建关联词库,所述关联词库包括若干数据表,每个数据表具有多个字段,其中第一个字段为该数据表的内码;
步骤S3:对分词结果进行关联关系标记,关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库。
更进一步地,所述分词处理的方法包括正向最大切分法、逆向最大切分法、双向最大切分法,其中,
所述正向最大切分法的步骤为:
若所述语料库中最长的词条有i个字符,则将文档中句子的前i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果;
所述逆向最大切分法的步骤为:
若所述语料库中最长的词条有i个字符,则将文档中句子的后i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果;
所述双向最大切分法的步骤为:
结合所述正向最大切分法和所述逆向最大切分法,将切分出来的相同的匹配字符串作为分词结果。
更进一步地,所述分词处理的步骤包括:
①构建隐马尔科夫模型:
建立状态集合Sta=[B,E,M,S],其中,状态值B表示一个词的开始,状态值E表示一个词的结束,状态值M表示一个词的中间,状态值S表示一个成句单字;
建立观测集合Obs=[o1,o2,...on],观测集合Obs中的观测值表示文档中可能出现的字;
获取状态集合Sta中每两个状态值之间的转移概率,形成转移概率矩阵T;获取状态集合Sta中每个状态值在初始时刻出现的初始状态概率,形成初始状态分布I;获取在状态集合Sta的每一状态值下,观测值所出现的概率,形成观测概率矩阵E;
使用状态集合Sta、观测值集合Obs、转移概率矩阵T、发射概率矩阵E、初始状态分布I,可构建隐马尔科夫模型;
②基于构建的隐马尔科夫模型对文档进行分词处理:
将文档中每一个字符作为观测值,构成多个状态值序列Y=[y1,y2,...yT],yi∈Sta,每个状态值序列Y有对应的观测值序列X=[x1,x2,...xT];
③使用维特比算法对进行了隐马尔科夫模型分词处理的分词结果进行优化:
每个状态值序列Y对应为一条路径,从该状态值序列Y对应的观测值序列X中的第一个观测值x1起,计算每个观测值的状态概率:
P(xi)=[pxi(B),pxi(M),pxi(E),pxi(S)],选择其中最大的状态概率作为观测值xi的最优路径;直到计算出所有观测值的最优路径,获得观测值序列X的最优路径。
更进一步地,所述分词处理的步骤,包括:
所述语料库还包括特殊字典,所述特殊字典由人工注入特殊字符,以及特殊字符的属性。
更进一步地,得到得到分词结果之后,还包括步骤:对分词结果进行编辑。
更进一步地,所述构建关联词库的步骤,包括:
关联词库包括若干数据表,每个数据表表示一个类别,并且若干数据表中有一个或多个数据表为的内码为主键,其余数据表的内码为外键;每一个内码为外键的数据表与所有内码为主键的数据表之间均具有关联关系。
更进一步地,所述对分词结果进行关联关系标记的步骤,包括:
若分词结果来源于通用字典或标准表字典,则在该分词结果上标记true,并且分词结果具有与通用字典或标准表字典中匹配的词条相同的属性,将标记后的分词结果放入变量标记区。
更进一步地,所述关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库的步骤,包括:
所述关联词库中每个数据表的非内码字段可对应于所述通用字典和标准表字典中词条的属性,根据分词结果的属性,关联词库中内码为主键的数据表优先从变量标记区中选择与该数据表的字段对应的分词结果进行填充,内码为外键的数据表再从变量标记区中与该数据表的字段对应的分词结果进行填充。
与现有技术相比,本发明的有益效果:
本发明通过模型训练和语料管理对不同的文档进行快速正确的分词,分词后通过和关联词库的对应关系可以实现有用信息的快速入库,真正实现对文档内容进行识别入库。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明流程示意图;
图2为本发明实施例隐马尔科夫模型的集合示意图;
图3为本发明实施例对特殊字符识别的流程示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
实施例:
本发明通过下述技术方案实现,如图1所示,一种用于文档自动识别入库的方法,包括以下步骤:
步骤S1:基于语料库对接入的一个或多个文档依次进行分词处理,从而得到一个或多个文档的分词结果。
所述语料库包括通用字典、标准表字典,所述标准表字典由人工注入词条和已有的数据库选取词条建立而来。其中通用字典包含一些日常通用词汇、时间、日期、地名,以及日常的名词、动词等,这些词语并无特殊的含义,但是却是分词的重要基础。
比如以.utf8为后缀的文件,是语料通用文件之一,如输送方式的数据表里的字段,可包括公路运输、航空运输等;在如装备的数据表里的名称,可包括坦克、飞机等。程序通过hash算法把文件信息转化为字典形成通用字典,用户可以通过操作语料库进行通用字典的查询、添加和删除操作。
所述标准表字典根据已有的数据库提取词条而来,此处所称已有的数据库就是指步骤S2、步骤S3中将分词结果插入的关联词库,历史完成插入的关联词库则形成了已有的数据库,后续会详细介绍关联词库。因此从历史的数据库中选取本次所需分词的词条,作为标准表字典,同时也可以通过人工注入的方式向标准表字典里加入词条。对于人工可识别的同一批类型的文档,可以使用同一个标准表字典作为语料库模板,无需对每个文档都进行一次标准表字典的制作,也可将制作的不同的标准表字典进行存储,以后需要使用时直接调用作为语料库。
另外,所述语料库除了包括通用字典和标准表字典外,还包括特殊字典,因为有一些业务场景中的词条是根据当前业务而随机动态的,很难用字典匹配的方法进行识别。比如文档中涉及到地理信息标识,则会包含经纬度信息,作为举例:
“XX地方(23°23′07″N,123°23′07″E)、(24°23′07″N,124°23′07″E)”,这类地理信息字符串既包含了数字、度、分、秒,又包含了英文字母“E、W、N、S”,要把这类特殊字符的信息正确切分,则不能使用常规的字典。因为如果常规的字典中要包含经纬度的可能组合,那么字典的长度会指数级的膨胀,并且在匹配识别的过程中穷举遍历词条,匹配识别效率也会非常低。
有了语料库后,使用语料库对接入的文档进行分词处理,接入的文档可以是一个或者多个,但如果一次性接入多个文档的话,也是按顺序依次对文档进行分词处理。
在对文档进行分词处理时,基于匹配和统计的分词方法亦可结合使用,先使用语料库对文档的字符串进行匹配分词,再使用统计算法对分词结果进行补充,并针对特殊字符做了特别的算法进行模式匹配和提取。
基于字符串的匹配方法是按照一定的策略将分词的字符串与一个充分大的词条进行匹配,若在语料库中找到某个字符串,则表明成功匹配出该词条。字符串的匹配方法包括正向最大切分法、逆向最大切分法、双向最大切分法。匹配算法要求分词结果颗粒度越大,即词条的字数越多,所能表达的含义越确切。
1、正向最大切分法。
若所述语料库中最长的词条有i个字符,则将文档中句子的前i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果。
作为举例:
假设语料库中最长的词条有7个字,文档中有一条句子为“敌方明天要到达目的地”,在对该句进行分词时,从前往后首先取出该句的前7个字符,即“敌方明天要到达”开始在语料库中进行查找,每一次查找都减少最后一个字,直到该句仅剩下1个字,或者直到在语料库中匹配到词条为止。
开始第1轮扫描:
第1次查找:“敌方明天要到达”,扫描7字语料库,无匹配结果;
第2次查找:“敌方明天要到”,扫描6字语料库,无匹配结果;
第3次查找:“敌方明天要”,扫描5字语料库,无匹配结果;
第4次查找:“敌方明天”,扫描4字语料库,无匹配结果;
第5次查找:“敌方明”,扫描3字语料库,无匹配结果;
第6次查找:“敌方”,扫描2字语料库,有匹配结果;
扫描中止,输出第1个分词结果“敌方”,切分出第1个分词结果“敌方”后,继续开始第2轮的7字扫描:
第1次查找:“明天要到达目的”,扫描7字语料库,无匹配结果;
第2次查找:“明天要到达目”,扫描6字语料库,无匹配结果;
第3次查找:“明天要到达”,扫描5字语料库,有匹配结果;
扫描中止,输出第2个分词结果“明天要达到”,切分出第2个分词结果“明天要到达”,继续开始第3轮的7字扫描,但该句剩下的字数已不满7字,则直接扫描剩下的字符:
第1次查找:“目的地”,扫描3字语料库,有匹配结果;
扫描中止,输出第3个分词结果“目的地”,切分出第3个分词结果“目的地”,整体扫描结束。
因此正向最大切分法最终处理的分词结果为:“敌方/明天要到达/目的地”。
2、逆向最大切分法。
若所述语料库中最长的词条有i个字符,则将文档中句子的后i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果。
作为举例:
假设语料库中最长的词条有7个字,文档中有一条句子为“敌方明天要到达目的地”,在对该句进行分词时,从后往前首先取出该句的后7个字符,即“天要到达目的地”开始在语料库中进行查找,每一次查找都减少最前面的一个字,其他逻辑与正向最大切分法相同。
开始第1轮扫描:
第1次查找:“天要到达目的地”,扫描7字语料库,无匹配结果;
第2次查找:“要到达目的地”,扫描6字语料库,无匹配结果;
......
第5次查找:“目的地”,扫描3字语料库,有匹配结果;
扫描中止,输出第1个分词结果“目的地”,切分出第1个分词结果“目的地”后,继续开始第2轮的7字扫描:
第1次查找:“敌方明天要到达”,扫描7字语料库,无匹配结果;
第2次查找:“方明天要到达”,扫描6字语料库,无匹配结果;
第3次查找:“明天要到达”,扫描5字语料库,有匹配结果;
扫描中止,输出第2个分词结果“明天要到达”,切分出第2个分词结果“明天要到达”后,继续开始第3轮的扫描:
第1次查找:“敌方”,扫描2字语料库,有匹配结果,输出第3个分词结果“敌方”,逆向最大切分法最终处理的分词结果为:“敌方/明天要到达/目的地”。
3、双向最大切分法。
结合所述正向最大切分法和所述逆向最大切分法,将切分出来的相同的匹配字符串作为分词结果。
由于对于同一个文档使用正向最大切分法和逆向最大切分法得到的结果不一样,但是其中必然有一个是正确的,遵循分词结果颗粒度越大,即词条的字数越多的原则,选择正向最大切分法和逆向最大切分法中分词结果颗粒度最大,词条字数最多的结果,作为最终的分词结果。
基于字符串匹配的算法优点是速度快,时间复杂度可以保持在0(n),实现简单,适用于固定场景下分词的快速匹配。但对歧义和未登记入字典的次来说,效果不佳。因此基于统计的分词方法可用以对匹配的分词结果进行补充,本实施例提供的统计分词方法包括隐马尔科夫模型和维特比算法,可以对文档中字符串进行词首、词中、词尾的标注,得以进行分词。
1、构建隐马尔科夫模型。
作为举例,假设已标注的训练样本为以下5条:
Figure BDA0003198252610000111
建立状态集合Sta=[B,E,M,S],其中,状态值B表示一个词的开始,状态值E表示一个词的结束,状态值M表示一个词的中间,状态值S表示一个成句单字。
建立观测集合Obs=[o1,o2,...on],观测集合Obs中的观测值表示文档中可能出现的字,即Obs=[行,动,名,称,为,雷,电,分,三,个,阶,段,由,两,部,队,协,同,完,成,的,目,是,夺,取,制,空,权,对,很,重,要]。
有了状态集合,任何时刻的状态值只依赖前一时刻的状态值,因此需要知道每个相邻状态值之间的转移概率,获取状态集合Sta中每两个状态值之间的转移概率,形成转移概率矩阵T:
Figure BDA0003198252610000112
Figure BDA0003198252610000121
状态值之间的转移概率矩阵T知道后,还需要知道模型在初始时刻各状态值出现的概率,获取状态集合Sta中每个状态值在初始时刻出现的初始状态概率,形成初始状态分布I=[B:16/45,E:16/45,M:2/45,S:11/45]。
由于任意时刻的观测值只与该时刻的状态值有关,需要知道在一个状态值下,所对应的观测值的概率,获取在状态集合Sta的每一状态值下,观测值所出现的概率,形成观测概率矩阵E:
... ...
B 5/16 0 1/16 0 0 1/16 0 0 0
M 0 0 0 0 0 2/2
E 0 5/16 0 1/16 0
S 0 0 0 1/11
使用以上作为训练集后,即可使用状态集合Sta、观测值集合Obs、移概率矩阵T、发射概率矩阵E、初始状态分布I,可构建隐马尔科夫模型。
2、基于构建的隐马尔科夫模型对文档进行分词处理。
文档中每一个字符作为观测值构成观测值序列X=[x1,x2,...xi,...xn],其中每个观测值是一个字符,xi表示在i时刻的观测值,请参见图2,每个观测值序列X有对应的状态值序列Y=[y1,y2,...yi,...yn],yi∈Sta,yi表示在i时刻的状态值。并且每个状态值yi只与前一状态值y(i-1)有关,每一观测值xi只与该时刻的状态值yi有关。
3、使用维特比算法对进行了隐马尔科夫模型分词处理的分词结果进行优化。
每个状态值序列Y对应为一条路径,从该状态值序列Y对应的观测值序列X中的第一个观测值x1起,计算每个观测值的状态概率:
P(xi)=[pxi(B),pxi(M),pxi(E),pxi(S)],选择其中最大的状态概率作为观测值xi的最优路径;直到计算出所有观测值的最优路径,获得观测值序列X的最优路径。
初始,t=1时刻,观测值“x1”的初始备选路径由4个状态值组成,该4个状态值分别为B、M、E、S,由于是观测序列X的第一个观测值,所以前驱为空;根据观测值“x1”的初始状态分布和观测概率,计算观测值“x1”在4个状态值下的状态概率:
P(x1)=[px1(B),px1(M),px1(E),px1(S)],选择其中最大值的状态概率作为观测值“x1”的最优路径;
递推,t=2时刻,观测值“x2”的备选路径也加入该4个状态值,长度增加一个单位,假设观测值“x1”的最大状态概率为px1(B),那么观测值“x2”的前驱则为状态值B;根据观测值“x2”的转移概率和观测概率,以及前驱状态值,计算观测值“x2”在4个状态值下的状态概率:
P(x2)=[px2(B),px2(M),px2(E),px2(S)],选择其中最大值的状态概率作为观测值“x2”的最优路径;
递推,t≥3时刻,依次选择观测值“x3、...xT”的最优路径;
终止,t=T时刻,选择观测值序列X的最优路径。
作为举例:“行动很重要有三个部队完成”
初始,t=1时刻,观测值“行”的初始备选路径由四个状态值B、M、E、S组成,根据观测值“行”的初始状态分布I和观测概率矩阵E,计算观测值“行”在4个状态值下的概率:
P(行)=[p行(B),p行(M),p行(E),p行(S)];
p行(B)=B的初始状态分布I*行在状态值B下的概率=16/45*5/16=1/9;
P行(M)=M的初始状态分布I*行在状态值M下的概率=2/45*0=0;
P行(E)=E的初始状态分布I*行在状态值E下的概率=16/45*0=0;
p行(S)=S的初始状态分布I*行在状态值S下的概率=11/45*0=0;
选择其中最大值的概率值p行(B)=1/9,那么观测值“行”的最优路径即为B;
递推,t=2时刻,观测值“动”的备选路径也加入4个状态值,根据观测值“动”的转移概率和观测概率,以及前驱状态值B的概率,计算观测值“动”在4个状态值下的概率:
P(动)=[p动(B),p动(M),p动(E),p动(S)];
p动(B)=前驱状态值B的概率*状态值B转换到状态值B的概率*动在状态值B下的概率=1/9*0*0=0;
p动(M)=前驱状态值B的概率*状态值B转换到状态值M的概率*动在状态值M下的概率=1/9*2/16*0=0;
p动(E)=前驱状态值B的概率*状态值B转换到状态值E的概率*动在状态值E下的概率=1/9*4/16*5/16;
p动(S)=前驱状态值B的概率*状态值B转换到状态值S的概率*动在状态值S下的概率=1/9*0*0=0;
选择其中最大值的概率值p动(E),那么观测值“动”的最优路径即为前驱状态值B到E;
递推,t≥3时刻,依次选择观测值“很、重、要、有、三、个、部、队、完、成”的最优路径;
终止,t=T时刻,选择观测值序列X=[行,动,很,重,要,有,三,个,部,队,完成]的最优路径。
结果:
Figure BDA0003198252610000151
对于特殊字典的匹配,本方案使用了状态机方法进行模式匹配,请参见图3,状态计算从文字末尾提取一个单词尝试匹配,并按照从后往前的顺序依次提取单词进行匹配。
初始状态只被英文字母‘E’‘W’‘N’‘S’激活,随后依次识别‘秒’的符号和数字串,‘分’的符号和数字串,最后识别‘度’的符号和数字串。这一整套状态切换流程能保证合乎定义的经纬度字符串能够被正确匹配。状态切换过程中一旦有一个状态的输入是模式定义外的非法输入,则匹配失败。只有在最后一个状态‘度’的数字匹配中,遇到其他字符,则说明匹配成功并结束,相关经纬度被提取。
这套状态机机制可以灵活调整,根据不同的特殊字符串模式制定,具有较好的通用性和适配性。除了经纬度坐标提取,也可以适用于其他有一定规律,由特殊字符组合形成的单词提取。
在对文档进行分词处理得到分词结果后,可以对分词结果进行编辑,包括对分词结果进行修改、添加、删除,在编辑时,若分词结果数量大,可以通过查询功能,查询关键字或关键词后查询到要找的分词结果。
步骤S2:构建关联词库,所述关联词库包括若干数据表,每个数据表具有多个字段,其中第一个字段为该数据表的内码。
关联词库包括若干数据表,每个数据表表示一个类别,并且若干数据表中有一个或多个数据表为的内码为主键,其余数据表的内码为外键;每一个内码为外键的数据表与所有内码为主键的数据表之间均具有关联关系。
作为举例:
关联词库可以包括:任务数据表、部队数据表、行动数据表、装备数据表、区域数据表等若干数据表,每个数据表表示一个类别,比如任务数据表则表示的类别是任务,任务数据表中具有多个字段,其中第一个字段为该数据表的内码,其余的字段则表示任务,比如字段2表示雷霆任务,字段3表示冰雪任务,字段4表示红石任务等。
在整个关联词库中,可以使任务数据表的内码为主键,那么其余的数据表则都和该任务数据表关联,其余与内码为主键的数据表关联的数据表的内码,则相当于是外键。
步骤S3:对分词结果进行关联关系标记,关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库。
首先判断分词结果是否来源于通用字典,如果是,则在该分词结果上标记true;如果不是,则继续判断分词结果是否来源于标准表字典,如果是,则也在该分词结果上标记true。
由于语料库中标准表数据是根据若干历史的关联词库中提取的,所以在提取词条时,词条上已经有了该词条属于哪个数据表,以及属于该数据表的哪个字段的信息,将这些已有信息定义为属性。然后分词结果又是根据语料库的匹配而来,所以分词结果具有与语料库中匹配的词条相同的属性,在给分词结果标记时,同时标记其属性,将标记后的分词放入变量标记区。
关联词库中每个数据表的非内码字段(即除第一个字段外)可对应于所述通用字典和标准表字典中词条的属性,根据分词结果的属性,关联词库中内码为主键的数据表(比如任务数据表)优先从变量标记区中选择与该数据表的字段对应的分词结果进行填充,内码为外键的数据表再从变量标记区中与该数据表的字段对应的分词结果进行填充。
接入的一个或多个文档按照上述方法最后插入关联词库中,人员通过查看关联词库即可快速获取文档的关键内容。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种用于文档自动识别入库的方法,其特征在于:包括以下步骤:
步骤S1:基于语料库对接入的一个或多个文档依次进行分词处理,从而得到一个或多个文档的分词结果;所述语料库包括通用字典、标准表字典,所述标准表字典由人工注入词条和已有的数据库选取词条建立而来;
步骤S2:构建关联词库,所述关联词库包括若干数据表,每个数据表具有多个字段,其中第一个字段为该数据表的内码;
所述构建关联词库的步骤,包括:关联词库包括若干数据表,每个数据表表示一个类别,并且若干数据表中有一个或多个数据表的内码为主键,其余数据表的内码为外键;每一个内码为外键的数据表与所有内码为主键的数据表之间均具有关联关系;
步骤S3:对分词结果进行关联关系标记,关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库;
所述对分词结果进行关联关系标记的步骤,包括:若分词结果来源于通用字典或标准表字典,则在该分词结果上标记true,并且分词结果具有与通用字典或标准表字典中匹配的词条相同的属性,将标记后的分词结果放入变量标记区;
所述关联词库通过关联关系标记,从分词结果中选出与关联词库的字段对应的分词结果,将选出的分词结果插入关联词库的字段中,从而对接入的文档完成识别入库的步骤,包括:
所述关联词库中每个数据表的非内码字段可对应于所述通用字典和标准表字典中词条的属性,根据分词结果的属性,关联词库中内码为主键的数据表优先从变量标记区中选择与该数据表的字段对应的分词结果进行填充,内码为外键的数据表再从变量标记区中与该数据表的字段对应的分词结果进行填充。
2.根据权利要求1所述的一种用于文档自动识别入库的方法,其特征在于:所述分词处理的方法包括正向最大切分法、逆向最大切分法、双向最大切分法,其中,
所述正向最大切分法的步骤为:
若所述语料库中最长的词条有i个字符,则将文档中句子的前i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果;
所述逆向最大切分法的步骤为:
若所述语料库中最长的词条有i个字符,则将文档中句子的后i个字符作为匹配字符串,使用该i字匹配字符串在语料库中进行查找;每次查找都减少一个字符,直到在语料库中找到该匹配字符串,或该匹配字符串已减少到一个字;将在语料库中找到的匹配字符串切分出来作为分词结果;
所述双向最大切分法的步骤为:
结合所述正向最大切分法和所述逆向最大切分法,将切分出来的相同的匹配字符串作为分词结果。
3.根据权利要求1或2所述的一种用于文档自动识别入库的方法,其特征在于:所述分词处理的步骤包括:
①构建隐马尔科夫模型:
建立状态集合Sta=[B,E,M,S],其中,状态值B表示一个词的开始,状态值E表示一个词的结束,状态值M表示一个词的中间,状态值S表示一个成句单字;
建立观测集合Obs=[o1,o2,...on],观测集合Obs中的观测值表示文档中可能出现的字;
获取状态集合Sta中每两个状态值之间的转移概率,形成转移概率矩阵T;获取状态集合Sta中每个状态值在初始时刻出现的初始状态概率,形成初始状态分布I;获取在状态集合Sta的每一状态值下,观测值所出现的概率,形成观测概率矩阵E;
使用状态集合Sta、观测值集合Obs、转移概率矩阵T、发射概率矩阵E、初始状态分布I,可构建隐马尔科夫模型;
②基于构建的隐马尔科夫模型对文档进行分词处理:
将文档中每一个字符作为观测值,构成多个状态值序列Y=[y1,y2,...yT],yi∈Sta,每个状态值序列Y有对应的观测值序列X=[x1,x2,...xT];
③使用维特比算法对进行了隐马尔科夫模型分词处理的分词结果进行优化:
每个状态值序列Y对应为一条路径,从该状态值序列Y对应的观测值序列X中的第一个观测值x1起,计算每个观测值的状态概率:
P(xi)=[pxi(B),pxi(M),pxi(E),pxi(S)],选择其中最大的状态概率作为观测值xi的最优路径;直到计算出所有观测值的最优路径,获得观测值序列X的最优路径。
4.根据权利要求1所述的一种用于文档自动识别入库的方法,其特征在于:所述分词处理的步骤,包括:
所述语料库还包括特殊字典,所述特殊字典由人工注入特殊字符,以及特殊字符的属性。
5.根据权利要求1所述的一种用于文档自动识别入库的方法,其特征在于:得到分词结果之后,还包括步骤:对分词结果进行编辑。
CN202110896764.3A 2021-08-05 2021-08-05 用于文档自动识别入库的方法 Active CN113627154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110896764.3A CN113627154B (zh) 2021-08-05 2021-08-05 用于文档自动识别入库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110896764.3A CN113627154B (zh) 2021-08-05 2021-08-05 用于文档自动识别入库的方法

Publications (2)

Publication Number Publication Date
CN113627154A CN113627154A (zh) 2021-11-09
CN113627154B true CN113627154B (zh) 2022-04-12

Family

ID=78382976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110896764.3A Active CN113627154B (zh) 2021-08-05 2021-08-05 用于文档自动识别入库的方法

Country Status (1)

Country Link
CN (1) CN113627154B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563375A (zh) * 2020-05-07 2020-08-21 北京捷通华声科技股份有限公司 一种文本生成方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2340531C (en) * 2001-03-12 2006-10-10 Ibm Canada Limited-Ibm Canada Limitee Document retrieval system and search method using word set and character look-up tables
CN109325019B (zh) * 2018-08-17 2022-02-08 国家电网有限公司客户服务中心 数据关联关系网络构建方法
CN111651447B (zh) * 2020-06-03 2023-09-15 南京维斯德软件有限公司 一种智能建造全寿期数据处理分析管控系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563375A (zh) * 2020-05-07 2020-08-21 北京捷通华声科技股份有限公司 一种文本生成方法和装置

Also Published As

Publication number Publication date
CN113627154A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN109543178B (zh) 一种司法文本标签体系构建方法及系统
JP3689455B2 (ja) 情報処理方法及び装置
US6507678B2 (en) Apparatus and method for retrieving character string based on classification of character
US6178417B1 (en) Method and means of matching documents based on text genre
US8577882B2 (en) Method and system for searching multilingual documents
CN112417891B (zh) 一种基于开放式信息抽取的文本关系自动标注方法
CN110580281A (zh) 一种基于语义相似度的相似案件匹配方法
JP2002189747A (ja) 文書情報の検索方法
CN110866102A (zh) 检索处理方法
CN109165331A (zh) 一种英文地名的索引建立方法及其查询方法和装置
CN105404677A (zh) 一种基于树形结构的检索方法
CN115618883A (zh) 一种业务语义识别方法及装置
JP3258063B2 (ja) データベース検索システム及び方法
CN116821395B (zh) 基于全文检索的贸易数据疑似命中检索方法及系统
CN116628173B (zh) 一种基于关键字提取的智能客服信息生成系统及生成方法
CN113627154B (zh) 用于文档自动识别入库的方法
CN115114493A (zh) 基于问题匹配的智能问答系统实现方法及装置
CN113157869A (zh) 一种文档精准定位检索方法及系统
CN105677684A (zh) 一种基于外部数据源对用户生成内容进行语义标注的方法
CN105426490A (zh) 一种基于树形结构的索引方法
CN115577269A (zh) 一种基于字符串文本特征相似度的黑名单模糊匹配方法
CN114580407A (zh) 一种基于最大熵的园区产业招商智能咨询方法及系统
JPH08272811A (ja) 文書管理方法及びその装置
Nagasudha et al. Key word spotting using HMM in printed Telugu documents
CN113139106B (zh) 一种保密检查的事件审核方法和装置

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