基于MongoDB的英语语法库封装和读写方法技术

技术编号:30133943 阅读:12 留言:0更新日期:2021-09-23 13:59
本发明专利技术提出一种基于MongoDB的语法现象半结构化数据存储和调用的方法,用于对教育过程中用到的课本或者课外读物等产生的相关语法知识点数据进行半结构化存储,以及相应的读取调用方法。而基于MongoDB的小学英语语法库封装,可以帮助我们将语法知识进行半结构化存储,整个封装过程都是程序自动进行,不需要人力的干预。同时,封装好的语法库,当用户需要查询某一知识点时,可以根据对应的级别信息进行筛选,比如,可以根据年级进行相应课本上相关知识点的查看,对此,我们可以一次性返回所有的结果,并且消耗时间很短。同时,我们的语法库还可以帮助老师进行相关知识点测试题的自动生成。生成。生成。

【技术实现步骤摘要】
基于MongoDB的英语语法库封装和读写方法


[0001]本专利技术属于基于MongoDB的半结构化数据存储和调用,具体涉及一种针对英文文本分析得到的语法现象结果,进行半结构化存储的构造方法。能够将专利一:自动解析英文文本语法现象得到的形如:句子->词法->->...->叶子节点,或句子->句法->->...->叶子节点(每条语法现象的输出形式为语法树的根节点一直到叶子节点这样的记录),进行半结构化存储到MongoDB中,然后按照语法类型进行封装,并提供相关的读写实现方法。

技术介绍

[0002]目前国内的教育过程中,对于英语语法知识考点的讲解和学习主要依赖于课程中或者练习题中遇到的范围,并不能够系统的进行学习,或者说,想要系统的学习,还得依赖授课老师的整理总结,这些整理总结的结果往往还是有限的,进行相应的填充删除等操作也十分繁琐。最重要的问题是,英语的语法知识点繁多,仅仅依靠人力进行总结归纳封装,工程量巨大,之后的维护(增加新的相关内容)也会十分耗费精力。
[0003]因此,语法知识点的总结归纳整理,是现在教育过程中迫切需要的,急需利用现在的技术将人力解放,而现在关系型数据库对关系模式有严格的定义,如果数据发生变化,需要增加某个属性会给系统带来较大的改动,对于半结构化数据而言,还会造成很多元祖的属性列是空值,不仅造成存储空间的浪费,而且影响系统性能。针对这些问题,非关系型数据库能够很好的解决,其中,MongoDB是最受欢迎的开源NoSQL(非关系型)数据库,具有key/value存储方式,使用数据结构松散的JSON格式,简单的读写操作,具有很好的水平扩展能力。
[0004]现有的相关理论研究还没有提供一种对于英语语法知识点的封装处理方法,仅仅包含其他数据的处理过程,如CN 104021210 A专利中,提供了一种以GeoJSON格式半结构化方式存储地理数据的MongoDB集群的地理数据读写方法,是一种针对地理数据的存储方案,除此之外,对于其它类型数据的半结构化存储方法还没有被提出。而对于语法知识点的其它总结归纳方法,主要采用人工标记整理,由授课的老师针对遇到的文章或者题目进行讲解,很少有系统指导总结的过程。
[0005]现有技术缺少针对英语语法知识点的封装处理办法以及相应的读写调用方法,即,缺少合适的语法知识半结构化框架的搭建,因而就缺少对于英语繁多的语法知识点进行系统整理的数据库,相应地,基于这个数据库的扩展功能都没有办法支持,如:依靠这个数据库进行相关知识点的检测题的自动生成,相关年级某一类知识点的统一学习等功能。

技术实现思路

[0006]鉴于上述情况,本专利技术提出一种基于MongoDB的语法现象半结构化数据存储和调用的方法,用于对教育过程中用到的课本或者课外读物等产生的相关语法知识点数据进行半结构化存储,以及相应的读取调用方法。根据本专利技术的语法库封装方法,利用我们的专利一:英语文本自动解析语法现象的方法(这一专利可以实现自动对英语文本进行语法分析,
输出词法、句法的语法现象),对任何年级的英语课本先进行课本语法知识点的自动解析,然后利用本专利的半结构化存储方式,将所有级别课本的语法知识点结果半结构化处理之后存储在MongoDB数据库中,并且,针对该语法库数据存储方案,我们还提出了相应的读写调用方法。
[0007]可以不断进行语法库的扩充,进而丰富语法库内容。不管是利用我们专利一:针对英文文本自动解析语法现象的方法,获得的语法现象结果,还是自己人工总结的语法现象,都可以通过数据预处理过程,将数据整理成我们封装过程需要的输入形式(语法知识点不断细化的链状结构),进而利用我们的封装和调用方法,实现简单快捷的语法知识学习,或者进行基于此的功能扩展。
[0008]基于MongoDB的英语语法库封装和读写调用方法,包括英语语法库的封装过程,以及相应语法库的读写调用过程两部分,具体技术路线如下。
[0009]英语语法库的封装主要包括链状输入数据的JSON格式标准化,以及标准化的数据存入MongoaDB的数据库,其中JSON存储格式的设计为:主要分为四大块,分别为分析的句子文本Sentence、相应的难度级别Level、词法现象Lexical、句法现象Syntactic。其中句法现象模块又细分为10类,键为Syntactic;而词法现象模块也细分为10类,然后再按照词形变化、固定表达/搭配、单词功用、单词词性种类这四大方面进行分块封装,也插入与句法现象同一文档中,键为Lexical。
[0010]JSON标准化,具体处理步骤如下所述。
[0011]1)键为Sentence,对应值为被分析的英文文本,字符串类型。
[0012]2)键为Level,对应值为该句对应的课本年级或蓝思分级级别,字符串类型,若不知标记为”DN”。
[0013]3)键为Syntactic和键为Lexical的值均是列表存储,读取该句的每条语法现象,利用链状结构的第一个节点判断属于句法现象还是词法现象,若为句法现象,转4),若为词法现象,转5)。
[0014]4)将该句法现象添加到键为Syntactic的列表中,转7)。
[0015]5)遍历该链状结构,根据第二个节点判断属于10大类别中哪一个类别,对应类别封装在一个列表中,每个列表内再进行细分,转6)。
[0016]6)若该链状结构中含有模式{词尾加,变化形态,词形变化}的封装到一个列表中,我们称该列表为词性变化模块;同理,若该链状结构中含有模式{固定表达/搭配,结构为,表示...的用词/结构}的封装到一个列表中,我们称该列表为固定表达/搭配模块;若该链状结构中含有模式{...词功用,...词作...,前置作...,后置作...}的封装到一个列表中,称该列表为单词功用模块;其余的链状结构都封装到一个列表中,称该列表为单词词性种类模块,然后转7)。
[0017]7)将上述四个模块(即四个不同的列表)按照顺序添加到键为Lexical的列表中,转8)。
[0018]8)若该句的所有语法现象均添加封装完毕,则JSON标准化过程结束,将封装好的这一条JSON格式数据添加入MongoDB对应级别的文档中。
[0019]相应语法库的读写调用过程以三个类来实现,分别为类MongoRLexical、类MongoRSyntactic、类MongoWrite,分别负责语法库中词法现象、句法现象的读取操作,以及
新内容的添加写入操作。三个类都分别含有定位子类和结果显示或数据写入子类,负责具体的函数实现功能。
附图说明
[0020]图1是本专利技术的语法库封装及读写方法的总处理流程图。
[0021]图2是本专利技术实施例中英语语法库的半结构化存储方式。
[0022]图3是本专利技术实施例中JSON格式标准化示例。
[0023]图4是本专利技术实施例中的输入结构示意图。
...

【技术保护点】

【技术特征摘要】
1.基于MongoDB的英语语法库封装和读写方法,其特征是:包括英语语法库的封装过程,以及相应语法库的读写调用过程两部分;英语语法库的封装过程,主要实现JSON存储格式的设计,并根据JSON存储格式进行JSON格式标准化,将格式化后的数据存入MongoDB数据库中;读写调用方法,根据用户的课程需求,往往只需要针对级别和句子两部分进行调用,然后再在词法和句法中进行选择策略的制定并返回对应需要的词法、句法现象。2.根据权利要求1所述的英语语法库的封装过程,其特征是:对链状的数据进行JSON格式标准化,并将标准化的数据存入MongoaDB的数据库。3.根据权利要求1所述的读写调用的方法,其特征是:三个类分别负责语法现象的读取,类MongoRLexical 负责语法库中词法现象的读取操作;类MongoRSyntactic负责语法库中句法现象的读取操作;类MongoWrite负责语法库新内容的添加写入操作。4.根据权利要求2所述的JSON格式标准化,其特征是JSON存储格式的设计,主要包括四个部分,分别为:分析的句子文本Sentence、相应的难度级别Level、词法现象Lexical、句法现象Syntactic;其中难度级别,我们选用课本对应的年级和蓝思分级阅读中的级别进行记录;句法现象模块又细分为10类,分别为:非谓语结构、句子种类、基本句型、特殊句型、并列句、复合句、直接引语和间接引语、句子语序、时态、虚拟语气,因句法的语法现象往往只会匹配几条,如句子类型往往只会是一种,因此这10个类别不再进行细分,作为一个文档(在MongoDB中称为文档,相当于关系型数据库中的数据记录行),不分先后的进行记录,键为Syntactic;而词法现象模块也细分为10类,分别为:名词、数词...

【专利技术属性】
技术研发人员:戴翰波李辉王丽
申请(专利权)人:武汉慧人信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1