CN115345151A - 结构化数据解析和管理的系统、方法、设备、介质及终端 - Google Patents
结构化数据解析和管理的系统、方法、设备、介质及终端 Download PDFInfo
- Publication number
- CN115345151A CN115345151A CN202211087111.1A CN202211087111A CN115345151A CN 115345151 A CN115345151 A CN 115345151A CN 202211087111 A CN202211087111 A CN 202211087111A CN 115345151 A CN115345151 A CN 115345151A
- Authority
- CN
- China
- Prior art keywords
- structured
- metadata
- template
- data
- structured data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims abstract description 18
- 238000007726 management method Methods 0.000 claims description 27
- 230000011218 segmentation Effects 0.000 claims description 26
- 238000003491 array Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000013461 design Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000877 morphologic effect Effects 0.000 claims 1
- 230000002457 bidirectional effect Effects 0.000 abstract description 5
- 238000007405 data analysis Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000008092 positive effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明属于数据应用技术领域,公开了结构化数据解析和管理的系统、方法、设备、介质及终端,所述方法具体包括:将自然语言文本通过自然语言文本解析器解析为结构化数据,也可以将结构化数据通过结构化数据编译器解析为自然语言文本;结构化数据可以通过结构化数据编辑器可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;将结构化词库中的结构化元数据构建结构化模板;结构化模板编辑器对结构化模板进行编辑。本发明通过自然语言文本解析器和结构化数据编译器实现了结构化数据与自然语言的双向解析。通过结构化模板编辑器实现了结构化模板的编辑。通过结构化数据编辑器实现了结构化数据的编辑。
Description
技术领域
本发明属于数据应用技术领域,特别是涉及一种结构化数据解析和管理的系统、方法、设备、介质及终端。
背景技术
结构化数据,是指符合一定数据结构,能被形式化描述的数据,如JSON数据,XML数据等。目前,在解析结构化数据文件时,通常采用的方案是:将结构化数据文件直接按字节读取到内存,在内存中形成结构化数据对象,然后访问需要的数据子项并解析。
因此目前结构化数据解析的方法中仅仅实现了自然语言到结构化数据解析。并没有实现结构化数据与自然语言的双向解析、并没有实现结构化数据的模板管理、结构化数据的编辑功能,并且缺少一体化的技术方案。本发明解决了以上的问题。
通过上述分析,现有技术存在的问题及缺陷为:
目前结构化数据解析的方法中仅仅实现了自然语言到结构化数据解析,并没有实现结构化数据与自然语言的双向解析、并没有实现结构化数据的模板管理、结构化数据的编辑功能,并且缺少一体化的技术方案。
发明内容
针对现有技术存在的问题,本发明提供了一种结构化数据解析和管理的系统、方法、设备、介质及终端。
本发明是这样实现的,一种结构化数据解析和管理方法具体包括:
通过词库升级jieba库解析自然语言,将自然语言分词为数组、遍历数组,并与词库匹配,替换为结构化数据;
通过模板态结构化元数据节点和普通文本节点构成结构化模板并进行编辑,通过插入删除修改节点,创建和更改结构化模板;
通过赋值态结构化元数据节点和普通文本节点构成结构化数据并进行编辑,通过插入删除修改节点,创建和更改结构化数据;
对于结构化模板转换为结构化数据中,给结构化模板中的所有的模板态结构化元数据节点赋值后,生成结构化数据;
结构化模板编辑器或结构化数据编辑器中的文本解析为结构化模板或者结构化数据的节点数组,通过正则表达式将文本解析生成结构化元数据和普通文本组成的节点数组。
通过语义化的模板和数据展示规则作为结构化数据和模板的展示形式。
具体包括以下步骤:
S1:将自然语言文本通过自然语言文本解析器解析为结构化数据,也可以将结构化数据通过结构化数据编译器解析为自然语言文本;
S2:结构化数据可以通过结构化数据编辑器可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
S3:将结构化词库中的结构化元数据构建结构化模板;
S4:结构化模板编辑器对结构化模板进行编辑;
S5:结构化数据数据编辑器对结构化模板中的结构化可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
进一步,所述自然语言文本解析器工作流程具体包括:
S11、通过jieba库实现自然语言文本的分词,生成分词列表;
S12、通过结构化词库,实现对jieba库的针对词库扩展;
S13、通过遍历分词列表,匹配遍历词库,如果匹配到词库词条则将该词条替换为元数据,最终将替换后的分词列表拼接为结构化文本。
进一步,所述结构化元数据的数据结构的设计,包含如下步骤:
(1)通过设计一种数据结构,包含元数据名、相应词库、实例态词条等信息;
(2)拥有两种状态:模板态、实例态。使得其支持解析器、两种编辑器的需求。
在步骤(1)中所述设计数据结构包括:
设计普通文本节点的数据结构,用于存储非结构化节点的数据;其中索引是value,值是字符串类型的值;
设计模板态元数据的数据结构:模板态是元数据未被赋值时的状态,用于结构化模板的编写;所述模板态元数据的数据结构包括名为metadataId的元数据唯一ID,以及名为name的元数据名称;其中名称用于结构化模板编辑器和数据编辑器中展示;而唯一ID用于关联元数据的词库功能;
设计元数据所属词库/词条的数据结构,词库用于关联元数据,赋予元数据真实含义;词库的数据结构由数量不等的词条组成的数组;词条的数据结构由词条所属元数据的ID、词条ID、值组成;其中值是该词条所对应的自然语言的词语;
设计实例态元数据的数据结构,实例态元数据是模板态元数据赋值后的产物,继承模板态元数据的metadataId、name,另外拥有赋值的词条ID,以及词条值,实例态元数据用于结构化数据编辑器中的赋值词条后的形态载体;
设计结构化模板的数据结构,结构化模板是模板态元数据节点和普通数据节点组成的JSON数组,结构化模板用于结构化模板编辑器的编辑产物的载体。
进一步,所述结构化数据编译器的设计,包含如下步骤:
(1)获取的结构化数据;
(2)遍历结构化数据,将结构化数据的元数据的值拼接为一个字符串,该字符串即是自然语言文本。
进一步,所述结构化模板编辑器的设计,包含如下步骤:
(1)由html的div作为编辑器容器;
(2)将元数据填充到容器中,形成结构化模板;
(3)然后存入数据库。
进一步,所述结构化数据编辑器,包含如下步骤:
(1)由html的div作为编辑器容器;
(2)集成自然语言文本解析器,将自然语言解析为结构化数据,并通过容器展示;
(3)可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
本发明的另一目的在于提供一种结构化数据解析和管理系统包括:特定的元数据结构及其词库、结构化模板编辑器、结构化数据编辑器、结构化数据编译器、自然语言文本解析器组成;
特定的元数据结构及其词库:用于提供结构化数据的存储形式;通过赋值与否,将元数据分为模板态和赋值态;以及通过将词库和元数据进行关联,使得元数据具有相关的语义解;
结构化模板编辑器:用于编辑结构化模板,通过html的textarea展示和编辑模板字符串,通过新增修改删除其中的模板节点,编辑结构化模板;
结构化数据编辑器:用于编辑结构化数据,通过html的textarea展示和编辑数据字符串,通过新增修改删除其中的数据节点,替换元数据部分的词条,从而编辑结构化数据;
结构化数据编译器用于将结构化数据转化为自然语言文本,遍历结构化数据各个节点,将节点数据的值进行字符串拼接,生成自然语言文本;
自然语言文本解析器:用于将自然语言文本解析为结构化数据;通过词库升级jieba库,并将自然语言分词为数组,遍历数组,与词库匹配,替换为结构化数据。
还包括:
自然语言文本解析模块,用于将自然语言文本通过自然语言文本解析器解析为结构化数据,以及将结构化数据通过结构化数据编译器解析为自然语言文本;
元数据修改模块,用于将结构化数据通过结构化数据编辑器插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
结构化模板构建模块,用于将结构化词库中的结构化元数据构建结构化模板;
结构化模板编辑模块,用于结构化模板编辑器对结构化模板进行编辑;
结构化模板数据修改模块,用于通过结构化数据数据编辑器对结构化模板中的结构化插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述结构化数据解析和管理方法。
本发明的另一目的在于提供种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述结构化数据解析和管理方法。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述结构化数据解析和管理方法。
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明解决了目前结构化数据解析的方法中仅仅实现了自然语言到结构化数据解析。并没有实现结构化数据与自然语言的双向解析、并没有实现结构化数据的模板管理、结构化数据的编辑功能,并且缺少一体化的技术方案。通过自然语言文本解析器和结构化数据编译器实现了结构化数据与自然语言的双向解析。通过结构化模板编辑器实现了结构化模板的编辑。通过结构化数据编辑器实现了结构化数据的编辑。
市面上没有专用的结构化模板编辑器。当要编辑病历模板、短信模板等模板时,会比较困难,也缺少将模板编译成结构化数据的手段。本发明的结构化模板编辑器解决了市面上普通编辑器编辑结构化模板的编写困难的问题,提高了模板编辑效率,本发明提出的特殊模板格式,更容易阅读和编写,也利于使用该模板编译成结构化数据。
市面上没有结构化数据编辑器。本发明的结构化数据编辑器解决了市面上普通编辑器编辑结构化数据的编写困难的问题,提高了数据编辑效率,本发明提出的特殊结构化数据格式,更容易阅读和编写,也利于将结构化数据编译成最终的自然语言。
本发明提出了结构化元数据、结构化词库的概念,并配合jieba分词器,简化将自然语言解析为结构化语言的操作,提高了效率,相比其他的结构化解析器也更为精确地进行结构化解析。
本发明适宜病历、报警、短信等需要数据结构化以及结构化模板的多种应用场景,以提高效率,提供可行性方案。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明提供了结构化数据的模板管理、结构化数据的编辑功能一体化的技术方案。每一个功能相互严密衔接配合,每个步骤都做到最优。为了医院病历规范化编写和归档,短信结构化分发,报警信息结构化分发等应用场景提供了出色且高效的工具手段。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
本发明的技术方案转化后的预期收益和商业价值为:可以提供给医院里的医生编写结构化病历;提供给指挥中心分发告警信息;提供给电信公司等编辑和分发结构化格式的短信。可以进行病历、短信等的语义解析,结构化入库等功能。
本发明的技术方案填补了国内外业内技术空白:市面上缺少,而本发明提供了结构化数据的模板管理、结构化数据的编辑功能,一体化的技术方案。独特地提出了结构化模板这个概念。
本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:解决了市面上缺少可读性强的结构化模板编辑器、结构化数据编辑器等难题。
附图说明
图1是本发明实施例提供的结构化数据解析和管理方法流程图;
图2是本发明实施例提供的自然语言文本解析器工作流程图。
图3是本发明实施例提供的结构化数据解析和管理系统示意图;
图中:1、特定的元数据结构及其词库;2、结构化模板编辑器;3、结构化数据编辑器;4、结构化数据编译器;5、自然语言文本解析器。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解本发明的技术方案,定义术语如下:
自然语言文本:人们日常的语言文本,不易被计算机识别存储。如:张三被打了。
结构化模板:易于被识别存储的语言模式。如:[人物]被[动作]了。结构化模板包括结构化元数据。
结构化元数据:结构化模板的最小的不可分的单元。[人物]就是一个结构化元数据。元数据包含其对应的结构化词库。拥有两种状态:模板态、实例态。
模板态元数据:模板态的元数据没有被实例化,拥有词库,但没有对应具体词条。例如[人物]没有对应到(张三),而是泛指人物,未来可能的值有词库(张三、李四、王五)里的词条。
实例态元数据:模板态的元数据被实例化,它的值对应到了具体的词条。例如[人物]对应到(张三)。
结构化词库:(张三、李四、王五)就可以是结构化元数据[人物]的词库。(打、抱、踢)可以是[动作]的词库。张三是词库中的一个词条。
结构化数据:由模板,以及模板中元数据对应的词库词条解释构成。如:[人物:张三]被[动作:打]了。
自然语言文本解析器:将自然语言文本,解析为结构化数据的解析方法。如:“张三被打了”被解析为“[人物:张三]被[动作:打]了”
结构化数据编译器:将结构化数据,编译为自然语言文本方法。如:“[人物:张三]被[动作:打]了”被编译为“张三被打了”
结构化模板编辑器:一个编辑器,作用是编辑结构化模板,能够实现结构化模板的编辑,并能够将元数据关联对应的词库。
结构化数据编辑器:一个编辑器,作用是编辑结构化数据。集成了自然语言文本解析器。将自然语言加载到该编辑器,解析为结构化数据。并能够进行结构化数据编辑操作。(增删元数据,更换词条等)
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
本发明实施例提供的结构化数据解析和管理方法包括:
解析自然语言时,通过词库升级jieba库,并将自然语言分词为数组,遍历数组,与词库匹配,替换为结构化数据。
编辑结构化模板时,通过模板态结构化元数据节点和普通文本节点构成结构化模板。通过插入删除修改节点,从而创建和更改结构化模板。
编辑结构化数据时,通过赋值态结构化元数据节点和普通文本节点构成结构化数据。通过插入删除修改节点,从而创建和更改结构化数据。
结构化模板转换为结构化数据时,给结构化模板中的所有的模板态结构化元数据节点赋值后,生成结构化数据。
结构化模板编辑器或结构化数据编辑器中的文本解析为结构化模板或者结构化数据的节点数组,是通过特有正则表达式将文本解析生成结构化元数据和普通文本组成的节点数组。
通过语义化的模板和数据展示规则作为结构化数据和模板的展示形式。
实施例1
如图1所示,本发明实施例提供的结构化数据解析和管理方法具体包括:
S1:将自然语言文本通过自然语言文本解析器(如图2所示)解析为结构化数据,也可以将结构化数据通过结构化数据编译器解析为自然语言文本;
S2:结构化数据可以通过结构化数据编辑器可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
S3:将结构化词库中的结构化元数据构建结构化模板;
S4:结构化模板编辑器对结构化模板进行编辑;
S5:结构化数据数据编辑器对结构化模板中的结构化可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
具体原理如下:
(1)获取到自然语言文本,通过自然语言文本解析器解析为结构化数据。当要编辑结构化数据时,通过结构化数据编辑器加载结构化数据。通过系列编辑后,生成新的结构化数据,存入数据库。
(2)结构化模板由模板态元数据组成。
模板态元数据由其数据结构,及其附属的词库组成。
通过结构化模板编辑器,可以加载结构化模板。并进行编辑模板。
通过结构化数据编辑器可以加载结构化模板,并通过完成词条的选择,生成结构化数据。
在本发明一实施例中,所述自然语言文本解析器工作流程具体包括:
S11、通过jieba库实现自然语言文本的分词,生成分词列表;
S12、通过结构化词库,实现对jieba库的针对词库扩展;
S13、通过遍历分词列表,匹配遍历词库,如果匹配到词库词条则将该词条替换为元数据,最终将替换后的分词列表拼接为结构化文本。
如图2所示,自然语言文本解析器流程如下:
通过词库对jieba库进行扩展;
通过jieba库对自然语言文本进行分词,形成一个分词词组。
通过遍历该分词词组,判断每一项是不是元数据的目标项,并替换其中的每一项。其替换的方法是,寻找词库中是否有所匹配,如果有匹配,则替换为元数据。如果没有匹配则替换为普通文本节点。
经过替换后的数组就是最终的结构化数据。
在本发明一实施例中,所述结构化元数据的数据结构的设计,包含如下步骤:
(1)通过设计一种数据结构,包含元数据名、相应词库、实例态词条等信息;
(2)拥有两种状态:模板态、实例态。使得其支持解析器、两种编辑器的需求。
在本发明一实施例中,所述结构化数据编译器的设计,包含如下步骤:
(1)获取的结构化数据;
(2)遍历结构化数据,将结构化数据的元数据的值拼接为一个字符串,该字符串即是自然语言文本。
在本发明一实施例中,所述结构化模板编辑器的设计,包含如下步骤:
(1)由html的div作为编辑器容器;
(2)将元数据填充到容器中,形成结构化模板;
(3)然后存入数据库。
在本发明一实施例中,所述结构化数据编辑器,包含如下步骤:
(1)由html的div作为编辑器容器;
(2)集成自然语言文本解析器,将自然语言解析为结构化数据,并通过容器展示;
(3)可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
如图3所示,本发明实施例还提供一种结构化数据解析和管理系统包括:
特定的元数据结构及其词库1、结构化模板编辑器2、结构化数据编辑器3、结构化数据编译器4、自然语言文本解析器5组成;
特定的元数据结构及其词库1:用于提供结构化数据的存储形式;通过赋值与否,将元数据分为模板态和赋值态;以及通过将词库和元数据进行关联,使得元数据具有相关的语义解;
结构化模板编辑器2:用于编辑结构化模板,通过html的textarea展示和编辑模板字符串,通过新增修改删除其中的模板节点,编辑结构化模板;
结构化数据编辑器3:用于编辑结构化数据,通过html的textarea展示和编辑数据字符串,通过新增修改删除其中的数据节点,替换元数据部分的词条,从而编辑结构化数据;
结构化数据编译器4,用于将结构化数据转化为自然语言文本,遍历结构化数据各个节点,将节点数据的值进行字符串拼接,生成自然语言文本;
自然语言文本解析器5:用于将自然语言文本解析为结构化数据;通过词库升级jieba库,并将自然语言分词为数组,遍历数组,与词库匹配,替换为结构化数据。
还包括:
自然语言文本解析模块,用于将自然语言文本通过自然语言文本解析器解析为结构化数据,以及将结构化数据通过结构化数据编译器解析为自然语言文本;
元数据修改模块,用于将结构化数据通过结构化数据编辑器插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
结构化模板构建模块,用于将结构化词库中的结构化元数据构建结构化模板;
结构化模板编辑模块,用于结构化模板编辑器对结构化模板进行编辑;
结构化模板数据修改模块,用于通过结构化数据数据编辑器对结构化模板中的结构化插入、删除、修改结构化数据中的元数据,或者更换元数据的词条
实施例2
本发明实施例提供结构化元数据的数据结构的解析方法包括:
步骤1:设计一种普通文本节点的数据结构(记作Text)
该数据结构用于存储非结构化节点的数据。其中索引是value,值是字符串类型的值。
`javascript
{value:String}
`
其中value是普通文本。
步骤2:设计一种模板态元数据的数据结构(记作Metadata)
模板态是元数据未被赋值时的状态,用于结构化模板的编写。该数据结构有两个值,分别是名为metadataId的元数据唯一ID,以及名为name的元数据名称。其中名称用于结构化模板编辑器和数据编辑器中展示。而唯一ID用于关联元数据的词库等功能。
其中,
metadataId:元数据ID。
name:元数据名。
步骤3:设计一种元数据所属词库/词条的数据结构
词库用于关联元数据,赋予元数据真实含义。
词库的数据结构是由数量不等的词条组成的数组。
词条的数据结构:由词条所属元数据的ID(metadataId)、词条ID(wordId)、值(value)组成。
其中value是该词条所对应的自然语言的词语。
其中
其中,
metadataId:该词条所属元数据的ID。
value:词条值。
wordId:词条ID。
步骤4:设计一种实例态元数据的数据结构(记作Metadata Instance)
实例态元数据是模板态元数据赋值后的产物。其属性继承了模板态元数据的metadataId、name。另外拥有赋值的词条ID,以及词条value.
实例态元数据用于结构化数据编辑器中的赋值词条后的形态载体。
其中,
metadataId:元数据ID。
name:元数据名。
wordId:实例态词条Id。
value:实例态词条值。
步骤5:设计一种结构化模板的数据结构(记作Template)
结构化模板是模板态元数据节点和普通数据节点组成的JSON数组。结构化模板用于结构化模板编辑器的编辑产物的载体。
该数据结构给后续的自然语言文本解析器、结构化数据编译器、结构化模板编辑器、结构化数据编辑器提供了底层支撑。上述应用都是基于该实施例的基础实现的。
通过该数据结构将结构化数据简化为JSON数组,公认的,JOSN数据相较于XML等其他数据结构具有简洁、体积小等优点。
实施例3
本发明实施例提供的自然语言文本解析器用于将自然语言文本解析为结构化文本。经过以下两个步骤实现:
步骤1:词库扩展
分词使用到的jieba是实现分词的Python库。通过词库对jieba进行优化升级,使其不会拆散元数据的词条。
具体包括:子步骤1:引入jieba库;
子步骤2:循环遍历词库;
子步骤3:通过jieba.add_word将词条添加入jieba库,从而实现对其优化升级;
步骤2:自然语言分词
通过jieba库对自然语言进行分词,生成分词列表。
具体包括:子步骤1:引入jieba库;
子步骤2:通过文件读取、api获取等方式获取待处理的自然语言文本T;
子步骤3:通过jieba.cut将T进行分词,获得分词列表cutList
`python
improt jieba
nativeWord='张三被打了'
cutList=jieba.cut(nativeWord)
`
上述代码生成了分词列表cutList:['张三','被','打','了']
步骤3:解析
通过遍历分词列表,匹配遍历词库,如果匹配到词库词条则将该词条替换为元数据。最终将替换后的分词列表拼接为结构化文本。
具体包括:子步骤1:引入lodash库
子步骤2:新建数组result作为结构化数据的容器
子步骤3:循环步骤2中获取的分词列表cutList,每一项为一个分词cutword
子步骤4:循环中,通过lodash的find方法,寻找词库中是否有词条的word和该分词cutword的值相等
子步骤5:步骤4中,如果相等,则以该词条为wordId和value,构建为赋值态元数据节点,并push到容器result中
子步骤6:步骤4中,如果相等,则以该分词为value,构建为普通文本节点,并push到容器result中
子步骤7:经过步骤3的遍历,result容器就是生成的结构化数据。
关键代码如下
上述代码生成出了结构化数据如下
该实施例实现了自然语言文本转换为结构化数据。在短信解析、聊天记录解析、病历编写解析等方面有所应用。将文本解析为结构化数据后,方便进一步分析其含义。
该实施例基于词库的分词,能够更加精确地将目标词汇抽离出来。通过解析,将数据分解为文本数据和结构化元数据,使得后续其他应用使用该结构化数据时,可以重点关注结构化元数据部分的内容。
实施例4
本发明实施例提供的结构化模板编辑器的解析方法包含以下步骤:
步骤1:将html的textarea作为编辑器容器
关键代码如下:
步骤2:将结构化模板填充到容器中
设定模板态元数据在页面端展示的规则如下
[元数据ID|元数据名称]
结构化模板转换为展示文本,并插入容器,方法如下:
具体包括:子步骤1:新建一个数组容器result
子步骤2:循环结构化模板列表
子步骤3:子步骤2循环中,如果节点是模板态元数据,则构建一个形式为[元数据ID|元数据名称]的字符串,push到容器result中
子步骤4:子步骤2循环中,如果节点是普通文本节点,则构建一个形式为该节点值的字符串,push到容器result中
子步骤5:通过join空字符串的方法,将result生成为一个展示态的字符串S
子步骤6:通过innerHTML将该字符串S在浏览器端展示。
其中Template是结构化模板。
步骤3:经过系列编辑后,将展示文本转换为结构化模板,存入数据库。
在本发明实施例中,所述步骤3中展示文本转换为结构后模板的步骤如下:
(1)使用正则匹配出展示文本(记作T)中[元数据ID|元数据名称]格式的字符,存储在列表A。
该正则为:(?<=\[)((?|).*?|(?]).*?)(?=)/g
(2)遍历列表A,根据列表项依次截断展示文本T,遍历的同时,将截断的文本片段转换为Text或者Metadata,存入结果列表B中。列表B即结构化模板。
关键代码如下:
该函数的返回值即结构化模板。
该实施例实现了结构化模板的编辑功能。该实施例应用场景为短信模板配置、病历模板配置等功能。编辑好模板后,可以在模板中填写相关值,最后生成短信、病历等。
结构化模板编辑器是结构化数据解析的应用之一。能够使得病历,短信等根据模板,结构化填写,方便解析入库。
实施例5
本发明实施例提供的结构化数据编辑器解析方法包括:
步骤1:html的textarea作为编辑器容器
关键代码如下:
步骤2:将结构化数据填充到容器中
设定赋值态元数据在页面端展示的规则如下
[元数据ID:元数据名称|词条ID:词条值]
结构化数据转换为展示文本,并插入容器。
具体包括:子步骤1:新建一个数组容器result;
子步骤2:循环结构化数据列表;
子步骤3:子步骤2循环中,如果节点是赋值态元数据,则构建一个形式为[元数据ID:元数据名称|词条ID:词条值]的字符串,push到容器result中;
子步骤4:子步骤2循环中,如果节点是普通文本节点,则构建一个形式为该节点值的字符串,push到容器result中;
子步骤5:通过join空字符串的方法,将result生成为一个展示态的字符串S;
子步骤6:通过innerHTML将该字符串S在浏览器端展示。
方法如下:
其中Template是结构化数据。
步骤3:经过系列编辑后,将展示文本转换为结构化数据,存入数据库。
在本发明实施例中,步骤3展示文本转换为结构后模板的步骤如下:
1)使用正则匹配出展示文本(记作T)中[元数据ID:元数据名称|词条ID:词条值]格式的字符,存储在列表A。
该正则为:(?<=\[)((?|).*?|(?]).*?)(?=)/g
2)遍历列表A,根据列表项依次截断展示文本T,遍历的同时,将截断的文本片段转换为Text或者Metadata Instance,存入结果列表B中。列表B即结构化数据。
关键代码如下
该函数的返回值即结构化数据。
该实施例的应用场景可以为加载结构化数据模板,如病历模板、短信模板等,进一步编辑,生成最终病历、短信等的结构化数据。加载自然语言文本,如病历、聊天记录、短信等,生成结构化数据,编辑后,交给其他应用使用。
上述实施例具备的优点:通用性:该实施例可以加载结构化数据模板,进一步编辑,生成最终结构化数据。也可以加载自然语言文本,生成结构化数据。
可读性、体积小:通过定义较为简洁赋值态元数据格式,使得数据体积较小,可读性较高。通过
性能高:通过特殊的正则表达式进行解析文本,使得解析效率大幅度提升。因为公认的,正则的解析比编译语言自带的文本解析方法如indexOf等方法,效率更高。
实施例6
本发明实施例提供的结构化数据编译器解释方法包括:
步骤1:内存中新建一个空数组list,存储编译后自然语言文本片段;
步骤2:遍历结构化数据的数组,获取value。Push到list中;
步骤3:将list的每一项join为一个字符串。该字符串即是解析后自然语言文本。
该实施例的应用场景是,将结构化数据,如病历结构化数据、短信结构化数据等解析为病历、短信等。
通过该实施例的实现步骤,以及依托的特殊元数据,解析为自然语言文本的效率相当高,只需要一个循环即可完成。
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
医院中,医生通过该发明,填写结构化病历,只要在结构化元数据中选择词条,即可完成病历的编写工作。医院中,专家通过该发明,编写结构化病历模板,生成一套规范化的病历格式,使得以后各个医生通过该结构化病历模板,快速且规范化填写病历,及其病症。企业中通过该发明,编写结构化数据模板,为客户快速分发报警信息、提示短信等。
本发明实施例提供的方法的具体应用场景1:医生通过结构化模板编辑器编辑数个病历模板。当诊治病人时,症状符合之前编写好的病历模板时,选择该模板,将该模板加载到结构化数据编辑器。在结构化数据编辑器中选择或填写结构化元数据部分的内容,生成结构化病历数据。最终通过结构化数据编辑器中的结构化数据编译器,解析为自然语言的病历文本。医生也可以通过自然语言文本解析器将旧有的自然语言文本的病历解析为结构化数据进行存储。
本发明实施例提供的方法的具体应用场景2:指挥中心管理员通过结构化模板编辑器编辑数个报警模板。将该模板对应具体报警场景。其他应用需要报警时,通过本专利的结构化数据编辑器自动选择填写结构化元数据部分的内容,生成结构化报警数据。最终通过结构化数据编辑器中的结构化数据编译器,解析为自然语言的报警文本。
包含但不限于上述应用场景。
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
1、之前医生编写病历,是凭借主观意向,填写病历。可能会遗漏病症。通过该发明,编写好完整的病历模板后,只要选择元数据词条,即可完成病历的编写。原先,查明病因后,手写病历大约要三分钟,使用该发明后只需一分钟即可完成。书写速度提升了60%,病历的病证完整性提升了30%左右。
2、之前编写预警信息,进行推送,需要根据数据,编程,或者手写推送格式。通过该发明,选择模板即可推送。如有更改,只要修改模板即可。显著提升了效率。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体,或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种结构化数据解析和管理方法,其特征在于,所述结构化数据解析和管理方法包括:
通过词库升级库解析自然语言,将自然语言分词为数组、遍历数组,并与词库匹配,替换为结构化数据;
通过模板态结构化元数据节点和普通文本节点构成结构化模板并进行编辑,通过插入删除修改节点,创建和更改结构化模板;
通过赋值态结构化元数据节点和普通文本节点构成结构化数据并进行编辑,通过插入删除修改节点,创建和更改结构化数据;
对于结构化模板转换为结构化数据中,给结构化模板中的所有的模板态结构化元数据节点赋值后,生成结构化数据;
结构化模板编辑器或结构化数据编辑器中的文本解析为结构化模板或者结构化数据的节点数组,通过正则表达式将文本解析生成结构化元数据和普通文本组成的节点数组;
通过语义化的模板和数据展示规则作为结构化数据和模板的展示形式。
2.如权利要求1所述的结构化数据解析和管理方法,其特征在于,所述结构化数据解析和管理方法具体包括以下步骤:
S1:将自然语言文本通过自然语言文本解析器解析为结构化数据,以及将结构化数据通过结构化数据编译器解析为自然语言文本;
S2:结构化数据通过结构化数据编辑器可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
S3:将结构化词库中的结构化元数据构建结构化模板;
S4:结构化模板编辑器对结构化模板进行编辑;
S5:结构化数据数据编辑器对结构化模板中的结构化插入、删除、修改结构化数据中的元数据,以及更换元数据的词条。
3.如权利要求1所述的结构化数据解析和管理方法,其特征在于,所述自然语言文本解析器工作流程具体包括:
S11、通过jieba库实现自然语言文本的分词,生成分词列表;
S12、通过结构化词库,实现对jieba库的针对词库扩展;
S13、通过遍历分词列表,匹配遍历词库,如果匹配到词库词条则将该词条替换为元数据,最终将替换后的分词列表拼接为结构化文本。
4.如权利要求1所述的结构化数据解析和管理方法,其特征在于,所述结构化元数据的数据结构的设计,包含如下步骤:
(1)通过设计数据结构,包含元数据名、相应词库、实例态词条信息;
(2)拥有两种状态:模板态、实例态。使得其支持解析器、两种编辑器的需求;
在步骤(1)中所述设计数据结构包括:
设计普通文本节点的数据结构,用于存储非结构化节点的数据;其中索引是value,值是字符串类型的值;
设计模板态元数据的数据结构:模板态是元数据未被赋值时的状态,用于结构化模板的编写;所述模板态元数据的数据结构包括名为metadataId的元数据唯一ID,以及名为name的元数据名称;其中名称用于结构化模板编辑器和数据编辑器中展示;而唯一ID用于关联元数据的词库功能;
设计元数据所属词库/词条的数据结构,词库用于关联元数据,赋予元数据真实含义;词库的数据结构由数量不等的词条组成的数组;词条的数据结构由词条所属元数据的ID、词条ID、值组成;其中值是该词条所对应的自然语言的词语;
设计实例态元数据的数据结构,实例态元数据是模板态元数据赋值后的产物,继承模板态元数据的metadataId、name,另外拥有赋值的词条ID,以及词条值,实例态元数据用于结构化数据编辑器中的赋值词条后的形态载体;
设计结构化模板的数据结构,结构化模板是模板态元数据节点和普通数据节点组成的JSON数组,结构化模板用于结构化模板编辑器的编辑产物的载体。
5.如权利要求1所述的结构化数据解析和管理的系统与方法,其特征在于,所述结构化数据编译器的设计,包含如下步骤:
(1)获取的结构化数据;
(2)遍历结构化数据,将结构化数据的元数据的值拼接为一个字符串,该字符串即是自然语言文本。
6.如权利要求1所述的结构化数据解析和管理方法,其特征在于,所述结构化模板编辑器的设计,包含如下步骤:
(1)由html的div作为编辑器容器;
(2)将元数据填充到容器中,形成结构化模板;
(3)然后存入数据库。
7.如权利要求1所述的结构化数据解析和管理方法,其特征在于,所述结构化数据编辑器,包括如下步骤:
(1)由html的div作为编辑器容器;
(2)集成自然语言文本解析器,将自然语言解析为结构化数据,并通过容器展示;
(3)可以插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
8.一种实施权利要求1~7任意一项所述结构化数据解析和管理方法的结构化数据解析和管理系统,其特征在于,所述结构化数据解析和管理的系统包括:特定的元数据结构及其词库、结构化模板编辑器、结构化数据编辑器、结构化数据编译器、自然语言文本解析器组成;
特定的元数据结构及其词库:用于提供结构化数据的存储形式;通过赋值与否,将元数据分为模板态和赋值态;以及通过将词库和元数据进行关联,使得元数据具有相关的语义解;
结构化模板编辑器:用于编辑结构化模板,通过html的textarea展示和编辑模板字符串,通过新增修改删除其中的模板节点,编辑结构化模板;
结构化数据编辑器:用于编辑结构化数据,通过html的textarea展示和编辑数据字符串,通过新增修改删除其中的数据节点,替换元数据部分的词条,从而编辑结构化数据;
结构化数据编译器用于将结构化数据转化为自然语言文本,遍历结构化数据各个节点,将节点数据的值进行字符串拼接,生成自然语言文本;
自然语言文本解析器:用于将自然语言文本解析为结构化数据;通过词库升级jieba库,并将自然语言分词为数组,遍历数组,与词库匹配,替换为结构化数据。
9.如权利要求8所述的结构化数据解析和管理系统,其特征在于,所述结构化数据解析和管理系统还包括:
自然语言文本解析模块,用于将自然语言文本通过自然语言文本解析器解析为结构化数据,以及将结构化数据通过结构化数据编译器解析为自然语言文本;
元数据修改模块,用于将结构化数据通过结构化数据编辑器插入、删除、修改结构化数据中的元数据,或者更换元数据的词条;
结构化模板构建模块,用于将结构化词库中的结构化元数据构建结构化模板;
结构化模板编辑模块,用于结构化模板编辑器对结构化模板进行编辑;
结构化模板数据修改模块,用于通过结构化数据数据编辑器对结构化模板中的结构化插入、删除、修改结构化数据中的元数据,或者更换元数据的词条。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~6任意一项所述结构化数据解析和管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211087111.1A CN115345151A (zh) | 2022-09-07 | 2022-09-07 | 结构化数据解析和管理的系统、方法、设备、介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211087111.1A CN115345151A (zh) | 2022-09-07 | 2022-09-07 | 结构化数据解析和管理的系统、方法、设备、介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115345151A true CN115345151A (zh) | 2022-11-15 |
Family
ID=83955204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211087111.1A Pending CN115345151A (zh) | 2022-09-07 | 2022-09-07 | 结构化数据解析和管理的系统、方法、设备、介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115345151A (zh) |
-
2022
- 2022-09-07 CN CN202211087111.1A patent/CN115345151A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698682B1 (en) | Computerized software development environment with a software database containing atomic expressions | |
US7673235B2 (en) | Method and apparatus for utilizing an object model to manage document parts for use in an electronic document | |
US7617444B2 (en) | File formats, methods, and computer program products for representing workbooks | |
Nentwich et al. | Flexible consistency checking | |
KR101204128B1 (ko) | 고성능의 구조적 데이터 변환을 위한 하드웨어/소프트웨어파티션 | |
EP2041672B1 (en) | Methods and apparatus for reusing data access and presentation elements | |
KR101129083B1 (ko) | 표현 그룹화 및 평가 | |
US8397157B2 (en) | Context-free grammar | |
US20060277452A1 (en) | Structuring data for presentation documents | |
KR101110988B1 (ko) | 구조적 데이터 변환을 위한 장치 | |
US20100088676A1 (en) | Comparing and merging structured documents syntactically and semantically | |
US20070174307A1 (en) | Graphic object themes | |
US8122431B2 (en) | Device for processing formally defined data | |
US20090083300A1 (en) | Document processing device and document processing method | |
Thao et al. | Using versioned tree data structure, change detection and node identity for three-way xml merging | |
CN114594933A (zh) | 基于文件扫描的前端代码生成方法、装置及存储介质 | |
EP1783628A1 (en) | Document processing method and device | |
CN116090416B (zh) | 基于标准知识图谱的标准编写方法、系统、设备及介质 | |
US20080005085A1 (en) | Server Device and Search Method | |
CN116955393A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115345151A (zh) | 结构化数据解析和管理的系统、方法、设备、介质及终端 | |
Thao et al. | Using versioned trees, change detection and node identity for three-way XML merging | |
CN114816356A (zh) | 基于接口文档生成http请求代码的系统及方法 | |
CN107577476A (zh) | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 | |
Simic et al. | Prospects of encoding Java source code in XML |
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 |