语义map的数据结构++(9)

2020-02-21 01:36

接获取答案,通过相似的句式,从多个渠道直接验证答案;也可能将原理推理落实到实例经验,间接验证答案。

某些问题的答案相对抽象,开始是一个简单的结构,后面随着认识的深入,不断展开细节,扩展成更详细的结构。 5思考如何描述:从我的疑问模板理解别人的疑问模板,帮助别人解决疑问。

第四章代码实践备忘

4.1 尝试过的文本和代码

1、库和脚本类:具体名词概念模板苹果;具体概念模板抓;抽象名词模板物体、时间、空间、视觉;至上而下的概念汇集分类概念map;概念库类型-预备概念;词汇表类型;语义串库类型表达;记忆类型句子分析记录 2、过程

加入盘古分词项目,未识别词语的再次解析

围绕独立概念模板,针对概念名、概念属性和属性值的搜索查询 简单的逻辑句式到描述句式的随机搜索转换 未知词语在4万词语的dbf词典中的查询 根据词性组合简单匹配词组

导入概念map一部分,作为静态变量,匹配到词语;在近义词表中匹配出概念map相关内容

字典查询后,匹配同义词、视觉、味道几个简单语义向量,转换为概念-属性-值的格式,写入预备概念库

围绕词汇疑问,计入我的疑问节点,作为疑问雏形 建立并写入《句子分析记录》,作为临时记忆的雏形

实验树形容器控件,尝试后期用于展示分析打开的数据库。 手工分析百度表单,代码提交key,自动打开百度百科获取文本

3核心过程描述: 界面form1

按钮1分词测试 按钮2百度百科 按钮3后台整理 按钮4 综合理解

输入字符小于4,按单个词语进行搜索 word_undersdander.understand_search(inputtextbox.Text)

否则进入句子理解主过程word_undersdander.s_type_under,输出

word_undersdander.ST_inoutrec数组和word_undersdander.s_ana_result的各项结构变量

s_type_under句子理解主过程:

1对输入串进行句型匹配: s_type_match过程 ;

2处理未知词语query_match(input)过程

3通过时间副词和动词判断是否情景(情景一半被认为是经验,进经验库) 4进行概念理解concept_search(s_ana_org)过程 5记录分词和搜索时间

6分析过程写入句子分析记录、情景句子写入情境库、词汇疑问写入理论.我的疑问

S_type_match分析主过程, 被调用:理解主过程调用

1建立句子分析的输入和结果数组和链ReDim s_ana_org(word_list.Count - 1) s_ana_result = New SuperLinkedList(Of w_ana) 分词得到的每个词汇一个作为成员

2 s_ana_org各项结构变量初始化,如词性、

3 词组格式的严格匹配,包含了1层纯词性+常量,和加入2层概念map的格式结构,使用理论.词汇中的<词组格式>

4 使用表达文档中的<阅读句式>,进行句式匹配,选定逻辑句式

concept_search概念理解主过程: 被调用:理解主过程调用

调用studyfr_dateset(unknown_words)

1、从所有XML库文档文件名找有没有分词的概念

2、如果概念文件名含有句子某个词,则进一步找属性名和属性值,即该文件中的文档标签和相关值,如果凑上2,3个,就根据已知知识回答或表态。 3、如果没有则找预备概念文档中的已知解释(只重复字典解释) 4、预备概念中没有则进入查字典过程studyfr_dateset(unknown_words) ****这是一个内容过时的过程,针对苹果具体概念,今后应改为以预备概念库的知识查询为主。

studyfr_dateset字典查询过程

1、打开dbf字典库相关表格,筛选未知词汇条目

2、对释义内容进行匹配undersdand_match(ex!shiyi, ex!cimu)

3、有匹配内容和释义一起写入预备概念库,匹配不成发出疑问表达句型

undersdand_match匹配学习过程

1、整理释义文字段落,分词、导入w_ana集合

2、如果词语位置position能接上,则调用S_type_match分析句子词组和句式。

3、对词组成员做语义匹配(好像与S_type_match中初始化词语链重复了) 4、从语义map中准备好匹配学习的xelement参数

5、在释义第一句中找key的上级概念,条件是:最后一个词=语义map中的分类。否则视为与之有关

6、第一句没配上语义map的概念,且只有1个词,或标点分开的两个词,视为同义词

7、匹配部位和形状颜色味道的属性

8、再做一轮同义词匹配

最新格式扩展:将...替换为$$n,表示任意语块变量,后面的整数0,2表示在句式中的位置,描述和阅读句式的语块变量与第一个逻辑句式对齐-->

在undersdand_match过程中,统一使用句型格式+分词链的参数格式,通过semele_match方式,进行语义串匹配,增强句式学习的功能和可扩展性

3重要类 thinking_act,思维动作,含思维主体、思维对象、思维结果由字符串描述

undersdand_lev1感知级别的理解动作

在文字阅读上用于某一句分词后基本语义的本能反应,如是否疑问、捕捉动词、匹配概念、有没有生词等

3.8 v1.2版,词语的学习

1、增加概念串的词组和语句块描述,阅读匹配。 例如:从A到B;名词A“和、及、与”名词B。

这两个句式中,A和B都可以描述为概念map中任意节点里的不同值 【node】A=any.【value】1,B=【node】A. 【value】2。 (这个写法真心不满意,应该有更好的) 或者干脆:从A到B::dim A,B as 【value】 A. 【node】=B.【node】

其它方案还有,先写出来用着先:

动宾词组@gn.node.in\思维运动\,@gn.node.in\思维结构\偏正@动词::gn.node.notin\思维运动\,@gn.node.in\思维结构\(include简写为in)

这个词组结构表示,只有在包含了思维活动的节点下的概念值(自然是动词)和包含了思维结构的概念(自然是名词)组合的时候,才是动宾关系,而其它动词并不能和思维结构名词概念进行动宾组合,所以是偏正关系,表示与A有关的B。

二级句式的描述,首先由纯词性变量,匹配出第一层的句式或词组结构,然后再进行第二层匹配,但这个层次结构在词组格式中建立起来并不简单:要建立二级词组格式<词组语义格式>,并且与相应的一级词组格式(纯词性即<词组格式>)对应起来,目前的一个方案是在<词组格式>和<词组语义格式>中都标注上属性id。在一级句式数量不多的情况下,干脆把二级句式的属性值等于关联一级句式的值好了。

从另一角度看,是不是只有动宾和联合词组(可能还有主谓),需要语义上的搭配才成立,否则都会转化为偏正词组吗?似乎偏正词组的搭配关系最为随意,在

概念map中的跨越性大。

语句块的词汇之间使用连接符,如联合关系之间使用&,动宾之间使用v-n,对名词偏正使用aj-n,对动词偏正使用av-v...等,这样记录到词组经验库时,能独立快捷地识别。

第一级语句格式可以写到4个词汇的组合,后续尝试对简单词组结构进行化简,二次匹配蒋更多词组的结构化简,分析更复杂的句子。

2、预备概念库整理成树结构,记录中增加它的概念串(如果本身没有,则使用上级概念的概念串),加入常用词组及语义块的含义(标识出组合的关系)。 3、在确认词组的情况下,反推未知词汇的意义,可使用如1的例子 4、增加字典中的句式理解,匹配出同义词后,及时扩大同义词表

5、一段文字中多次出现的词汇,则将其预备概念的内容以XML临时变量方式导入内存,加速搜索,

6、词组也可以进行演绎学习,作用域非常广泛。即对同一概念节点下的其它概念值进行类推后,通过搜索引擎或更多文本库求证,大批量生成经验库。

附录:演示代码进度

2016.3月重启代码更新:二层(语义层)的语义串匹配演示实例1:动词+名词,动宾词组的二次匹配修正当不属于同一语义map域时,转为偏正结构。

词组、句式中的元素匹配使用了独立函数elematch,加入in-notin语义串变量,以应对将来更为复杂的语义串描述。

2016.4,调通原来的unkword_match,修订盘古分词的未知部分;调通synmatch即map中的同义词匹配

2016.5月推进:undersdand_match中使用elematch,与$$的任意语义串配合,效果良好。修订了同义词表达中与逻辑句式的协同,增加or效果良好。目标,颜色、属性匹配使用elematch函数和in-notin,增加抽象性。

目前,上级概念查找的句式没有明确方案。目前使用的句式匹配包括两种方案:1是只要存在那几个元素,并按顺序依次排列,这是当前词组匹配方案和最初的undesdand_match生硬匹配方案;2存在几个元素并且按顺序排列即可(没有依次),是目前使用的方案,这个条件目前有效但可能偏于宽松 3阅读句子需要和句式从头开始对应,不能多出来......

由于至少存在三种的匹配方案,后续以词组为基础的语块匹配可能还会增加匹配模式。对$$变量的处理目前也仅仅是仍以内容的最简单方式,将来有可能增加限制而变得复杂。所以目前对句式匹配的函数目前只写到elematch元素匹配这一级。在对句子匹配模式做出总结之后,完成句子匹配函数,增强代码的通用性,能更轻松地扩展理解能力。

6月计划:1词组的二次匹配直到语义块,使用格式扩展快捷方便;2先为属性和同义词匹配迁移到独立函数已初步完成,下一步独立过程增加更严格的匹配模式,仅仅允许$$作为模糊项,实现应该没有困难,而且对词典的分析不会有明显影响,这个匹配类型作为格式匹配的主模式。3以二次匹配后的词组-语义块为基础建立简单词语经验库,按照词组类型(语形)和概念分类两个语义维度分类。 6.2在语义map中增加了确立了“_类型”(原为“.分类”)一层nodename的

意义。用于表达大概念之下,比较抽象的一层子概念,表示具有共同特征比较具体的一组基层子概念的集合。如偶蹄类动物、水鸟、介词等。类型的标准是形容词的属性类型,如“具有偶蹄的、生活在水边的”,这种性质,但又和动物、鸟类的名词结合起来了,总体上是名词性子概念,但它的偏正性质和对属性的描述作用相当突出,有强烈的形容词倾向,因此在结构中使用了“_”。特别在字典中的解释的第一句中,发现它们基本上作为key的上级概念而非同义词描述出现,有抽象类的意思。因此将其独立形成一种语义描述,和结构一样,使用“_”。 6.4为了实现动物“习性”的一系列句式,建立与习性有关词语(概念)集合:如习性情态动词善于、喜欢;习性活动,吃、游泳、飞;习性对象(吃)植物、鼠、鱼、虾等。建立逻辑句式时,可以多列出\的变量项,最后在匹配成功

时删除未替换的项,大大增强了逻辑句式的适应性。同时还考虑增加多个同一类型的逻辑句式,在第一个逻辑句式明显不适应时,换第2,3个。 代码实验结果基本达到预期。意外收获:搜索时间减少了2/3,暂时不能解释。 6.5 语块/词组集合的连续分析:从并列联合的多个“、”组合入手,在某些描述格式下,平行增加<词组E2>类型格式,在该格式基础上向后扩展匹配。对于不确定个数的“、”系列,后续结尾部分大多数为“等”,也可能是“和or或”一类。 描述句式中的元素\改为@SBL(语块),仅用于在逻辑句式中代表变量。 没有后缀常量格式描述,还需要新的设计,是否使用(for和or )@while“xxx”的格式表达循环?(仅用于E2格式类型),貌似有必要。因此也提出语义串中的变量分层思路:第一层是用于elematch的基础变量,第二层是“$$”和“while”循环,在ele的上层s_format匹配中控制ele匹配的循环。语块循环以后可用于排比句识别。 6.7 词组格式匹配已改为独立过程。词组匹配的第一项位置不定,第一项匹配上之后,后续项除@sbl之后必须仅仅挨着。遇到@sbl则根据上下项计算长度病位移。今后建立词组数据库后,@sbl也不能任意按格式顺延,也需要和已知词组匹配。存在隐患:如果@sbl较长,其中很可能夹杂着能满足下一项条件的分词项,形成混乱。所以@sbl之后,最好跟常量和@gn.node.in之类的准确型变量,避免@名词之类的模糊类型。 脑洞:以后建立@such as“C”系列变量,即就像这个常量(词组或句子)一样。在语法学习的对话中,往往会提供一个简单的常量作为实例。如,字典中先做逻辑解释,然后直接给出一个句子实例,达成逻辑格式和描述格式的对应。 6.9 多项循环代码对j位移影响严重,且适用性不佳,做出来仍然不能识别格式不等的顿号系列,如“某些国家、国家机关、党派或团体某级组织”。不如使用“、”的模糊循环。 单向循环有一定适用性。要不,把循环塞进新的一个子过程吧。为循环代码建立了whileele_match过程,初步可运行。 @such as“$$=”变量,相当有意思,可以处理“三天打鱼、两天晒网”“东一榔头西一棒子”这样关于语法格式的语义向量。 不可思议!词组成员在语义map的简单匹配中,加入了包含“常识”的匹配后,时间居然比原来的(物理)多用了20倍之多,而在map中常识的数量只有物理的1/3左右。但加入not haselement之后,即回复正常。加上物体、认知之后,仍超过20倍。再检查发现使用了把x.value按顿号分开的算法,改为采用整个串.contains的函数后,时间缩短90%。大概contains函数有优化吧。 6.11-12 尝试了$$=@suchas pos.key,初步运行,用于动态识别key的词性;

以词组匹配为基础,输出为逻辑句式, 建立新的strict_match过程,在第一句的匹配中使用了该过程,用于通常很短小的第一句。但明显不适用与属性匹配。解决诸多小bug。 下阶段突破口应该在词组匹配分析和后续的使用。

上半年归纳展望:概念分类变量与词性变量结合的句式描述进展顺利。多个语义向量和维度,也可以用双层语义串格式进行描述。

如果单个语句描述逐渐完善,则进行语句类型的特征描述和分类,语义串的扩展有望进入句群领域,尝试描述三段论、论证、流程、人-物描述、剧本情节…..等段落分析。语义的宏观理解即将象图像压缩那样,拥有分析理论和工具,进入技术实践,这样的开拓难道还不够令人兴奋吗?


语义map的数据结构++(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新人教版九年级数学上册25.3用频率估计概率导学案新版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: