专利名称::基于vba和四面体数据模型的文本信息获取与描述方法
技术领域:
:本发明涉及数据处理的
技术领域:
,具体涉及一种基于VBA和四面体数据模型的文本信息获取与描述方法,其通过VBA宏配合伺服程序的形式对文本信息的获取、描述和整合。
背景技术:
:随着信息时代的到来,信息每天都在以惊人的速度增长,Web网页、文本、图形图像、音频视频和空间数据等非结构化数据越来越多。据GartnerGroup统计,当今80%的数据是非结构化数据,这些数据来源丰富、内容复杂、结构迥异,传统的关系型数据库对这些复杂类型的非结构化数据已力不从心。因此建立非结构化数据管理系统,实现非结构化数据的有效管理将具有重大意义。由于非结构化数据本身差异巨大、底层特征完全不同,如何抽象、表示数据对象是非结构化数据管理首要解决的问题。四面体(Tetrahedron)数据模型,或称为三棱锥(Pyramid)模型,认为对于非结构化数据可以由四面体的4个刻面基本属性(所有数据都具有的一般属性,包括名称、类型、创建者等),语义特征(以文字表达的非结构化数据特有的语义属性,包括作者创作意图、数据主题说明、底层特征含义等语义要素),底层特征(通过各种专用处理技术(如文本、图像、语音、视频等)获得的非结构化数据特性,如颜色、纹理、形状、关键字等),原始数据(非结构化数据的原生态文件),以及刻面间语义关联进行描述。因此,四面体数据模型能够统一描述多种非结构化数据类型,合理表达了非结构化数据的组成部分以及各组成部分之间的内在联系。同时四面体数据模型能够集成处理各种数据类型的成熟技术,有效支持非结构化数据间的特征关联,具有可扩展性。文本作为一类重要的非结构化数据,可以由四面体进行完全描述。如果能够在文本获取、创建和编辑的同时即可提取文本的四面体信息,将极大得方便这些数据的管理。因此本发明采用Windows应用程序(例如MicrosoftOffice系列软件、WPSOffice系列软件等)中广泛使用的VBA宏技术,对文本进行统一、一致地数据处理,实现文本的编辑和排版过程中,文本四面体数据的获取以及文本四面体的形成,以便于后期文本数据的管理。
发明内容本发明的技术解决问题采用Windows应用程序(例如MicrosoftOffice系列软件、WPSOffice系列软件等)中广泛使用的VBA宏技术,对文本进行统一、一致地数据处理,实现文本的编辑和排版过程中,文本四面体数据的获取以及文本四面体的形成,以便于后期文本数据的管理。本发明采用的技术方案为一种基于VBA(VisualBasicforApplications)和四面体数据模型的文本信息获取与描述方法,步骤如下步骤(I)、基于四面体数据模型(TetrahedralDataModel),或称为三棱锥模型(PyramidDataModel),形成文本数据进行存储和表达形式;步骤(2)、自动采集数据文件的文件名、类型、创建者、创建时间、修改时间等基本属性;步骤(3)、文本编辑软件完成文本的编辑和排版等工作,生成原始数据;步骤(4)、使用伺服程序对文本数据进行特征提取,提取关键字和倒排索引等底层信息;步骤(5)、处理文本并自动提取标题、作者等信息,对科技文献类数据提取关键字(中英文)、摘要(中英文)、分类号等信息;步骤(6)、语义标注模块提供用户输入其他语义信息、对自动提取的语义信息进行修正以及添加删除语义项的功能;步骤(7)、存储管理模块综合原始数据、基本属性、底层特征以及语义特征信息最终形成文本的四面体表达;·步骤(8)、在文本编辑软件界面中添加按钮,通过与非结构化数据库相连的伺服程序,实现文档的一键入库。根据本发明的又一个方面,其中步骤(I)又进一步包括在四面体数据模型中,非结构化数据(在本发明中特指文本数据)可以被表示为如下四个刻面的集合(Al)基本属性所有非结构化数据都具有的一般属性,这些属性不涉及数据的语义,包括名称、类型、创建者、创建时间等;(A2)语义特征以文字表达的非结构化数据特有的语义属性,包括作者创作意图、数据主题说明、底层特征含义等语义要素;(A3)底层特征通过各种专用处理技术获得的非结构化数据特性,对文本而言主要指用于检索操作的倒排索引等信息;(A4)原始数据非结构化数据的原生态数据,在本发明中即文本数据包含的文字和排版信息。根据本发明的又一个方面,其中步骤(6)又进一步包括(BI)查看和修改语义项内容在窗口中显示语义项的内容,并对可修改的语义项提供用户编辑功能;对于内容长度较短的语义项,直接在一个窗口中列表显示并提供编辑;对于超长的语义项,为了方便用户查看和编辑,提供独立的窗口显示和编辑语义项的内容。(B2)添加和删除用户自定义语义项在窗口中显示用户自定义语义项的信息(语义项名称和语义项类型),并提供用户添加和删除特定语义项的功能。根据本发明的又一个方面,其中步骤(7)又进一步包括(Cl)、使用用户自定义文档属性存储除原始数据刻面以外的三个刻面的数据;(C2)、对超过255字符长度限制的属性进行分片存储;(C3)、通过响应VBA的三个重要事件,即“新建文件”事件、“打开文件”事件和“保存文件”事件,实现刻面数据存储的用户透明,同时避免用户对刻面数据的非法访问。具体如下(I)、将基本属性、底层特征以及语义信息以一定方式存放到文本文件中,以MicrosoftWord2007软件为例,即为存放在DOCX文件中。VBA6.0以上版本已经支持一定数量的内建属性项可以用于存放部分基本属性和语义信息中的标题、主题、公司、类别、版本等字段,但是为了提供对用户透明的处理过程,在本发明中所有的非原始数据信息都使用用户自定义属性存放。另外由于XXXPropertyTypeString类型(例如MicrosoftOffice系列软件中即为msoPropertyTypeString,在WPSOffice系列软件中即为wpsPropertyTypeString)有255个字符的限制,对于超长的语义项内容,本发明定义了分片存储方案。①、原始数据文档内容以及排版信息,按相应文本编辑软件规范存放;②、语义信息标题、作者、状态、关键字、摘要、分类号等,以及用户自定义的语义项;a)标题文档的标题;Name=TitleType=XXXPropertyTypeStringEditable=Trueb)作者文档的作者,对于多个作者都存储于同一个语义项中;Name=AuthorType=XXXPropertyTypeStringEditable=Truec)状态文档处于的状态,例如审查中、已定稿等;Name=StateType=XXXPropertyTypeStringEditabIe=Trued)中文关键字代表文档主要内容的中文关键字;Name=KeywordsChineseType=XXXPropertyTypeStringEditable=Truee)英文关键字代表文档主要内容的英文关键字;Name=KeywordsEnglishType=XXXPropertyTypeStringEditable=Truef)中文摘要文档的中文摘要;Name=AbstractChineseType=XXXPropertyTypeStringEditable=Trueg)英文摘要文档的英文摘要;Name=AbstractEnglishType=XXXPropertyTypeStringEditable=Trueh)分类号用于检索的文档分类(号);Name=TaxonomyType=XXXPropertyTypeStringEditable=Truei)用户自定义语义项用户根据自身需要为文本数据附加的额外语义信息,可以使用语义标注工具添加和删除。Name=<用户自定义语义项名称>Type=<用户自定义语义项类型>Editable=True③、基本属性文件名、文件类型、创建时间、修改时间等,按相应文件系统(例如FAT,NTFS,ext3等)定义的规范存放,创建者按文件用户属性存放;a)创建者文本文件的创建者,文件创建时提取,只有第一次保存之前可以修改;Name=CreatorType=XXXPropertyTypeStringEditable=False④、底层特征文本的底层信息主要是倒排索引等方便文档检索的信息;相应的语义信息项记录格式如下a)底层特征便于计算机处理的文本描述信息,例如常用的倒排索引等。只用于计算机处理,用户不能修改。Name=<底层特征名称>Type=XXXPropertyTypeStringEditable=False(II)分片存储方案对于超过255个字符的语义项内容,需要对相应的语义项分片,再将每一个片段存储于文本文件中。例如,对名为“AbstractChinese”的语义项,当其内容的长度超过255个字符时,需要对其进行分片。以“AbstractChinese”为名的属性用于存储内容的第一个片段,在这一片段的最后,用一个区别于语义项内容的指示字符串“<NEXTINDICATOR>SLICE[number]”指示存储下一个片段的属性名,另外如果一个片段之后还有内容时也需要这个指示字符串指示下一个片段。其中〈NEXTINDICATOR〉表示属性“NEXTINDICATOR”的值;[number]表示一个数字,由语义标注工具自动生成并保证在同一文件中不重复。这里需要定义两个系统保留属性a)分片标识符用于分隔语义项内容和下一片段名称。Name=NEXTINDICATORType=XXXPropertyTypeStringEditable=Trueb)片段内容用于存储语义项片段的内容,片段的内容不能直接编辑,只能由语义标注工具自动生成。Name=SLICE[number]Type=XXXPropertyTypeStringEditable=False根据本发明的又一个方面,步骤(8)进一步包括(Dl)在相应文本编辑软件的界面中添加用于非结构化数据处理的工具栏;(D2)VBA嵌入模块通过命名管道,将文本的四个刻面的数据传输给伺服程序,再通过伺服程序将文本数据插入非结构化数据库中。本发明与现有技术相比的优点在于I、现有处理技术是生成独立于原始数据文件的语义文件、底层特征文件等,然后再通过非结构化数据库客户软件,将这些分离的数据组合成文本四面体,最后将组合好的四面体数据入库。在将分离的刻面数据组合为四面体时,很容易产生由于对应关系模糊而导致的数据不一致,破坏了四面体的完整性。本发明将文本四面体四个刻面的信息存储在同一文件中,方便了四面体数据的传输和入库,同时本发明提供的一键入库功能可以有效避免刻面之间的数据不一致,保证四面体的完整性。2、现有处理技术为了生成文本数据的语义信息,会为用户提供独立的语义标注工具和底层特征提取工具,用户在文本文件编辑排版完成后再对其进行语义标注和底层特征提取。当文本文件经过编辑后或者语义信息需要修改时,用户必须重新(处理)标注文本文件并生成新的(底层)语义文件。当待标注的文件数量很多时,用户需要一一确认文本文件的内容,再为其标注上正确的语义信息,这个过程十分繁琐费时。本发明将语义标注和底层特征提取融入了文本的编辑排版过程中,即保证了四面体四个刻面之间的一致性,同时也简化了大批量文件的入库过程。图I为本发明方法模块划分和数据流示意图;图2为本发明方法中文本自动处理的流程图,其中(a)是对“新建文件”事件的响应过程,(b)是对“打开文件”事件的响应过程,(C)是对“文档保存”事件的响应过程,(d)是对“计时器超时”事件的响应过程。具体实施例方式下面参考附图,对本发明的实施例进行详细的说明。首先对本发明的算法原理进行说明。四面体(Tetrahedron)数据模型,或称为三棱锥(Pyramid)模型,认为对于非结构化数据可以由四面体的4个刻面基本属性(所有数据都具有的一般属性,包括名称、类型、创建者等),语义特征(以文字表达的非结构化数据特有的语义属性,包括作者创作意图、数据主题说明、底层特征含义等语义要素),底层特征(通过各种专用处理技术(如文本、图像、语音、视频等)获得的非结构化数据特性,如颜色、纹理、形状、关键字等),原始数据(非结构化数据的原生态文件),以及刻面间语义关联进行描述。文本作为一类重要的非结构化数据,因此可以由四面体的4个刻面来描述。并且,四面体数据模型能够统一描述多种非结构化数据类型,合理表达了非结构化数据的组成部分以及各组成部分之间的内在联系。同时四面体数据模型能够集成处理各种数据类型的成熟技术,有效支持非结构化数据间的特征关联,具有可扩展性。如果能够在文本编辑和排版的同时即可提取文本的四面体信息,将极大得方便这些数据的管理。具体而言,本发明所提出的计算方法模块划分和数据流如图I所示。本发明主要包括的核心思想采用Windows应用程序(例如MicrosoftOffice系列软件、WPSOffice系列软件等)中广泛使用的VBA宏技术,对文本进行统一、一致地数据处理,实现文本的编辑和排版过程中,文本四面体数据的获取以及文本四面体的形成,以便于后期文本数据的管理。本发明的过程描述如下I.基于四面体(Tetrahedron)数据模型,或称为三棱锥(Pyramid)模型,形成文本数据进行存储和表达形式。在四面体数据模型中,非结构化数据(在本发明中特指文本数据)可以被表示为如下四个刻面的集合a)基本属性所有非结构化数据都具有的一般属性,这些属性不涉及数据的语义,包括名称、类型、创建者、创建时间等;b)语义特征以文字表达的非结构化数据特有的语义属性,包括作者创作意图、数据主题说明、底层特征含义等语义要素;c)底层特征通过各种专用处理技术获得的非结构化数据特性,对文本而言主要指用于检索操作的倒排索引等信息;d)原始数据非结构化数据的原生态数据,在本发明中即文本数据包含的文字和排版信息。2.自动采集数据文件的文件名、类型、创建者、创建时间、修改时间等基本属性;3.文本编辑软件完成文本的编辑和排版等工作,生成原始数据;4.使用伺服程序对文本数据进行特征提取,提取关键字和倒排索引等底层信息;5.处理文本并自动提取标题、作者等信息,对科技文献类数据提取关键字(中英文)、摘要(中英文)、分类号等信息;6.语义标注模块提供用户输入其他语义信息、对自动提取的语义信息进行修正以及添加删除语义项的功能;e)查看和修改语义项内容在窗口中显示语义项的内容,并对可修改的语义项提供用户编辑功能;f)添加和删除用户自定义语义项在窗口中显示用户自定义语义项的信息(语义项名称和语义项类型),并提供用户添加和删除特定语义项的功能。7.存储管理模块综合原始数据、基本属性、底层特征以及语义特征信息最终形成文本的四面体表达。将基本属性、底层特征以及语义信息以一定方式存放到文本文件中,以MicrosoftWord2007软件为例,即为存放在DOCX文件中。VBA6.0以上版本已经支持一定数量的内建属性项可以用于存放部分基本属性和语义信息中的标题、主题、公司、类别、版本等字段,但是为了提供对用户透明的处理过程,在本发明中所有的非原始数据信息都使用用户自定义属性存放。另外由于XXXPropertyTypeString类型(例如MicrosoftOffice系列软件中即为msoPropertyTypeString,在WPSOffice系列软件中即为wpsPropertyTypeString)有255个字符的限制,对于超长的语义项内容,本发明定义了分片存储方案。a)原始数据文档内容以及排版信息,按文本文件规范存放;b)语义信息状态、关键字、摘要、分类号等,以及用户自定义的语义项;I)标题文档的标题;Name=TitleType=XXXPropertyTypeStringEditable=True2)作者文档的作者,对于多个作者都存储于同一个语义项中;Name=AuthorType=XXXPropertyTypeStringEditable=True3)状态文档处于的状态,例如审查中、已定稿等;Name=StateType=XXXPropertyTypeStringEditable=True4)中文关键字代表文档主要内容的中文关键字;Name=KeywordsChineseType=XXXPropertyTypeStringEditable=True5)英文关键字代表文档主要内容的英文关键字;Name=KeywordsEnglishType=XXXPropertyTypeStringEditable=True6)中文摘要文档的中文摘要;Name=AbstractChineseType=XXXPropertyTypeStringEditable=True7)英文摘要文档的英文摘要;Name=AbstractEnglishType=XXXPropertyTypeStringEditable=True8)分类号用于检索的文档分类(号);Name=TaxonomyType=XXXPropertyTypeStringEditable=True9)用户自定义语义项用户根据自身需要为文本数据附加的额外语义信息,可以使用语义标注工具添加和删除。Name=<用户自定义语义项名称>Type=<用户自定义语义项类型>Editable=Truec)基本属性文件名、文件类型、创建时间、修改时间;按文本文件内建属性存放,创建者按用户属性存放;I)创建者文本文件的创建者,文件创建时提取,只有第一次保存之前可以修改;Name=CreatorType=XXXPropertyTypeStringEditable=Falsed)底层特征文本的底层信息主要是倒排索引等为方便文档检索的信息;相应的语义信息项记录格式如下I)底层特征便于计算机处理的文本描述信息,例如常用的倒排索引等。Name=<底层特征名称>Type=XXXPropertyTypeStringEditable=Falsee)分片存储方案对于超过255个字符的语义项内容,需要对相应的语义项分片,再将每一个片段存储于文本文件中。例如,对名为“AbstractChinese”的语义项,当其内容的长度超过255个字符时,需要对其进行分片。以“AbstractChinese”为名的属性用于存储内容的第一个片段,在这一片段的最后,用一个区别于语义项内容的指示字符串“<NEXTINDICATOR>SLICE[number]”指示存储下一个片段的属性名,另外如果一个片段之后还有内容时也需要这个指示字符串指示下一个片段。其中〈NEXTINDICATOR〉表示属性“NEXTINDICATOR”的值;[number]表示一个数字,由语义标注工具自动生成并保证在同一文件中不重复。这里需要定义两个系统保留属性I)分片标识符用于分隔语义项内容和下一片段名称。Name=NEXTINDICATORType=XXXPropertyTypeStringEditable=True2)片段内容用于存储语义项片段的内容,片段的内容不能直接编辑,只能由语义标注工具自动生成。Name=SLICE[number]Type=XXXPropertyTypeStringEditable=False8.在文本编辑软件界面中添加按钮,通过与非结构化数据库相连的伺服程序,实现文档的一键入库。f)在相应文本编辑软件的界面中添加用于非结构化数据处理的工具栏;g)VBA嵌入模块通过命名管道,将文本的四个刻面的数据传输给伺服程序,再通过伺服程序将文本数据插入非结构化数据库中。在实际使用的过程中,由于很多应用程序都提供用户自定义属性的增删改查操作,用户能够查看到被分片的超长信息,并可能绕过VBA嵌入模块对只读属性的信息进行操作。因此为了避免这些无法预期的用户行为,同时令四面体信息的存储和处理过程对用户透明,本发明还设计了如下自动处理方案,其具体流程如图2所示I.响应“新建文件”事件(New),如图2(a)所示。设置“新建标识”,用于判断部分只读属性(例如创建者属性)是否可以被用户修改;初始化文本的基本属性和一部分语义属性,此时这些信息都被存放于内存中,用户只能通过语义标注模块对这些信息进行查看、修改和增删;2..响应“打开文件”事件(Open),如图2(b)所示。将存放于文件中的四面体信息读入内存中,然后删除相应的属性项,这些信息便只存放于内存中,用户只能通过语义标注模块对这些信息进行查看、修改和增删;3.响应“保存文件”事件(DocumentBeforeSave,DBS),如图2(C)所示。将存放于内存中的四面体信息写回文本文件中,以保证保存于磁盘上的文件内容的一致性;设置计时器,保证在文件保存完成后,再次删除用于存放四面体信息的属性项;4.响应“计时器超时”事件(Timer),如图2(d)所示。删除用于存放四面体信息的属性项,保证后台处理过程对用户的透明性。综上所述,根据上述方法即形成了基于VBA和四面体数据模型的文本信息获取与描述方法。对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其作出各种修改。权利要求1.一种基于VBA和四面体数据模型的文本信息获取与描述方法,其特征在于该方法包括如下步骤步骤(I)、基于四面体数据模型,或称为三棱锥模型,形成文本数据进行存储和表达形式;步骤(2)、自动采集文本文件的基本属性,包括文件名、类型、创建者、创建时间、修改时间;步骤(3)、文本编辑软件完成文本的编辑和排版工作,生成原始数据;步骤(4)、使用伺服程序对文本数据进行特征提取,提取底层信息,包括关键字和倒排索引;步骤(5)、处理文本并自动提取文档的标题和作者,对科技文献类数据提取关键字、摘要、分类号,其中关键字和摘要均为中英文格式;步骤(6)、语义标注模块提供用户输入其他语义信息、对自动提取的语义信息进行修正以及添加删除语义项的功能;步骤(7)、存储管理模块综合原始数据、基本属性、底层特征以及语义特征信息最终形成文本的四面体表达;步骤(8)、在文本编辑软件界面中添加按钮,通过与非结构化数据库相连的伺服程序,实现文档的一键入库。2.根据权利要求I所述的基于VBA和四面体数据模型的文本信息获取与描述方法,其特征在于所述的步骤(I)进一步包括在所述的四面体数据模型中形成的文本数据被表示为如下四个刻面的集合(Al)、基本属性所有文本数据都具有的一般属性,这些属性不涉及数据的语义,该语义包括名称、类型、创建者和创建时间;(A2)、语义特征以文字表达的文本数据特有的语义属性;(A3)、底层特征通过各种专用处理技术获得的文本数据特性,对文本数据而言指用于检索操作的关键字和倒排索引;(A4)、原始数据文本数据的原生态数据,即文本数据包含的文字和排版信息。3.根据权利要求I所述的基于VBA和四面体数据模型的文本信息获取与描述方法,其特征在于所述的步骤(6)进一步包括步骤(BI)、查看和修改语义项内容在窗口中显示语义项的内容,并对可修改的语义项提供用户编辑功能;对于内容长度较短的语义项,直接在一个窗口中列表显示并提供编辑;对于超长的语义项,为了方便用户查看和编辑,提供独立的窗口显示和编辑语义项的内容;步骤(B2)、添加和删除用户自定义语义项在窗口中显示用户自定义语义项的信息,该用户自定义语义项的信息包括语义项名称和语义项类型,并提供用户添加和删除特定语义项的功能。4.根据权利要求I所述的基于VBA和四面体数据模型的文本信息获取与描述方法,其特征在于所述的步骤(7)进一步包括步骤(Cl)、使用用户自定义文档属性存储除原始数据刻面以外的三个刻面的数据;步骤(C2)、对超过255字符长度限制的属性进行分片存储;步骤(C3)、通过响应VBA的三个重要事件,S卩“新建文件”事件、“打开文件”事件和“保存文件”事件,实现刻面数据存储的用户透明,同时避免用户对刻面数据的非法访问。5.根据权利要求I所述的基于VBA和四面体数据模型的文本信息获取与描述方法,其特征在于所述的步骤(8)进一步包括步骤(D1)、在相应文本编辑软件的界面中添加用于文本数据处理的工具栏;步骤(D2)、VBA嵌入模块通过命名管道,将文本的四个刻面的数据传输给伺服程序,再通过伺服程序将文本数据插入非结构化数据库中。全文摘要本发明提供一种基于VBA和四面体数据模型的文本信息获取与描述方法,其基于四面体数据模型形成文本数据的存储和表达形式;自动采集数据文件的基本属性;文本编辑软件生成原始数据;使用伺服程序对文本数据进行特征提取;处理文本并自动提取相关信息;语义标注模块提供用户对语义信息的输入、修改以及增删语义项的功能;存储管理模块综合原始数据、基本属性、底层特征以及语义特征信息最终形成文本的四面体表达;在文本编辑软件界面中添加按钮,通过与非结构化数据库相连的伺服程序,实现文档的一键入库。本发明解决文本编辑和排版过程中文本四面体数据的获取以及文本四面体的形成,以便于后期文本数据的管理。文档编号G06F17/24GK102799632SQ201210214210公开日2012年11月28日申请日期2012年6月25日优先权日2012年6月25日发明者李未,郎波,刘洋申请人:北京航空航天大学