CN116226349A - 基于表格语义fasttext问句解析的问答方法及*** - Google Patents
基于表格语义fasttext问句解析的问答方法及*** Download PDFInfo
- Publication number
- CN116226349A CN116226349A CN202310196713.9A CN202310196713A CN116226349A CN 116226349 A CN116226349 A CN 116226349A CN 202310196713 A CN202310196713 A CN 202310196713A CN 116226349 A CN116226349 A CN 116226349A
- Authority
- CN
- China
- Prior art keywords
- question
- dictionary
- analysis
- answer
- semantic
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于表格语义fasttext问句解析的问答方法及***,其中,方法包括:数据准备阶段:将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料库并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;问句解析阶段:将问句通过解析字典进行解析后与所述问答标注语料库根据fasttext相似度计算模型进行语义解析;获取答句阶段:根据语义解析后的问句进行运算构建完整答句。本发明将复杂表单改写为具有篇章层次结构的自然语言文本,克服了复杂表格结构难以标准化为数据库任务的困难;通过fasttext问句解析模型,通过对一个近似解进行对比的方法获得了一般问句多属性解,极大的满足了工程需要。
Description
技术领域
本文件涉及问句解析技术领域,尤其涉及一种基于表格语义fasttext问句解析的问答方法及***。
背景技术
问答技术是一种典型的自然语言处理技术在人工智能中的应用,现实中出现的主要问题是问答的随意性和工程中的唯一性之间矛盾,现有技术的不足在于难以保证答***性要求,这在工程中是难以接受的,现有技术中的问答技术存在如下缺陷:
(1)问句语义理解歧义。基于框架语义的方法中定义问答句的问答框架,由于框架是人为定义的,具有随意性和模糊性。比如“普光气田井深大于6000米的井有哪些”,可以定义为“普光气田+属性”、“普光气田+井+属性”、“普光气田+井+属性约束”等各种语义名称,每个人都可以定义出不同的语义,最后没有一种权威的语义定义,导致语料标注困难,不能满足工程上答案唯一性和准确性的要求。如果按照日常的5W1H进行问句解析,则工程中很多非问句和多限定条件问句就难以解析,比如“昨日日产量”,这不是一个问句而是一个数值查询浏览;“普光气田井深大于6000米的井有哪些”,这里包括一层“有哪些井”和第二层“有哪些大于6000米的井”两个What的问题,这就很难用单层的序列的5W1H进行问句解析。
(2)难以处理问句中复杂的层次结构。工程中的问答***都是以某一公司的某些业务的时空范围内建设的,工程中所采用的工程表单从可读性、无歧义原则出发,一般具有复杂的空间结构和时间结构,这些结构难以通过往下分解为更简单的图或者小表。一般一张表里包含了复杂的业务、结构、时间关系,可以理解为多种小表或者小图有机地拼接在一起的汇总表。比如一张油田生产日报表就包含生产井、钻井、净化厂、生产服务中心等所有业务,包含主体、线、井以及净化装置的各级联合等设施空间关系,以及年、月、日的时间层次关系,而且结构中的对象在表单的横向和纵向都有,并不是按照传统的对象+属性竖向排成单表格形式。如果按照传统的简单问句解析的思路,需要将这张工程中的复杂表格分解成很多小表或者对这张表单重构一张复杂的知识图谱,这些反工程的做法将简单问题复杂化了,将额外增加很多无效工作量,既难以保证工程逻辑的合理性,也难以保证实施进度。
(3)需要的字典太多,不具备工程性。比如一个油田的问答***要39付字典,才能实现问句中词语→实体(时间、各级设备)→概念(属性)→句子语义(问句形式)的转换,完成对问句的语义解析任务,这个任务工程量巨大,核心问题是把一张具有复杂结构的表单分解为更小粒度之后,额外多出来的这些字典所描述的内容,就是工程表单中的各级结构已有的内容,只是用多张小表或者小图重新进行了一次显性描述,而没有最有效地直接运用工程中的隐形知识。
(4)跨多隐含节点导致计算时间太长。基于知识图谱的方法中,在跨节点问答时,将导致扩展时间太长。在大时间粒度进行跨节点计算时也出现死机问题,比如生产日报表中,如果要算年的值,就会出现时间太长导致不能及时回答的问题,比如“XX线的累积产量是多少”,这里的”线→井”之间有一个隐含包含关系,时间”年→月→日”也有一个时间的层次包含关系,生产日报每天一张,结果频繁的调用数据库表然后进行读取累加操作,直接导致计算机死机。
因此亟需一种问答方法以解决上述缺陷。
发明内容
本发明提供一种基于表格语义fasttext问句解析的问答方法及***,旨在解决上述问题。
本发明提供了一种基于表格语义fasttext问句解析的问答方法,包括:
S1、数据准备阶段:将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料库并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;
S2、问句解析阶段:将问句通过解析字典进行解析,将解析后的问句与问答标注语料库根据fasttext相似度计算模型进行语义解析;
S3、获取答句阶段:根据语义解析后的问句进行运算构建完整答句。
本发明提供了一种基于表格语义fasttext问句解析的问答***,包括:
数据模块,用于将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;
加工模块,用于将问句通过解析字典进行解析后根据fasttext相似度计算模型将问句进行语义解析;
应用模块,用于根据语义解析后的问句通过问答标注语料获取答句,并对答句拼装后获取完整答句。
本发明实施例通过直接对复杂工程表单进行问答构建,利用工程表单本身所具有的完整意义和复杂结构,克服了问句中的理解歧义以及多层次跨界点节点计算问题;将复杂表单改写为具有篇章层次结构的自然语言文本,克服了复杂表格结构难以标准化为数据库任务的困难;同时通过fasttext问句解析模型,通过对一个近似解进行对比的方法获得了一般问句多属性解,极大的满足了工程上对于数据准确性的要求。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的基于表格语义fasttext问句解析的问答方法流程图;
图2为本发明实施例的基于表格语义fasttext问句解析的问答***的示意图;
图3为本***实施例的一个具体的基于表格查询模式的问答***的示意图;
图4为本发明实施例的日报表结构示意图;
图5为本发明实施例的日报表的篇章结构示意图;
图6为本发明实施例的日报知识库示意图;
图7为本发明实施例的表名字典示意图;
图8为本发明实施例的口语字典示意图;
图9为本发明实施例的对象字典示意图;
图10为本发明实施例的对象属性字典示意图;
图11为本发明实施例的属性值字典示意图;
图12为本发明实施例的时间字典示意图;
图13为本发明实施例的疑问词字典示意图;
图14为本发明实施例的问句标注语料示意图;
图15为本发明实施例的基于表格语义fasttext问句解析的问答技术流程图;
图16为本发明实施例的问句;
图17为本发明实施例的问句解析结果示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
方法实施例
本发明实施例提供了一种基于表格语义fasttext问句解析的问答方法,图1为本发明实施例的基于表格语义fasttext问句解析的问答方法流程图,根据图1所示,本发明实施例的基于表格语义fasttext问句解析的问答方法包括:
步骤S101,数据准备阶段:将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料库并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;步骤S101具体包括:
建立查询知识库,准备问答所涉及到的数据。从整体到部分的将表格改写为具有层次结构的篇章语义文本,作为问句搜索的知识库(倒排库),其中大表格转换为一篇具有篇章结构的文献,这个篇章结构就是相同大表的模板;小表为篇章,小表的表头结构为篇章名,小表的记录为篇章下面的段落文本;结构化的小表改造为段落文本句子时,需要增加小表的语义信息。通过将工程记录大表→小表→表格行→表格记录转换为搜索所需要的篇→章→句→词,从整体到部分的建立起对整个表格的文本描述,这是一个1-1的过程;而查询是一个从下到上、从部分到整体的1对n的过程,即从下到上可能产生多种搜索组合结果,这时需要更多的不同层次的字典形式的排除条件来消除歧义,从而得到一个工程上唯一的答案。为了实现搜索,需要将文本中的所有词都放到分词字典中,作为搜索用的倒排词库。
步骤S101中将表格改写为具有层次结构的篇章语义文本具体包括:
将日报表的表格根据日报模板转换为具有层次结构的文本知识库,其中,日报模板实现对表格结构的拆分,文本知识库包含词、构造句子、小表名以及表名四个层次,分别对应着自然语言中的词、句、章以及篇四个层次。
步骤S101中获取用于问句解析的解析字典具体包括:
获取用于问句解析的篇和章层次解析的表名字典,表名字典依据业务的需要人工干预指定表名称,表名称由具体的问句决定,表名字典根据具体问句进行更新;
获取用于问句解析的词层次解析的口语字典、对象字典、对象属性字典、属性值字典、时间字典以及疑问词字典,口语字典实现问句中口语词向标准名称之间的转换;对象字典对应着表中的索引,是语义中的对象或者带有层级的对象;对象属性字典收集表内所有横向属性的内容,属性值字典收集表内所有横向属性的具体值;时间字典用于描述通用的时间结构;疑问词字典用于描述问句中出现的疑问词和得到答案所采用的方法。
步骤S101中建立问答标注语料库具体包括:
收集所有已知问句以及经过人工校对过的对应问句的正确的解析结果形成问答标注语料库,所述问答标注语料库按照增量的形式不断形成,将每个新问句自动解析的结果作为参考,然后经过人工校对得到最后正确的解析结果;并同时将增加所有关联的解析字典。
步骤S101中的建立领域相关的fasttext相似度计算模型具体包括:
采用v2w的方式对输入问句和输出表名、对象、属性进行数据化和张量化,然后在输入张量和输出属性张量之间建立一个多层次神经网络的映射关系从而获取问句的解析参数。
步骤S102,问句解析阶段:将问句通过解析字典进行解析,将解析后的问句与问答标注语料库根据fasttext相似度计算模型进行语义解析。步骤S102具体包括:
采用fasttext模型进行问句y=f(x)解析,按照问句字符最佳匹配原则、通过计算问句和问答语料库中已知问句的相似度来寻找一个最接近的参照解析结果y0=f0(x0);问句解析分为字符级和语义级2个层次进行,将问句和参照问句对照、按照句子线性序列不重叠标注的方式进行字符级分解,不考虑词语之间的融合、借用等语义现象(融合如“产多少气=日产气量、多少”,借用如“深多少=井深、多少”);对于分解出的字符通过字典进行对比映射为语义要素实现从字符到语义的解析,也就是将字符对应到表格中的属性和属性值,这时对于融合、借用等语义现象直接通过字典进行对照解析;如果y0、f0、x0出现在问句中,则y=y0、f=f0、x=x0,否则对于没有出现在问句中的y0、f0、x0需要进行字典匹配,最终完成y=f(x)的解析。
步骤S103,获取答句阶段:根据语义解析后的问句进行运算构建完整答句。步骤S103具体包括:
根据解析结果问句y=f(x)进行运算、构建答句。通过y、x从question→知识库获取有效的包含完整语义和数据的知识条目,相当于加载表头和数据,通过f用于知识库→answer的计算,相当于对数据进行处理,获得最后的结果;f最典型的是对表格数据进行查询操作,复杂的操作包括限定查询、统计分析等;根据人们回答问题的习惯,构建答句模板,将取得的数据按照模板要求构建答句,输出完整的答句。
参照图15,本方法实施例的一个具体的实施例包括3个大的流程,知识库构建、问句解析和答句生成,详解如下:
步骤151:知识库构建
将工程上所用到的1000多张生成相关表改写成问答用的句子,从结构化数据查询转换为自然语言搜索。
步骤151-1:读取报表语料
报表是一张完整的工程表如图4所示,期格式按照工程理解的需要进行了合并处理,而且多种不同规格的表合并在一起,尤其是其中还有一些不是表格的文字,因此,采用pandas读取表格时,不要识别表头。
步骤151-2:读取报表模板
报表模式如图5所示,报表模板实现对报表的文本结构定位,报表模式是通用的,只要是同一类型的报表气模板是一样的,因此报表模板是自动化识别和转化报表的基础。
步骤151-3:报表中多行处理
在excel表中的多行具有业务含义,一般是用引号来表示,比如”油温\r\n。C”表示油温和它的单位之间的关系。替换掉\r\n,使得每一个表格只有一个不含\r\n的字符串,否则在文本处理的时候\r\n会带来很多可视化的问题。
步骤151-4:报表行拼接
报表是按照列分开的,这不符合自然语言按照句子处理的习惯,因此将每一行首先去掉行中所有的数字单元,只保留非数组单元;然后对所有单元采用sort()方法进行排序,这样能确保表头相同但列位置不同的表具有同样的语义建二狗;最后用@@@将所有拼接在一起,构成每条记录的句子文本,如“站名@@@井数@@@投产时间@@@生产时间h@@@井口温度@@@井口压力(MPa)@@@配产@@@日产@@@月产@@@年累计@@@累计”表示一个表头。
步骤151-5:报表文本结构识别
根据报表的行文本,和模板进行对比,标出报表中表头的位置,把表看成一篇文献的话,识别小表表头就是识别表的篇章结构。
步骤151-6:多行表头处理
多行表头表示属性的层次结构,对于上层只出现一次,填充在第1个表格内,因此对于标明为小表的行,要将所有行都进行表格填充,采用ffill()方法;对于多层的表头进行合并,用@@@来连接不同的层次;然后删掉多余的表头,只保留一个合并后的单行表头,如井口压力(MPa)@@@油压、井口压力(MPa)@@@套压、配产@@@104m3、日产@@@井口气104m3、日产@@@液m3、月产@@@井口气104m3、月产@@@液m3、年累计@@@井口气108m3、年累计@@@液104m3、累计@@@井口气108m3、累计@@@液104m3等都代表一组2个层次的指标。
步骤151-7:单行文本、字典生成
单行文本是指那些属性-值对在一行里排列的情况。首先识别出单行文本,然后采用pd.dropna(how='all',axis=1,inplace=True)方法去掉所有空列,构造出一个属性-值交错排列的多行结构;然后依次取出属性-值对,写成key:value字典形式,直接将这个字典作为句子,如s={'措施产量(104m3):0.0','新井产量(104m3):0.0','老井产量(104m3):2433.0'}就是单行记录的文本。
同时,将所有不含数字的表记录作为分词字典输出,比如c={'措施产量(104m3)','老井产量(104m3)','新井产量(104m3)'}就是一个分词字典,输入问句分词处理后如果和这个字典c有交集,则对应的句子就是s,s就是一张具有完整语义记录的表。
步骤151-8:小表文本、字典生成
小表因为有明确的表结构,在改造成句子的时候,需要将表头信息带上。首先取出所有的小表项,采用pd.dropna(how='all',axis=1,inplace=True)去掉所有的空列;然后取出小表所在的行号;然后在2个小表行号之间构造表头和不带表头的2张表;然后去掉不带行号表的空列,用它的columns选择带表头的表,其中表头保存在表的第1行;然后采用pd.to_dict('records')方法,将每行记录改造为带有表头字段、以字典形式构成的句子;其中第一行是表头行,需要去掉。
同时输出如图10所示的属性字典和如图11所示的属性值字典,同时还表明了属性以及值所在文本结构中的位置。
步骤152:问句解析
通过对问句进行基于fasttext模型的相似度计算,在已知的问答语料库中获取参考解析结果y0=f0(x0),通过对参考结果的比对,获取最后的解析结果y=f(x)。
步骤152-1:读取问答标注语料、各类字典
读取图9-13的字典,以及图4所示的语料库。
步骤152-2:读取问句
读取图16所示的问句,其中有些是和语料相同的问句,代表是重复问句,有些是新问句,是问句解析的重点。
步骤152-3:计算问句与语料相似度
将问句和语料问句序列进行基于fasttext模型的相似度计算,采用如下scipy.spatial中的cosine方法:
diss=1-scipy.spatial.distance.cosine(model.get_word_vector(word),model.get_word_vector(word1))
然后对diss按照从大到小原则进行排序,取第一个作为与问句最相似的参考问句。
步骤152-4:获取参照y0=f0(x0)
从问句标注预料中取出相应的字符解析结果和语义解析结果,作为y0=f0(x0),即参照的解析结果。
步骤152-5:计算问句中部分y0\f0\x0
如果字符y0\f0\x0在问句中,则取这部分解析结果直接成为解析的最终结果y\f\x的一部分。
将原问句用已知的数据进行替换:q1=q.replace(j,'#',1),将原问句不断缩小以用来减少查找新元素的干扰。
步骤152-6:计算其余y0\f0\x0
对于不在问句中的y0\f0\x0,首先从参考语义中解析出语义要素字典类型,然后在q1中使用对应的字典查询,取最长结果作为解析出来的语义要素。不需要在q1中使用口语字典查询。
当确认新增字符串的语义属性后,直接将y0替换为y作为语义解析结果:
步骤152-7:获取完整的y=f(x)
经过152-5和152-6两个步骤,获得问句y=f(x)的完整解析结果如图17所示,其中相似度为1的问句就是重复问句,其解析结果可以直接复制语料标注结果。
对于“普光主体2011年度投产井数是多少”,参照已知问句“普光主体2012年度投产井数是多少”,得到的解析结果如下:
字符解析:普光主体@@@2011@@@年度@@@投产井数(口)
语义解析:普光主体:区块/对象Obj@@@2011:数字/属性值@@@年度/属性t@@@投产井数(口)/属性y
从中可以看出“2011”是通过比对出来的字符串转换成的时间对象
步骤153:答句生成
根据问句解析的字符解析结果找出知识库中的数据,根据语义解析的结果计算y的值,最后拼接答句进行输出。
步骤153-1:根据x、y搜索数据
将解析出来的语义元素构成一个集合,用它和知识库中的词进行匹配,匹配最多项的知识条目就是所需要的数据,见图17,比如这个集合{'投产井数(口)','区块','普光主体','2011','年度'}能匹配出来的句子,显然带有“普光主体2011年度投产井数是多少”所需要的全部信息。
步骤153-2:数据恢复
由于查找出来的数据是一个完整的记录,问答一般不需要很多数据,在有统计计算的时候,需要将数据按照语义给定的表头进行截取,获得用于计算的小表。
步骤153-3:根据f进行数据计算
方法f是求得y的数据的计算方法,比如查询、统计运算等,每一个f对应一个语义框架,或者一个模板。
步骤153-4:获取答句模板
从参照标注中直接取出答句模板。
步骤153-5:答句拼装
用解析出来的语义词和计算结果替换答句模板中相应的词,得到最终的答句。
通过采用本发明实施例,举报如下有益效果:
本专利通过直接对复杂工程表单进行问答构建,利用工程表单本身所具有的完整意义和复杂结构,克服了问句中的理解歧义以及多层次跨界点节点计算问题;将复杂表单改写为具有篇章层次结构的自然语言文本,克服了复杂表格结构难以标准化为数据库任务的困难;同时通过fasttext问句解析模型,通过对一个近似解进行对比的方法获得了一般问句多属性解,极大的满足了工程需要;通过对一个油田生产现场13张工程表单进行问答的实践,问答准确率达到98%,满足了工程上对于数据准确性的要求。
***实施例
本发明实施例提供了一种基于表格语义fasttext问句解析的问答***,图2为本发明实施例的基于表格语义fasttext问句解析的问答***示意图,根据图2所示,本发明实施例的基于表格语义fasttext问句解析的问答***具体包括:
数据模块20,用于将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;
加工模块22,用于将问句通过解析字典进行解析后根据fasttext相似度计算模型将问句进行语义解析;
应用模块24,用于根据语义解析后的问句通过问答标注语料获取答句,并对答句拼装后获取完整答句。
图3为本***实施例的一个具体的基于表格查询模式的问答***的示意图,由数据层1、加工层2以及应用层3组成,其中数据层1相当于本发明实施例的基于表格语义fasttext问句解析的问答***的数据模块20,加工层2相当于本发明实施例的基于表格语义fasttext问句解析的问答***的加工模块22,应用层3相当于本发明实施例的基于表格语义fasttext问句解析的问答***的应用模块。在本发明的一个具体实施例中数据层的功能是实现文件的存储、读写、修改等,包含问答需要的工程素材,这些素材是事先准备好的各种报表,以及问句自然语言解析所用的字典、模型以及标注的问答语料;加工层实现对问句的解析、查表和答句生成,将整个问答***等效为一个查询***;应用层实现与用户的交互操作,包括问句输入和答句输出部分。
数据层1由报表知识库1-1、字典1-2、石化领域v2w矢量模型1-3和问答标注语料库1-4等4部分组成,整个数据层提供数据出路所需要的各种数据。报表知识库1-1由日报表1-1-1、日报模板1-1-2和日报知识库1-1-3组成,通过将工程中的日报表转换为查询所需要的自然语言知识库。日报表1-1-1的结构典型如图4所示(不限于这种结构),图4是由7种不同业务汇总而成,每种结构中除了传统的对象纵-属性横的表格外,第6种是仅有对象属性左右排列的形式,用于处理总计指标或者数据较少的情况;这些表单是由很多数据库生成的视图,它们的组成方式符合工程阅读的习惯,因此,直接针对这些表单进行问答处理,也是符合工程习惯的做法。所述日报模板1-1-2如图5所示,将表看成一篇文章,每个小表看成一个章节,用小表的表头作为章节的名称,由表头字段拼接而成。日报知识库1-1-3如图6所示,将一张工程日报表改写为具有层次结构的文本知识库,其中其中知识库包含词→构造句子→小表名→表名4个层次,对应着文本的词→句→章→篇的4个层次,词用于搜索,通过question选出候选的材料;句子是一条完整的表单记录,包含各个字段的对象属性和对象属性值,是小表语义的实例化;小表名代表一个部分语义框架,属于同一个小表名的句子具有同样的表结构或者框架语义;表名是整个表的名称,代表一个完整的工程场景。
字典1-2的又包括用于问句解析的字典篇章级解析字典表名字典1-2-1,实现对句子词级解析的口语字典1-2-2、对象字典1-2-3、对象属性字典1-2-4、属性值字典1-2-5、时间字典1-2-6、疑问词字典1-2-7,这些字典实现无意义的字符→表中标准术语→表属性→运算方法这几个层次之间的转换;将对表所有可能的问句构成一个搜索文本,则这些词级字典就是能够搜索出这些文本的分词库。表名字典1-2-1由表的名称构成,如图7所示,一般是工程中涉及的所有数据表和视图,数量在1000张以上,但是与项目相关的一般不超过10张,这样才能聚焦项目的范围;表名字典主要依据业务的需要规定,因为同一个问句对应很多业务,也就是对应很多表,但是对于某一个具体场景而言只需要选择一张表,这时需要人工干预指定表名称;表名称由具体的问句决定,主要是根据问句中出现的对象和属性来识别,比如“硫磺”只属于日报表,因此表名称的字典要跟着具体问句进行更新;表名通过对问句进行分类算法实现表名称的自动识别。关于小表,定义小表为查询的基本结构,定义小表的基本语义结构是对象+属性+值的3元组,其中对象纵向排列、属性横向排列,纵向对象和横线属性的交点用来决定值的位置,但是值的位置也不一定就在交点位置,也有例外。1-2-2是口语字典,收集口语中出现的对象和属性的日常说法。由于口语具有强烈的地域性,并不是一个广泛接受的共识,因此单独做成一副字典处理,用以随时增减和删减,以适应不同应用场景的要求,如图8所示。对象字典1-2-3对应着表中的索引,是语义中的对象或者带有层级的对象,如图9所示;对象属性字典1-2-4是表内所有横向属性的内容,如图10所示,其中还列出了对于很多表格中出现的多层次属性,用@@@表示层次关系。属性值字典如图11所示,其中1-2-3、1-2-4和1-1-5共同实现了对表的要素的描述。所述时间字典1-2-6如图12所示,它包含很多正则表达式,用以描述一种通用的时间结构。疑问词字典1-2-7如图13所示,描述了问句中出现的疑问词和得到答案所采用的方法,这些方法直接和程序中的方法对应。
问答标注语料1-3是所有已知问句及经过人工校对过的正确的解析结果,这也是所有模型所依赖的语料库,其格式如图14所示;标注中要表达无意义字符→标准术语→表属性→问句语义这几层关系,比如“投产井数:投产井数(口)/属性/y”标注表示字符串“投产井数”的标注术语是“投产井数(口)”,它是一个表的属性,也就是表头,在问句中表示要求的结果y;这个语料库随着问句的深入,在一个有限的场景里,会趋于收敛于某一个数据。语料库是按照增量的形式不断形成的,将每个新句自动解析的结果作为参考,然后经过人工校对得到最后正确的解析结果;而这些标注同时将增加所有关联的字典1-2;语料标注是一个句子级的解析语料,它的增加都会直接影响其下层词级解析字典的内容,上下级具有自动联动的关系。
1-4是一个石化领域fasttext的w2v矢量数据模型,采用石化领域专业文献266万文章(题目、摘要、内容)、总共2200万句子为语料,矢量维度为120维,训练时间为5.5小时。由于问答语料所对应的表名、对象、属性很多,而且处于一种动态变化当中,因此,无法采用一种固定分类数的分类模型对语料进行分类,而是采用v2w的方式对输入问句和输出表名、对象、属性进行数据化和张量化,然后在输入张量和输出属性张量之间建立一个多层次神经网络的映射关系,使得通过输入问句能够计算出来各种问句的解析参数。
加工层2包括知识库构建2-1、问句解析2-2和答句生成2-3等3个模块,实现对问句的解析、消歧、计算,最后以及生成问句的过程。所述知识库构建2-1又包括日报知识苦构成2-1-1和字典构建2-1-2两个模块,分别完成从数据库中的表自上而下构建知识库以及输出相应的各种字典的功能;问句解析2-2包括问句fasttext相似度计算2-2-1、问句字符比对2-2-2、问句语义元素查询2-2-3以实现对问句从字符到语义的解析;答句生成2-3包括问句结果计算2-3-1和答句拼装2-3-2两个模块,实现对数据的处理以及按照模板对答句的拼装,最后实现完整答句。
应用层3包括问句输入3-1和答句输出3-2两个模块,用于界面上实现对问句的输入和最后答句的呈现。
通过采用本发明实施例,举报如下有益效果:
本专利通过直接对复杂工程表单进行问答构建,利用工程表单本身所具有的完整意义和复杂结构,克服了问句中的理解歧义以及多层次跨界点节点计算问题;将复杂表单改写为具有篇章层次结构的自然语言文本,克服了复杂表格结构难以标准化为数据库任务的困难;同时通过fasttext问句解析模型,通过对一个近似解进行对比的方法获得了一般问句多属性解,极大的满足了工程需要;通过对一个油田生产现场13张工程表单进行问答的实践,问答准确率达到98%,满足了工程上对于数据准确性的要求。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于表格语义fasttext问句解析的问答方法,其特征在于,包括:
S1、数据准备阶段:将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料库并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;
S2、问句解析阶段:将问句通过所述解析字典进行解析,将解析后的问句与所述问答标注语料库根据fasttext相似度计算模型进行语义解析;
S3、获取答句阶段:根据语义解析后的问句进行运算构建完整答句。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中将表格改写为具有层次结构的篇章语义文本具体包括:
将日报表的表格根据日报模板转换为具有层次结构的文本知识库,其中,所述日报模板实现对表格结构的拆分,所述文本知识库包含词、构造句子、小表名以及表名四个层次,分别对应着自然语言中的词、句、章以及篇四个层次。
3.根据权利要求1所述的方法,其特征在于,所述步骤S1中获取用于问句解析的解析字典具体包括:
获取用于问句解析的篇和章层次解析的表名字典,所述表名字典依据业务的需要人工干预指定表名称,表名称由具体的问句决定,所述表名字典根据所述具体问句进行更新;
获取用于问句解析的词层次解析的口语字典、对象字典、对象属性字典、属性值字典、时间字典以及疑问词字典,所述口语字典实现问句中口语词向标准名称之间的转换;所述对象字典对应着表中的索引,是语义中的对象或者带有层级的对象;所述对象属性字典收集表内所有横向属性的内容,所述属性值字典收集所述表内所有横向属性的具体值;所述时间字典用于描述通用的时间结构;所述疑问词字典用于描述问句中出现的疑问词和得到答案所采用的方法。
4.根据权利要求1所述的方法,其特征在于,所述步骤S1中建立问答标注语料库具体包括:
收集所有已知问句以及经过人工校对过的对应问句的正确的解析结果形成问答标注语料库,所述问答标注语料库按照增量的形式不断形成,将每个新问句自动解析的结果作为参考,然后经过人工校对得到最后正确的解析结果;并同时将增加所有关联的所述解析字典。
5.根据权利要求1所述的方法,其特征在于,所述步骤S1中的建立领域相关的fasttext相似度计算模型具体包括:
采用v2w的方式对输入问句和输出表名、对象、属性进行数据化和张量化,然后在输入张量和输出属性张量之间建立一个多层次神经网络的映射关系从而获取问句的解析参数。
6.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
根据问句字符最佳匹配原则、通过计算问句和所述问答标注语料库中已知问句的相似度来获取参照解析结果。
7.一种基于表格语义fasttext问句解析的问答***,其特征在于,包括:
数据模块,用于将表格改写为具有层次结构的篇章语义文本,获取用于问句解析的解析字典,建立问答标注语料并建立领域相关的fasttext相似度计算模型建立表格语义fasttext问句解析的问答方法所需的数据;
加工模块,用于将问句通过所述解析字典进行解析后根据fasttext相似度计算模型将所述问句进行语义解析;
应用模块,用于根据语义解析后的问句通过所述问答标注语料获取答句,并对所述答句拼装后获取完整答句。
8.根据权利要求7所述的***,其特征在于,所述数据模块具体包括:
报表知识库模块,用于将日报表的表格根据日报模板转换为具有层次结构的文本知识库,其中,所述日报模板实现对表格结构的拆分,所述文本知识库包含词、构造句子、小表名以及表名四个层次,分别对应着自然语言中的词、句、章以及篇四个层次;
字典模块,用于获取用于问句解析的词、篇以及章层次解析的字典;
语料库模块,用于收集所有已知问句以及经过人工校对过的对应问句的正确的解析结果形成问答标注语料库,所述问答标注语料库按照增量的形式不断形成,将每个新问句自动解析的结果作为参考,然后经过人工校对得到最后正确的解析结果;并同时将增加所有关联的所述解析字典;
fasttext模块,用于通过v2w的方式对输入问句和输出表名、对象、属性进行数据化和张量化,然后在输入张量和输出属性张量之间建立一个多层次神经网络的映射关系从而获取问句的解析参数。
9.根据权利要求8所述的***,其特征在于,所述字典模块具体包括:
表名字典,所述表名字典用于问句解析的篇和章层次解析,所述表名字典依据业务的需要人工干预指定表名称,表名称由具体的问句决定,所述表名字典根据所述具体问句进行更新;
获取用于问句解析的词层次解析的口语字典、对象字典、对象属性字典、属性值字典、时间字典以及疑问词字典,
口语字典,用于实现问句中口语词向标准名称之间的转换;
所述对象字典对应着表中的索引,是语义中的对象或者带有层级的对象;
所述对象属性字典收集表内所有横向属性的内容,
所述属性值字典收集所述表内所有横向属性的具体值;
所述时间字典用于描述通用的时间结构;
所述疑问词字典用于描述问句中出现的疑问词和得到答案所采用的方法。
10.根据权利要求9所述的***,其特征在于,所述加工模块具体用于
根据问句字符最佳匹配原则、通过计算问句和所述问答标注语料库中已知问句的相似度来获取参照解析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196713.9A CN116226349A (zh) | 2023-03-02 | 2023-03-02 | 基于表格语义fasttext问句解析的问答方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196713.9A CN116226349A (zh) | 2023-03-02 | 2023-03-02 | 基于表格语义fasttext问句解析的问答方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116226349A true CN116226349A (zh) | 2023-06-06 |
Family
ID=86578334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310196713.9A Pending CN116226349A (zh) | 2023-03-02 | 2023-03-02 | 基于表格语义fasttext问句解析的问答方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226349A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130791A (zh) * | 2023-10-26 | 2023-11-28 | 南通话时代信息科技有限公司 | 云客服平台的算力资源分配方法及*** |
CN117633170A (zh) * | 2023-11-07 | 2024-03-01 | 中译语通科技股份有限公司 | 一种思维链数据构造方法、装置,电子设备及存储介质 |
-
2023
- 2023-03-02 CN CN202310196713.9A patent/CN116226349A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130791A (zh) * | 2023-10-26 | 2023-11-28 | 南通话时代信息科技有限公司 | 云客服平台的算力资源分配方法及*** |
CN117130791B (zh) * | 2023-10-26 | 2023-12-26 | 南通话时代信息科技有限公司 | 云客服平台的算力资源分配方法及*** |
CN117633170A (zh) * | 2023-11-07 | 2024-03-01 | 中译语通科技股份有限公司 | 一种思维链数据构造方法、装置,电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9361358B2 (en) | Syntactic loci and fields in a functional information system | |
Luo et al. | Synthesizing natural language to visualization (NL2VIS) benchmarks from NL2SQL benchmarks | |
US7739257B2 (en) | Search engine | |
CN112199511A (zh) | 跨语言多来源垂直领域知识图谱构建方法 | |
CN110990590A (zh) | 一种基于强化学习和迁移学习的动态金融知识图谱构建方法 | |
CN116226349A (zh) | 基于表格语义fasttext问句解析的问答方法及*** | |
CN112434024B (zh) | 面向关系型数据库的数据字典生成方法、装置、设备及介质 | |
CN114911951A (zh) | 面向人机协作装配任务的知识图谱构建方法 | |
CN112925901B (zh) | 一种辅助在线问卷评估的评估资源推荐方法及其应用 | |
CN110795932A (zh) | 基于地质本体的地质报告文本信息提取方法 | |
CN114610898A (zh) | 一种供应链运营知识图谱构建方法和*** | |
CN114896423A (zh) | 一种企业基本信息知识图谱的构建方法及*** | |
CN117094390A (zh) | 一种面向海洋工程领域的知识图谱构建及智能搜索方法 | |
CN114880483A (zh) | 一种元数据知识图谱构建方法、存储介质及*** | |
Paulus et al. | The PLASMA Framework: Laying the Path to Domain-Specific Semantics in Dataspaces | |
Sonje et al. | draw2code: Ai based auto web page generation from hand-drawn page mock-up | |
Yuhana et al. | Identification of Conflicts in User Story Requirements Using The Clustering Algorithm | |
Cook | Learning context-aware representations of subtrees | |
OUKHOUYA et al. | Automating Data Warehouse Design With MDA Approach Using NoSQL and Relational Systems | |
Namvar et al. | CivilOnto: An Ontology Based on Persian Articles Published in Civil Engineering Domain | |
Assaf et al. | RUBIX: a framework for improving data integration with linked data | |
CN116975256B (zh) | 抽水蓄能电站地下厂房施工过程多源信息的处理方法及*** | |
Assaf et al. | Improving schema matching with linked data | |
Leshcheva et al. | Towards a method of ontology population from heterogeneous sources of structured data | |
Goraseb et al. | Using conditional random field in named entity recognition for crime location identification |
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 |