CN1204515C - 自由格式数据处理的方法和设备 - Google Patents

自由格式数据处理的方法和设备 Download PDF

Info

Publication number
CN1204515C
CN1204515C CNB988142023A CN98814202A CN1204515C CN 1204515 C CN1204515 C CN 1204515C CN B988142023 A CNB988142023 A CN B988142023A CN 98814202 A CN98814202 A CN 98814202A CN 1204515 C CN1204515 C CN 1204515C
Authority
CN
China
Prior art keywords
data
free
text object
format
text
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.)
Expired - Fee Related
Application number
CNB988142023A
Other languages
English (en)
Other versions
CN1315020A (zh
Inventor
格雷格·赫瑟林顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=3804719&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1204515(C) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Publication of CN1315020A publication Critical patent/CN1315020A/zh
Application granted granted Critical
Publication of CN1204515C publication Critical patent/CN1204515C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种处理自由格式数据(301)的方法和设备,以生成与自由格式数据相关联的“文本对象”。文本对象包括多个“元素节点”(302-312),这些节点包括自由格式文本元素的属性类型标识符,和帮助对文本对象的访问、取得信息和/或修改或添加自由格式数据的其它数据。这样的配置消除了对信息的每一个元素构建独立的数据库字段的要求,这样,自由格式数据可按照人性化处理自由格式数据的方式进行处理。通过构建的文本对象可以访问所有的元素。

Description

自由格式数据处理的方法和设备
本发明一般涉及自由格式数据形式的信息的处理、存储和分析,特别涉及(但不仅限于)用于解译自由格式文本的方法和设备。
发明背景
对于计算机***来说,其主要的目的之一就是对信息进行管理。这种信息管理是通过计算机内部的数据管理***来实现的。
总的来说,数据管理***可分为两大类:1)数据库管理***;和2)文本搜索与检索***。
第一类的数据管理***将数据以特定的格式存入计算机内部,以便这些数据得以保存下来和进一步的编辑。在需要的时候,这些***将对数据以特定的格式进行表达以便人类读取数据或由其他的***使用数据。这一类的数据管理***包括:分级、网络、关联、对象数据库***以及智能型管理***。
在分级网络关联数据库中,关于一个实体的信息(一项交易、库存项目、一个人、一个公司、一个地址等)通常被叫做一项“记录”(尽管有时侯,一项记录可能会包括多个实体的信息),在每一项记录中,实体的各个“属性”通常又被分成“字段”。
对于对象数据库管理***和智能型管理***来说,这些基本的单元可能会有不同的叫法,比如“对象”,并且关于对象的信息可能被叫做“槽(slot)”或“成分”。每一个属性字段/槽均有一种格式,可能是,例如,整数、实数、布尔逻辑或字符等。其他为记录/对象。某些字段/槽具有特定的格式(例如,日期、时间),然而,还有一些则为自由格式文本。
    数据库一旦建立后,可用来实现以下的操作:
    ·添加一项记录/对象
    ·放置和修改一项记录/对象
    ·放置和删除一项记录/对象
    ·检索信息
这些操作将被称为“正常的数据库操作”。
在字段/槽中,对于实体信息的存储适用于多种类型数据。然而,还有某些类的数据不存在适用的标准结构。没有标准结构数据的一个最好的例子便是“地址”数据。由于大多数的数据库是在一个、两个或三个自由格式字段存储人的地址信息的,按地址的单个属性来实现基本的数据库操作非常困难。注意,“属性”这个术语在这里指的是数据某个“元素”的特性。
例如,自由格式数据“悉尼北部皮特街35号”就有多个“元素”。每一个元素有一个关联的“属性”。“北部”这一元素的“属性”为“地理指示”。元素“12”的“属性”为一个“号码(number)”。值得注意的是,“低等级”的元素与数据的“令牌(tokens)”相对应,也就是说,元素“北部”是数据的一个“令牌”。然而,数据还包含高等级元素,例如,“悉尼北部”就是一个包含两个令牌的元素,这一元素的属性为“城镇”。整个数据“悉尼北部皮特街12号”的属性,也就是总的“元素”为一个“地址”。对于元素的另一个叫法为“组件”。
对于这种自由格式数据的每一个元素为其关联的属性设有其自己的字段将会大大的增大数据库的大小和复杂性,即使对于这个简单的地址实例亦是如此。对于那些包括人员以及其地址信息的数据库,为了避免过于复杂,特别是对于老的数据库,地址数据可存储在一个标有“地址”的单个字段中。在这一字段中包含自由格式的地址,并且,对于当前的数据库技术来说,对地址的各个元素实现基本的数据库操作是不可能的-那些元素是不可以单独进行访问的(那些构成地址的元素集合在一块,作为一个“地址”整体可被访问的情况除外)。
在一定程度上,这一问题受到数据库清扫/清洁科学界的重视。这一商业化奋斗的领域将解析过程应用到自由格式文本,以便生成自由格式文本属性的新的数据库字段并且跨入完全标准化数据的区域。这一数据的标准化过程包括将所有的拼写变量转化成一个一致的设定。(例如,“街道(street)→“st”)。该实例将会生成以下的结果:
    房号     街道名称     街道类型     城市
    12     皮特     街道     悉尼
从此,这些新的数据库字段将被用来进行基本的数据库操作。整个工业已完全的投入到这一领域,使用庞大的、复杂和贵重的软件包提取存储在数据库中的信息,分析和处理这些信息以为这些信息记录属性生成包括更多字段的新的数据库,从此为这些记录的操作提供更强的灵活性。
关于清洁/清扫数据库领域,已有很多著作(参阅,例如,1996年9月,DBMS杂志上的“处理糟杂数据”一文)。这一过程十分昂贵-对于一个庞大的数据库进行清洁操作会花费成千上百万的费用,原因在于这一过程消耗时间非常多,并且所开发的用于清洁数据库的软件包也非常的复杂—其实,即使这样,在基本的操作方面,即,就某个元素进行数据库操作上仍存在着局限性,一个元素必须有一个自己的字段。
这就将我们带入到第二个主要的问题,这一问题一直困扰着如何在商业化数据库中存储计算机化的信息。事实上,所有的商业数据均存储在分级式的、关联式的数据库或平面数据文件中,这些文件具有在设计时就已确定的具体的结构,然而,从这些信息的本质上看将是非常复杂的,并且甚至具有无限数量的不同属性。要生成一个用于每一个和所有的不同类型的信息的每一和所有属性的字段的数据库,事实上是不实际的。假定是有可能的话,要生成一个包含用于人类所需的所有类型信息的字段的数据库,从成本上讲,也是不实际的。
既使一个费用不大的(但很重要的)例子就足以说明问题的难度。让我们考虑一下国际地址问题,也就是,世界上所有的地址。尽管四或五个自由格式字段就可以包含任何地址,要设计一个包括所有的国际地址的所有可能的属性的数据字段这样的一个数据库将需要不是上千个也会是上百个这样的数据字段。英国有多个县;美国和澳大利亚有多个州;日本有多个区,并且各个不同的地址又有各自不同的表达习惯等等。
数据库清洁/清扫的研究是迄今为止仅有的部分方案。然而,对于每一数据属性,它仍然需要相同的基本的数据库结构。人们可以建立越来越多的复杂的数据库,但是这一问题终不会彻底的解决,并且会大大地限制计算机对信息的处理。
自然语言处理***是通过使用“语义语法”对语义信息编码使其成为一种依据造句法的语法。这些***主要用来向其他的***,例如数据库管理***,提供自然语言接口。以下的内容摘自由D.W.皮特森(Patterson,D.W.)写的一本书“人工智能和专家***”。
“...它们采用无终端的语义成分使用与上下文无关的改写规则。这些成分为类别或元符号,例如,属性、对象、呈现(如出现在显示器上的或打印机上的)、和船舶(ship),而不是NP(名词状态)、VP(动词状态)、N(名词)、V(动词)等等。...
在为数不多的应用中,语义语法已被证明是成功的,这些应用包括LIFER,有(美国)海军发布的一个数据库查询***...,和用于指导电路故障诊断的,名为SOPHIE的指南***。
从根本上讲,用于这些***中的改写规则使用以下的格式
S→什么是<CIRCUIT-PART>的<OUTPUT-PROPERTY>?
OUTPUT-PROPERTY→该<OUTPUT-PROP>
OUTPUT-PROPERTY→<OUTPUT-PROP>
CIRCUIT-PART→C23
CIRCUIT-PART→D12
OUTPUT-PROP→电压
OUTPUT-PROP→电流
在LIFER***中,有处理大量的查询问题的格式,例如
最靠近纽约的通信公司(carriers)的名字是什么?
谁指挥肯尼迪?
等等。
分析这些句子并把单词对照为辞典词条中的元符号。例如,输入句子“打印计划的长度”(’print the length of theEnterprise’)将与
<LTG>-><PRESENT>the<ATTRIBUTE>of<SHIP>相配
其中,print与<PRESENT>相配;length与<ATTRIBUTE>相配;Enterprise与<SHIP>的LIFER顶层语法规则相配。与<ATTRIBUTE>相配的其他典型的辞典词条包括等级、指挥官、燃料、类型、梁和长度等等(CLASS,COMMANDER,FUEL,TYPE,BEAM,LENGTH)。
这些类型的***以特定结构的或自由格式的形式接收数据并将其转化为***自己的表达形式。
尽管其接口具有一定的灵活性,并且与之连接的数据库具有固定的结构形式,然而,这些***仍无法对数据的原文(人类可读的)进行转化。
的确,以前是有多个***,它可向具有特定结构的数据库提供“自然语言”的接口。不过,所有的这类***均是将“自然语言”翻译成某些特定结构数据的格式。这同样存在前面所述的同样的问题。
作为这类***的一个实例,请参阅美国专利4787035,波恩,“数据译员”和美国专利5454106,波斯,玛哈托,A.,“使用自然语言展示...可读元素的数据库检索***”。
正如前面所讨论的,有一种数据库管理***是智能型的数据库管理***(KBMS)。
这些***对对象采用属性“槽”的概念。这些槽就对象提供或是转换信息,进行直接的存储或是间接的经过处理。一个简单的“槽”的实例就可以说明问题:一个“正方形”对象有两个属性槽,“长度”和“面积”。“面积”槽的值不需要进行存储,因为它可以通过“长度”值的平方而求得。
尽管这类的***不需要固定的数据库结构,然而,它们却需要将原始数据转化成内部数据表示方法,这就需要一套非常复杂的“语言生成”过程以便生成人类可读的信息。如果要求这类的***保留原始数据以便其他的***或人类使用,一个小小的转化就需要整个的文本串重新生成。
数据管理***的文本搜索和检索类别不是输入数据,而是建立可搜索的指向原始数据的索引。这些类别包括:文件存储与检索***;以及互联网搜索引擎。
这类的***之所以非常成功,原因在于它们将原始信息保留成人类可读的形式。这一基本的原则意味着,它不同于前面提到的原始的数据库***,其根本的数据可以轻松的与该类很多的***共享。其成功的另一个原因在于,在不需要对原始数据进行转化的情况下即可进行技术方面的革新。数据转换不仅十分昂贵,而且也是数据出错的主要原因。
然而,与上面所述的数据库***相比,在使用这类***管理数据时,它也存在着诸多的缺点。主要的缺陷是数据无法操纵-它不可修改,什么样就是什么样。难于进行操作的数据库功能还有:
    ·对数据进行交互检查和确认
    ·将数据与数据库***集成
    ·对文本数据进行分类和分级
从这些局限性上我们可以看到,该类数据管理***适合于不需要进行转换的未结构化的数据。
在文本搜索与检索***中,众所周知,在对文件库进行处理时,需要找出每一个文件的特定的属性,比如,“主题”词。使用这样的***进行处理的文件类型包括书、报纸、报告、手册和电子邮件。
然而,大多数这类***只寻找单个的字进行匹配,而不是按上下文找多个字。还有一些其他的***通过识别名词却不对名词进行分类。这两种***均不适合诸如地址数据这样的数据,因为它包含着一大部分的专有名词。
另外,在上下文中,原始数据无法更改。
关于这一领域的详细情况,请参阅盖拉德·萨敦的著作。
请注意,不要把在下文中将使用的“文本对象”这个术语与描述在计算机***之间通过压缩文本串对一项项的文本数据进行存储和转换的软件技术中使用的术语“文本对象”相混淆。使用“文本对象”这一术语的技术从用于苹果机操作***的“串”对象(其中的对象主要包含两字节“长度”值的导引和文本串)到X-Windows操作***中使用的“复合串”对象(其中的对象对一项信息的多重编码、语言转换、和字体进行压缩)均有使用。
发明概述
本发明的第一方面提供了一种对存储在计算机***中的自由格式数据的处理方法。它包括对数据元素的内容进行检查的步骤,以便确定数据的属性,通过检查各个元素的内容以及各个元素之间的上下文关系,来确定有关数据的语义和造句信息(属性),生成与这些信息相关联的附加的数据,并以文本对象的形式表示,这包括指针装置,它意味着可对自由格式数据的元素进行访问,并且,可以通过查询处理装置访问附加数据,以便提供与数据的语义和造句信息有关的查询的答案,和/或访问数据并对数据进行操作。
在此说明书中使用的术语“文本对象”并不象前面所述的那样对文本串进行压缩。在本发明中的文本对象这一术语提供了一个实际文本数据和例如一个需要访问和/或处理文本数据的应用软件***之间的“语义层”。
按其最简单的格式,如前面所说的,文本对象即为附加数据,与通过对数据元素的检查所得到的语义和造句信息相关联,并且指针装置为(例如一个关键码(key)),它可以带回到自由格式数据的元素(例如,查索形成自由格式数据的文本串)。
附加数据最好允许通过对数据的检查所得到的数据的属性。例如,在前言部分给出的那个例子-“悉尼北部皮特街12号”中,该数据具有各不相同的属性,例如,“街道(street)”等于“皮特街12号:”;“街道号码(streetnumber)”等于“12”;“城镇(town)”等于“悉尼北部”,等等。这些属性由附加数据进行辨识,并且,指针装置最好允许对这些数据的元素进行访问,这些数据的元素又与那些属性相关联。附加数据有效的提供了一些“虚拟数据字段”-这些数据字段不像他们在一般的数据库中那样真实的存在,并有一栏目字段前端用于放置每一项属性。不过,基于一个一个的属性的基础上,使用本发明便可对自由格式数据进行访问,犹如那些属性字段真实地存在着一样。本发明优选的体现方法是生成“虚拟数据字段”,它最好允许对自由格式文本的一般的数据库操作,而没有必要生成自由格式文本的真实的数据字段。自由格式文本能够在其同样的位置保持其原样存储(通常为数据库)。
当有人考虑对多个自由格式数据记录进行处理时,如国际地址数据,本发明的重要性将显而易见。正如上面所讨论的,尽管四到五个地址字段便可存储自由格式形式的所有的国际地址数据,然而,每项数据记录会有多个属性,而且与其他的地址相比,其属性又各不相同,比如,英国有县,而美国有州。因此,为所有的国际地址的所有的属性生成真实的传统的数据库字段简直就是一项几乎是不可能的任务。然而,对于本发明来讲,自由格式数据的每一项记录均可以实现并且进行处理,并继而以文本对象的形式为该特定的记录生成一个数量不大的虚拟数据字段。然后,通过恰当的查询处理装置对于每一项记录的文本对象进行单独的查询,以便对于该项记录提供所有的一般数据库操作。数据本身可保留其原位。由于为每一个记录生成了一个单独的文本对象,对于每一个记录提供不同的虚拟数据字段是不成问题的。我们没有必要生成带有多个字段的庞大的数据库,我们只需使数据库记录保留其原样并且生成多个文本对象,每个记录生成一个,总体上给出多个虚拟字段,然而,对于每个文本对象没有几个虚拟字段。
检查的步骤包括对自由格式数据的解析过程。
一个文本对象最好能够使数据处理,进行所有一般的数据库操作,例如,修改记录、存放记录的元素、从记录中检索信息等等。由文本对象所提供的信息最好包括数据元素的信息。在优选的实现方式中,信息也可能包括其匹配信息(例如语音),以帮助数据的一项记录与数据的另一项记录之间进行比较,筛选出优先的信息以更加有效地对自由格式文本等进行处理。
有理由相信,这一新的方法将使计算机能够几乎像人类那样对自由格式数据进行处理。一旦数据库的恰当的栏目名称被确定下来,就没有必要根据数据记录的属性分解数据记录,并将每一属性类型的标准值放入数据库中适当的字段中(如传统的做法那样)。每一项数据记录的每一个文本对象均提供了计算机所需的所有的处理方法和信息,以便进行一般的数据库操作。比如说,国际地址的属性类型是可以比较,处理的,等,没有必要提供一个带有多个字段的复杂的数据库。
文本对象包括可访问的属性类型标识符和指针。前者用来对自由格式数据的属性进行识别;后者用来对具有特定属性的数据元素进行定位。
在优选的实施例中,文本对象包括“元素节点”式的多个组件。更可取的是,多个元素节点按照事先确定的层次在文本对象中是相互关联的。例如,这些元素节点可被看作是以“文本节点树”的形式“筑巢”在一起,该树有许许多多的树枝,它又将多个不同的元素节点按预定的层次相互关联在一起,每一个元素节点可包括:
·一个属性类型标识符(对与该元素节点相关联的自由格式数据的属性进行分级);
·一个指针,指向文本对象串内的次级串的开始(也就是说,与元素节点相关联的元素的开始点)。
·一个整数,包含(数据)元素次级串的字符长度。
·零、一或多个其他的元素节点(在这个元素节点内筑巢或与该元素节点关联在一起以便可通过该元素节点对其他的元素节点进行访问),最好以队列的形式存储。
·一个匹配程度(matching weight)(在与其他的文本对象进行比较时,表示该元素的相对重要性);
·一个布尔逻辑变量,表示该属性类型标识符是否是一个低等级的匹配元素,和
·取决于时间/空间上的考虑,一个或多个值,以便于匹配处理过程。(对此,请参阅下面的“文本串操作”部分)
·一个解析优先级值(对与元素节点相关联的自由格式数据的元素给出一个概念性的优先级,以便对优先级进行分配,并在出现冲突的情况下,可使用这个优先级来确定对自由格式文本的最佳的解释)。
从形体上看,其他的元素节点可能不是在元素节点内筑巢,而是每个元素节点可能只包含一列指针指向从属的元素节点,以便从属的元素节点在包含该列指针的元素节点中被识别出来。
更为可取的是,每一元素节点与自由格式数据的一个特定的属性相关联,正如被元素节点中属性类型标识符所识别出来的那样。那些层次相对高的元素节点可包含或指向多个其他的元素节点,而那些层次最低的元素节点可不包含或指向任何其他的元素节点,因为比其层次再次级的便是自由格式数据的关联元素了。
层次是由自由格式数据的解析过程确定的。例如,一项地址数据记录的某个属性可能是<街道>,也就是说,“皮特街12号”。<街道>元素的次级属性是<街道号码>“12”、<街道名称>“皮特”  和<街道类型>“街道”。<街道>元素节点将由此列出三个其他的次级元素节点,具有属性类型标识符<街道号码>、<街道名称>和<街道类型>。
更为可取的是,每一个元素节点可被看作是文本对象本身。这一递归特点使得本发明的文本对象的所有的功能可应用于每一项属性。
文本对象也可包含其他的数据结构,用于特定元素节点的快速定位。这种结构的一个实例就是一个查阅表,它含有所有的属性类型标识符和指针指向与它们相关联的元素节点。
更可取的是,查询处理装置是一套应用软件引擎,通过对其配置,它能够使用文本对象回答有关数据的问题和访问数据以便对其进行处理(例如,有错误时进行纠正)。
更可取的是,这种方法还包含准备进一步的“索引”的功能,这可更有利于对自由格式数据的多项记录的元素进行比较。更可取的是,索引是以一个表格的形式形成的(发明人称之为“文本对象索引”),它包括,栏目、栏对象题和数据。除了它是从附加数据中为多个数据记录的每一个数据记录准备的以外,就像传统的数据库的方式是一样的。
更可取的是,文本对象索引包含一个表格,表格中有一个属性类型标识符的栏目,一个代表值关键码的栏目,和一个用户提供的记录标识符的栏目。代表值关键码提供与恰当的元素类型标识符关联的元素的特性的代表值,例如,专有名词元素(例如,史密斯)的语音值或普通词(比如,街道)的数字标识符。下面的关于文本串匹配的内容更为详细的介绍有关代表值的情况。用户提供的记录标识符将为用户辨识哪一个自由格式数据记录将被比较或访问,也就是一个指针,它使得对该记录进行访问成为可能。
在准备了文本对象索引的地方,拥有多个元素节点、这些节点含有属性类型标识符和其他数据的文本对象不是十分必要。所有的访问数据和进行数据库操作所需的只是查询处理引擎和文本对象索引。文本对象索引可从对数据的检查中直接准备,并且,文本对象索引包括多项记录的文本对象(也就是说,附加数据加上指向记录的指针)。作为一个独立的“元素节点结构”,文本对象因而可被分配,或者作为一个独立的整体,不是非需要不可的。事实上,它是作为附加数据和指针与文本对象索引合成一体的。
在文本对象包含对于自由格式文本的低等级元素的“匹配”值的地方,对包含用不同的语言书写的记录的元素进行比较是完全可能的。例如,通过对其各自的匹配值进行比较,一个包含用日本汉字书写的街道名称这样的自由格式记录完全可以与用***语书写的街道名称的自由格式记录进行比较。对于每一项记录中的街道名称可能是相同的,然而,在自由格式数据中,只是用不同的语言表达出来。由本发明的该方面所提供的这一匹配信息因而能够使得用不同语言表达的自由格式文本元素可进行比较。
匹配值可在对文本对象处理的过程中生成,并且没有必要在文本对象中存储。也就是说,它们是通过由查询处理引擎指定的程序以“飞行式(on thefly)”方式生成的。随后有详细的介绍。
在本发明的这一方法中,更可取的是,检查数据的元素以确定元素的步骤包括按照域对象的语法规则解析自由格式数据的步骤。域对象是由域构造过程建立的。该过程使用的输入数据为:字符定义数据、正规表达定义数据和语法数据。
文本节点树的元素节点的层次优选由那个特定的域对象的语法规则来确定。
本发明的一种实现方法可由一套应用软件来实现,该软件包含一个域对象和一个查询处理装置。通过对域对象的安排,来检查自由格式数据,以便生成文本对象,然后它将被查询处理装置使用来对自由格式数据库进行操作。自由格式数据可以任何的方式进行存储,例如计算机***上的传统的数据库。无格式数据也可作为一个数据串存储于文本目标中。包含域对象和查询处理引擎的应用软件可被用来处理数据,而不会影响数据库中的存储。因此,其他的应用软件可以通常的方式与数据库进行接口,也就是说,就其操作这一方面而言,数据库完全不受任何的影响,只是域对象和查询处理装置可被用来增强数据库的能力,因为它们提供了对自由格式数据的所有元素进行访问的能力。
没有数据清洁和准备具有更多字段的新的数据库,对自由格式数据字段的数据进行访问在以前是不可能的。除此之外,本发明还具有大大的潜力,来对数据进行将来的构建和定制。例如,利用本发明可大大的降低所需的用来在数据库中存储数据的字段的数目。就以上那个国际名称和地址的实例来看,目前不可能有一个数据库在仅仅一个字段内来处理国际地址数据。这是因为国际地址数据拥有多个不同的属性。然而,使用本发明,国际地址可储放在仅仅一个自由格式字段中,该字段包含了所有的国际地址记录。通过本发明的处理方法可向每一个国际地址记录提供其自己的一套虚拟数据字段,在其中,通过对每一数据记录所有元素信息的查询处理装置、处理和访问并与其他的记录进行比较。确实,它可提供用于所有国际地址的仅仅一个域对象。任何的自由格式数据均可以这样的方式进行处理。本发明并不仅限于地址数据。
从进一步的方面看,本发明提出了一种能够访问在计算***中存储的自由格式数据的方法,包括多个自由格式数据记录,存储对于每一数据记录中数据的、与语义和造句信息(属性)相关联的附加数据的步骤,附加数据采用的是与每一个数据记录相关联的文本对象的形式。文本对象包括指针装置,凭借该指针能够访问每一个自由格式数据的元素。附加数据可通过查询处理装置进行访问,以便提供与数据的语义和造词信息相关联的查询的答案,和/或访问数据并对其进行处理。
更为可取的是,文本对象包括任何或所有的文本对象的特性,正如在本发明的第一个方面中所讨论的那样,文本对象是通过检查属性特点而生成的,这已在上面进行了讨论。
本发明进一步提出了一种能够访问在计算***中存储的自由格式数据的方法,包括多个自由格式数据记录,该方法包括存储对于每一数据记录中数据的、与语义和造句信息(属性)相关联的附加数据的步骤,附加数据采用的是文本对象索引的形式,它包括,对于每一个数据记录的元素的属性类型标识符和指针指向每一数据记录。文本对象索引可通过查询处理装置进行查询,以提供与数据的语义和造词信息相关联的问题的答案,和/或访问数据并对其进行处理。
更为可取的是,文本对象包括任何或所有的文本对象索引的特性,正如在本发明的第一个方面中所讨论的那样。文本对象是通过处理步骤而生成的,这已在上面进行了讨论。
从更进一步的方面看,本发明提供了一个处理***,用以处理存储在计算***中的自由格式数据。该设备包括检查数据元素以确定数据的属性的装置,通过检查元素的内容以及元素之间的上下文关系来确定有关数据的语义和造句信息(属性);以及与该信息相关联的附加数据的生成方法,并以文本对象的形式表示出来,它包括指针装置,它能够用来访问自由格式数据的元素,和一个查询处理装置,通过该装置可对附加数据进行访问以便提供与数据的语义和造词信息相关联的查询的答案,和/或访问数据并对其进行处理。
根据任何一个或所有的特性,通过应用同样的检查方法。检查装置和生成装置用来生成一个文本对象,这在前面已进行了讨论。
本发明又进一步提供了一个处理***,它能够对存储在计算***中的自由格式数据进行访问,这包括多个自由格式数据记录,处理***包括与每个数据记录的数据的语义和造句信息(属性)相关联的附加数据,这可通过处理***进行存储和访问。附加数据以与每个数据记录相关联的文本对象的形式表示,文本对象包括:指针装置,凭此可对每个自由格式数据记录的元素进行访问,和一个查询处理装置,用来访问附加数据,以便提供与数据的语义和造词信息相关联的问题的答案,和/或访问数据并对其进行处理。
本发明又进一步提供了一个处理***,它能够对存储在计算***中的自由格式数据进行访问,这包括多个自由格式数据记录,处理***包括与每个数据记录的自由格式数据的语义和造句信息(属性)相关联的附加数据。附加数据以文本对象索引的形式表示,文本对象索引包括:每一数据记录的元素的属性类型标识符,和指针装置,指向每一数据记录,和一个查询处理装置,用来访问附加数据,以便提供与数据的语义和造词信息相关联的问题的答案,和/或访问数据并对其进行处理。
本发明又进一步提供了一种设备,包括域对象,用来处理自由格式数据从而生成文本对象,文本对象包括任何一个或所有的文本对象的特性,这在本发明的前面的几个方面中进行了说明。
在优选的实施例中,访问文本对象的过程包括对一个或多个文本对象查询其属性,并取得与查询的属性相匹配的元素的值。例如,在自由格式数据为名称和街道数据的地方,某人可能要查询其文本对象或多个对象,以便了解是否存在一个<街道>的元素,并且,如果是的话,找到该元素的值(例如,“皮特街12号”)。这一点是目前的数据库难以做到的,因为“街道”字段仅仅包括以自由格式形式的所有的<街道>。其他的一些老的***提供的是搜索工具,用它来寻找特定的文本串,而不考虑要搜索文本的语义。这些***只能够通过搜索该文本串用来寻找名称为“皮特”的所有的地址。当要搜索的文本可以不同的方式使用时,这就出现了问题。
检查一下在附图的图2中的地址的例子,***用户想在这一数据内确定所有的在“包克斯路”上的地址。如果用户查找“包克斯路”,***将返还记录201,但丢掉了记录205和207。如果用户改变对应“包克斯”的文本,***将返还所有需要的记录,但仍错误地返还记录202、203、204和206。既使用户在每次查询中指定了“路”的每个改变,也不会得到正确的结果。如果***用户希望考虑到数据中的错误,问题将变得更加困难,例如,当制订“包克斯路”时,返还记录206。
另一个例子是,当“街道名称”具有与“城镇名称”同样的名称时,在不考虑语义的情况下,进行串搜索时将会出现错结果,比如说,“墨尔本悉尼大街123号”。串搜索将不会只找到只带“悉尼”的记录作为它们的城镇名称。
访问文本对象的过程也可包括对两个文本对象的比较并且认定和提供一个可信的值,该值标明了这两个文本对象相匹配的程度。例如,通过比较各自的文本对象,来对两个街道地址进行比较,取决于它们相匹配的程度,一个信任值(以百分数)便可给定。
访问过程也可包括对与某个特定的元素相关联的值的修改的过程。通常的例子有,结婚后修改一位妇女的姓,和,错误发生后,修改街道或城镇的名称。
也由许多政府改变街道,邮政编码,例如澳大利亚的北部地区修改了其邮政编码,从5800-5999变为0800-0899,甚至改变整个城市的名称的情况,例如城市列宁格勒变为皮特伯格。
本发明能够修改文本原件的特定元素的值的能力具有其优势所在,即,直接使用数据(也就是说,不使用文本对象)的传统的计算机的操作将不会受到影响。
然而,从再进一步的方面看,本发明提供了一个处理***,它能够访问根据权利要求1-19中的任何一种方法处理的自由格式数据,该处理***包括查询处理装置,用来访问附加数据,并提供与数据的语义和造词信息相关联的问题的答案,和/或访问数据并对其进行处理。
检查装置包括按照以上给出的任何或所有的方法步骤访问文本对象。
本发明然而又进一步提供了一种处理***,用于处理存储在计算***中的自由格式数据,这包括,检查数据的元素的装置,以便确定数据的属性,通过检查元素的内容和元素相互之间的上下文关系,来确定数据的语义和造句信息(属性),和一个查询处理装置,以便利用这些信息提供与数据的语义和造词信息相关联的问题的答案,和/或访问数据并对其进行处理。
检查装置包括一个域对象,它用来检查元素,并提供虚拟数据(这些数据是一些与数据的语义和造句信息相关联的数据),这些数据将被查询处理装置使用,来访问数据并得到有关数据属性的信息。
本发明然而又进一步提供了一种处理装置,用于处理存储在计算***中的自由格式数据,这包括,检查数据的元素的步骤,以便确定数据的属性,通过检查元素的内容和元素相互之间的上下文关系,来确定数据的语义和造句信息(属性),并利用这些信息查询这些数据提供与数据的语义和造词信息相关联的查询的答案,和/或访问数据并对其进行处理。
再进一步,本发明提供了一种处理多个存储在计算***中的自由格式数据记录的方法,对于每一项记录检查其数据的元素以确定数据的属性,通过检查元素的内容和元素相互之间的上下文关系来确定数据的语义和造词信息(属性),并且生成虚拟数据字段,能够对这些信息进行访问,并且生成了与每一数据记录匹配的元素,在此,每一项记录均被提供了匹配的虚拟数据字段,从而能够访问语义和造词信息,以及访问相关联的元素。
在此,“虚拟数据字段”这个术语与前面提到的具有同样的含义。不同于以前的传统的数据库,它们需要处理信息并生成真实的数据字段,这里,没有必要生成独立的数据字段。数据可在数据库中保持其原样,而是为其语义和造词信息属性生成一个相关联的“虚拟字段”,并可对虚拟字段进行查询,而得到所需的记录的所有信息,并且,最好是,所有正常的数据库操作可以被实现。
本发明又进一步提供了一种处理***,用于处理多个存储在计算***中的自由格式数据记录,它包括,对每个记录的数据的元素检查以确定数据的属性的装置,通过检查元素的内容和元素相互之间的语义关系,来确定每项记录的语义和造词信息(属性),和生成与每一个记录相关联的虚拟数据字段以便能够对这些信息以及与其相关联的元素进行访问的装置,在此,为每一项记录提供了相关的虚拟数据字段,以便能够对该记录的语义和造词信息以及相关联的元素进行访问。
优选实施例的详细描述
参照附图,通过实例的方式,对本发明的实施例进行说明,其特点和优势会变得显而易见。其中:
图1是根据本发明的实施例对自由格式数据进行处理的***的结构;
图2说明了样例“地址”数据;
图3是一个更为详细的自由格式文本实例的结构图,是由本发明对自由格式数据操作实施例生成的;
图4说明了样例“地址”格式;
图5是一个流程图,用以说明从本发明的文本对象中获得特定类型的次级元素的方法;
图6说明了获得次级元素方法的结果;
图7是一个流程图,用以说明修改本发明的文本对象的次级元素的方法;
图8说明了修改本发明的文本对象的技巧;
图9、10、和11提供了修改本发明的文本对象的实例;
图9给出了编辑之前的文本对象;
图10给出了替换的文本对象;
图11给出了图9中的文本对象在编辑之后的文本对象;
图12是一个流程图,用于说明被其他方法使用的节点匹配子程序;
图13说明了本发明实施例的文本对象的实例,以展示本发明实施例的文本对象比较的方法;
图14是一个流程图,用来说明被其他方法使用的“调整节点”子程序;
图15是一个示意图,说明图1的域对象框的结构;
图16更详细的说明了图1的域构造过程;
图17提供了两个标准音译表的实例,一个是日本片假名,一个是希腊语;
图18是一些表格,用来说明正规表达定义数据;
图19说明了演示语法数据文件;
图20和21为图1的域对象构造过程框图的流程图;
图22说明了在SQL相关数据库***中本发明实施的实例。
尽管以下的描述使用的是英文的名称和地址,本发明适用于任何域的自由格式文本。
正如在本发明说明书的前言中所讨论的,本发明是关于处理计算机化的信息的一个全新的概念和方法,特别是对于自由格式数据。正如前面所说,它是从自由格式数据中产生“文本对象”,它可以存储在计算机中,并且可以用来获得关于自由格式数据的信息,对自由格式数据记录进行比较并予以处理。这一点可以在不生成带有多个字段的复杂的数据库的前提下而实现。
图1是本发明的实施例中的整个“虚拟数据”***的配置图。它包括:一个用户接口101和一个处理器102。处理器102可以是标准的计算机***,并具有通常的配置,如CPU,计算机内存,和大的存储装置。用户接口101可以是一个标准的键盘和视频显示装置(VDU),和/或是一个与另一计算机***的接口。像这样的用户接口以及其他的类似的接口是非常常见的。
对于本发明的内部存储要求,在计算机内存和存储装置之间没有明显的区别,通称为存储器。
装入处理器102的存储器中的是:标准的***软件,这对于本领域技术人员来说都是非常了解的,熟悉诸如操作***和数据***(没展示出);一个或多个应用软件***103,比如,计算软件包或文字处理器;以及本发明的一个实施例104,它用来从自由格式数据中生成文本对象105。***104中包含一个域构建过程106,它用来读取多个输入数据107(在这一以数据文件形式的例子中),并且建立一个域对象108,它用来生成文本对象105。每一个“域”将均包括那个特定域的自由格式数据需要的所有的语法和句法规则。例如,一个域可能是国际名称和地址,并将包括所有的用于分析自由格式的国际名称和地址从而生成文本对象的信息。另一个域可能是货物说明信息库,另外一个可能是运输业信息库。生成域后可用来处理任何的自由格式数据。根据特定的域类型在信息库(输入文件)的基础上,域构建过程106可生成该域类型的域对象108。
再来看一下图1,通过对多个文本对象105的处理,文本对象索引109便可生成,这将在下面进行说明。
值的注意的是,正如在图1中所展示的,发明的实施例104提供了一个介于普通的应用软件***103和它们的存储数据110之间的层面。不同于上面所说的“智能型管理***”,本发明使得其自由格式数据仍能保留其原位,并允许老的应用软件使用原来的访问路径111进行操作。
文本对象
结构
为了更好的说明这一概念,图3示出了本发明实施例的文本对象实例的详细结构图。
在图3中进行说明的自由格式数据实例是一个街道地址,“悉尼北部皮特街12号”(参考标号为301)。在传统的数据库中,这一信息可被存储在仅一个“地址”字段内,也可能被分成多个与不同的属性相关联的不同的独立的字段,也就是说,街道号码、街道名称、街道类型和城镇。对于其他的通常的澳大利亚地址格式的实例,请参阅图4。正如在前言中所讨论的,传统数据库对于每一属性需要一个独立的字段的格式要求大大增加了复杂性,并且,对于复杂的信息,为自由格式数据的每一属性都生成一个字段不仅成本昂贵而且几乎是不可能的。
在图1中说明的文本对象包含多个元素节点302-312。文本对象可以文本节点树的形式表示出来,它有树枝(例如313),元素节点302-312按预定的层次排列出来。“最低的”层次位于文本节点树的底部,而“最高的”层次位于文本节点树的顶部。位于节点树的顶部的节点302被叫做“根”节点。值的一提的是,文本目录的元素可在处理装置的存储器中以任何传统的方式存储,能够相互按照某种方式筑巢在一起。文本对象可以文本节点树的形式进行表示,但是这并不意味着它是以这样的方式在存储器中存储的。只要文本对象的元素可以这样的方式进行处理,即元素就像如图中所示的文本节点树那样,这就足够了。
值的注意的是,每一个元素节点302-312可被认为是文本对象自身。这种递归的特点使得本发明的所有的功能可被用到每一个元素上。
每一个节点302-312的结构包括:
    ·一个属性类型标识符(在该实施例中为一个整数),用它来识别与文本对象相关联的自由格式数据301的属性类型。例如,元素节点303包括属性类型标识符<街道>,这表明这一元素节点303是与给出<街道>的自由格式数据的元素相关联的,即“皮特街12号”。元素节点302是在图3中说明的文本对象的主要元素节点,并且包括属性类型标识符<街道>。因此,元素节点302是与这里的整个自由格式数据记录相关联的,也就是“悉尼北部皮特街12号”,这是一个地址。值的注意的是元素节点302要比元素303在文本节点树中的层次要高些;在其中,<地址>元素包括<街道>元素。在文本节点树中,元素节点302-312的层次事实上是由元素节点的属性类型标识符和确定其属性应是较低或较高的层次的语法规则确定的。
·一个指针,指向与元素节点相关联的自由格式数据的真实元素次级串的开始位置。自由格式数据以串的形式在存储器中存储,并且指针指向字符串的开头。在实例中,元素节点303应指向地址的数“1”
·一个整数用以标明元素字符的长度。在实例中,元素节点303的长度应为“14”(包括“12”和“皮特”后的空格),其实际指到“街道(street)”的最后一个字母t。
·一个次级元素节点的序列。例如,对于元素节点303、节点306、307、308均直接为次级层次,而节点311、312为间接的次级层次。这一序列使得元素节点在文本节点树结构中相互关联。
·一个布尔逻辑变量,说明这一属性类型标识符是否是用于“低等级”匹配元素。“正规表达”的术语,如<字(word)>和<号码(nbr)>相互之间并不匹配。这些术语的匹配是在层次上的下一层实现的(例如,<街道名称>307)。如果某个节点是位于字典中的文字(例如节点308、309)或是含有“正规表达”的术语,这样的节点被标示为低等级匹配元素。
·一个整数,用来标明元素的匹配程度。这就指明了每一元素在文本对象之间进行比较时它的相对重要性。例如,当把“皮特街45号3层”与“皮特街45号3楼”进行比较时,元素“层”和“楼”不相等并不重要。“匹配程度值”是由用来构建域对象的语法规则来确定的。
·取决于时间/空间上的考虑,还有其他一些可选数据项目用来帮助“匹配”过程。详细情况请参阅下面的“文本串操作”部分。
·一个整数,用来表示解析的优先权。这将在下面说明。
·一个布尔逻辑值,用来说明该元素节点是否对删除或移动它指向的文本负责。一个元素对其文本负责的两个条件是:1)当一个外部的程序请求文本对象管理整个的文本串时,文本对象“根”节点被标示为对文本串负责。2)当一个暗示的值产生时。详情请参阅下面的内容。
·一个整数值,它代表在存放自由格式文本的缓冲区的后面可用的空闲空间。这个值是在文本对象生成的过程中计算出来的,并且通常仅用于文本对象的“根”节点。
在文本节点树中,层次的尾部是一个元素节点,用来处理自由格式数据的每一个带号的元素。在这里的情况下,是<号码>311、<字>312、<街道类型>308、<地理术语>309、<字>310。
在层次中进一步向上是更多个用于普通的属性类型标识符的元素节点。例如,有<街道名称>307用于字“皮特”、<街道>303用于三个令牌<皮特街12号>、<城镇>305用于令牌“悉尼北部”和,在这一特定的自由格式数据记录的层次的顶部的属性类型标识符<街道>302。
属性类型标识符
应理解,属性类型标识符可以任何形式进行存储,也就是说,它们没有必要以整数的形式进行存储,然而可以以任何的表示方法进行存储。这里提供了一个程序引擎,能够访问文本节点树,并且,该引擎拥有识别存储的属性类型标识符所需的信息。
解析的优先权
为了帮助处理不明确的自由格式数据,每一个元素节点均含有一个整数,用以标明元素的“解析”优先权。这些值是在文本对象构建过程中被指定的,并用来在不明确的自由格式文本中存在多个文本节点树的情况下,选择最佳的文本节点树。例如,“悉尼北部皮特街12号”中包含两种解释。尽管“悉尼北部皮特街12号”是一个有效的街道地址,它却有着比“悉尼北部”比较较低的优先权,因此将不被选中。这些“解析优先权”的值是根据用于构建域对象的语法规则来确定的(参阅下面的内容)。
暗示的字段
本发明的另一个特点是生成在文本对象中的额外的暗示的次级字段,它是对于那些在原文本中并不明确的信息,以额外的元素节点的方式生成的。例如,“琼.史密斯先生”就由一个暗示的次级字段“性别”,带有一个值“男性”。能够创建带有额外的元素节点的文本对象,该额外元素处理这一元素并且具有一个属性类型标识符“性别”。
通常情况下,这些暗示的字段是在解析过程中生成的,并按语法规则进行说明,然而他们可在需要时以人工的方式加入。请参阅下面的“加入次级元素”函数部分的说明。
接口
文本对象就像一个“虚拟接口”,能够访问自由格式数据和对自由格式数据的正常的数据库操作。用户没有“看到”文本对象的内部情况,但能够通过有关的程序引擎(查询处理装置)对文本对象进行查询,并且,凭借存储的文本对象的结构、属性类型标识符和其他的节点中的数据,可对自由格式文本记录进行所有的正常的数据库操作。
以下的所有的操作均需要对文本节点树搜索其特定的属性类型。这种搜索是由引擎使用递归过程调用来完成的。在计算机科学界这一技术是众所周知的。详细情况,请参阅由罗伯特.克鲁斯写的书“数据结构与程序设计”关于递归的描述。
本发明的另一实施例可通过执行上面的处理加速上面的进程,并且生成一个包含所有的次级属性的并由属性类型标识符分类的查阅表。该技术对本领域技术人员是公知的。
函数概观(Function Overview)
·“取得次级元素(Get Sub-component)”请求文本对象为各自的属性类型提供(0、1或多个)值。
·“比较文本对象(Compare Text Objects)”对两个文本对象进行比较并报告一个信任值,说明它们相互匹配的程度。
·“包含元素(contains component)”测试一个特定的文本对象是否包含某个特定元素的一个特定的值,并返还一个信任值,例如,可得到包括作为<街道>的皮特街的所有的自由格式数据记录。这将是一种方式,用来查询在一个数据库中有多少人生活在皮特街,在此,该数据库包括一个地址字段内的自由格式数据并且没有使用串搜索(这通常导致错误)。
·“修改次级元素(Modify Sub-component)”将文本对象的一个特定的元素的值修改为一个特定值。例如,将“皮特”改为“王(king)”
·“加入元素(Add Component)”通过添加一个新的次级元素节点到各自的节点对文本对象加入额外的数据。进一步的操作将参阅这一信息。
取得次级元素
当对“文本对象”进行查询时,将提供一个属性类型标识符并且0、1或多个“次级元素节点”将被返还。这些“次级元素节点”指向所需的元素的文本。图5说明了这一方法。从501开始,在文本对象的“根”节点处开始这一递归过程,确定这一节点的属性类型是否与所需的属性类型一致(502)。如果是的话,指向这一节点的指针便被添加到第503步处的结果清单上。从第504步继续,在步骤505,对于由这一节点引用的每一个次级元素节点递归调用这一程序。然后返回到调用者506。图6说明了“费莱德先生”和“玛丽.史密斯夫人”的节点树。对树进行搜索查找带有属性类型<姓>的节点,将返还一个清单,它含有指针,指向两个节点601、602。这些节点分别指向次级串“费莱德”、“玛丽”。
这一操作的另一个方法是把一个文本串当作一个参数。只有那些含有同样的属性类型和同样的文本串(不理睬的情况)的节点将被加入到清单中。例如,用一个属性类型<姓>和文本串<费莱德>调用这一函数将返还一个含有一个节点的清单。
然而,这一操作的另外一种方法是把文本串和信任级作为参数。只有那些节点,它包含同样的属性类型和具有一个文本串,能与所提供的串相匹配并具有比所提供的信任级高的信任级,才被加入到清单中。
比较文本对象
这一操作对两个文本对象进行比较然后返还一个信任级,用来说明它们之间相匹配的程度。
1.确定两个文本对象的“根”节点是否具有同样的属性类别。如否,向调用者返还一个0信任级。
2.相反的话,用两个文本对象的“根”节点,调用“匹配节点”子程序(下面说明),并向调用者返还操作的结果。
例如,通过两个以下的文本对象将返还一个100%的信任级。
<地址>        “2000悉尼NSW州皮特街12/34号”
<地址>        “2000悉尼N.S.W.州 皮特街34号第12单元”
包含次级元素
这一操作搜索一个文本对象找出一个次级元素,能够与第二个文本对象相匹配。如能够找到的话,将返还调用者一个信任级,标明它们的匹配程度。这一操作通过首先调用“取得元素”函数(上面已说明),来验证第二个文本对象的元素类型。如果是成功的话,它将通过第二个文本对象的“根”节点和“取得元素”函数的结果中的节点,调用“匹配节点”子程序(下面将介绍)。
例如:通过了以下的两个文本对象将返还一个约为80%的信任级(取决于串匹配程序的设置)。
<街道>        “凯森街”
<地址>        “杜布凯瑟伦街12-14号”
加入次级元素
本操作将一个额外的元素节点加入到文本对象中。尽管本元素的值在原自由格式文本中没有包括,但对于文本对象的查询可返还正确的结果。例如:指向一个包含“凯里斯.史密斯先生”的记录的文本对象将需要进行修改以便标示出该人为女性。调用包含性别属性类型并带有“女性”值的加入元素函数将会把相关的元素节点添加到文本对象中。
修改次级元素
图8说明了“修改”操作的技巧。将要被修改的文本对象标为801。真实的文本数据包括要被更换的次级串805,和前面次级串804及后面的次级串806。在主文本对象801中,次级树803代表要被替换的次级串805。替换文本串807由另一个文本对象802代表。
图7是一个“修改”程序的流程图。从701开始,调用“取得元素”函数(上面已介绍)在第702步定位所需的元素节点。这一函数调用的结果被测试(703步)以保证有一个且只有一个元素节点被返还。如果0个或多于一个节点被返还,在704步建立出错条件,并且在714步程序返回到调用者。否则,程序将通过计算要被替换的次级串805和新的替换次级串807的长度差,从705步继续进行。如果这个差值不是0(也就是说串具有不同的长度),在707步,调用“调节节点变量”子程序(以下介绍)。如果子程序707不成功,在711步建立出错条件,并在714步返回到调用者。从第708步继续,把新的替换串807拷入老串805的位置。在710步,用新的次级树802替换老的节点次级树803。在713步,通过添加新的次级串的起始点,对于在712步新的次级树中的每一个节点,调节节点的“文本开始地址”变量。然后终止这一程序并在714步返回到调用者。
图9、10、11提供了“修改”操作的实例。图9说明的是修改前的文本对象。图10说明了替换的文本对象,图11中的文本对象是图9中的文本对象修改后的情况。
以上介绍的“取得次级元素”操作的额外版也同样适合这一操作。
子程序
以下介绍的操作可被上面介绍的文本对象程序进行调用。
匹配节点(Match Node)
该程序对于两个具有同样属性类型的元素进行比较并且返还一个信任级,用来说明它们相匹配的程度。
图12画出了一个“匹配节点”操作的流程图。从1201开始,在1202步确定进行比较的节点是否是低等级匹配元素。这两个节点如果是低等级匹配元素,在第1203步进行“串比较”程序(下面介绍)并在1210步返回到调用者。否则,在1204步,如果这两个节点分别包含次级元素节点,使用具有同样的属性类型的所有的次级元素对组合,在1205步,调用这一程序。在1206步,记下每一次的最高的信任级,在1207步,用各相应的匹配程度值1207乘以每一节点的信任级。在1208步,把所有的结果加到一个信任值中。在1209步,再用匹配程度值的和除以那个值并在1210步返回到调用者。
图13是一个说明匹配过程的实例。在文本对象的节点树中有三种类型的元素节点:
1)含有次级元素节点的节点。
2)靠近节点树尾部的低等级的匹配元素,和
3)在低等级匹配元素内的节点,并代表简单的“正规表达”术语。(详细情况请参阅有关语法文件的介绍)。这些节点在匹配过程中并不使用。
在本文本对象实例中,节点1301、1302、1313和1314含有次级元素节点。节点1304、1305、1306、1307、1308、1309、1315、1316、1317和1318为低等级匹配节点。节点1309、1310、1311、1312、1319、1320、和1321为简单的“正规表达”术语。
在下面的计算中,在园括号中的第一个数字是指该元素的匹配程度值。第二个数字是该节点从节点匹配程序中得到的最佳结果。顶部的数字是它在图13中的节点参考标签。
对于“街道”元素计算匹配信任级:
1304     1305  1306   1307     1308
(20*100)+(0*0)+(10*0)+(60*80)+(10*100)+
1316      1317    1318
(30*100)+(60*80)+(10*100)
=15400
(20+0+10+60+10+
30+60+10)
=200
15400/200
=77%
要计算“地址”的匹配信任值,我们对“街道”和“城镇”元素使用同样的程序:
1302    1303
(60*77)+(40*100)+
1314    1315
(60*77)+(40*100)
=8620
60+40+
60+40
=100
17240/200
=86.2%
这个值标明两个文本相匹配的“接近”。那些大于90%的值表示相匹配的“非常接近”。
通过应用“模糊逻辑”以上的过程可以得到改善。对于模糊逻辑,本领域技术人员都十分了解,并且有好多的参考书。
调节节点变量(Adjust Node Variables)
这一子程序可由上面介绍的“修改元素”程序调用。这一子程序的目的是,调节真实的自由格式文本和所有相应的次级元素节点,在节点被更换后定位以便新的更换次级串与次级树准确的相配。如果老的次级串与新的替换次级串具有相同的长度,这一子程序将不被调用。
图14画出了所需步骤的流程图。在1401步开始,在1402步确定在当前的文本缓冲区中是否有足够的空间容纳修改结果。这可通过调用文本对象“根”节点的可供使用的“空闲空间”而实现。如果没有足够的空间,在1403步,可调用“重新定位文本数据”子程序,以便在文本对象中生成空闲空间。在1404步,如果这一子程序不成功,在1415步建立出错条件,程序终止,并在1416步返回到调用者。否则,在1405步程序将继续,并通过从新的替换次级树的容量中减去被替换的老的次级树的容量,计算修改后的文本对象的额外空间要求。0或负值表示文本对象具有充足的空间来放置修改结果。在1406步,如果文本对象需要更大的空间,在1407步调用“重新定位文本对象”子程序以便在文本对象中生成空闲空间。如果在1408步这一子程序不成功,在1415步建立出错条件,程序将终止,并在1416步返回到调用者。如果以上的过程是成功的,程序从第1409步继续,并且,根据老的次级串805和新的替换次级串807的差值,移动在图8中的“后继”串806。在1410步对于在替换节点后定位的元素的每一个节点,在1411步,把这一差值添加到节点的起始地址变量上。在1412步,对于作为次级元素具有替换节点的每一个节点,在1413步,将这一差值加到节点长度变量上。在1414步,通过减去差值,调节文本对象的“空闲空间”,并在1416步返回调用者。
重新定位文本数据(Relocate Text Data)
这一子程序由“调节节点变量”程序调用,用来把当前的自由格式文本移动到一个足够大的空间放置所需的修改结果。该程序进行这一操作的能力取决于文本数据存储的位置。典型的情况是,自由格式文本,如“地址”信息,存储在固定长度的数据库区域中,并且不能进行重新定位。如果是这样的话,该程序将建立一个出错条件并返回到调用者。然而,如果文本对象是作为非永久性对象存储在可移动的存储器中,如计算机的内存中,或用面向对象的数据库存储,该程序将重新定位文本数据并按文本数据的新的地址返回到调用者。
重新定位文本对象(Relocate Text Oject)
该子程序由“调节节点变量”程序调用,来把当前的文本对象移动到一个足够大的空间中,以定位所需的修改后的结果。这一程序进行这项操作的能力取决于本发明如何实现。如果文本对象是作为非永久性对象存储在可移动的存储器中,如计算机的内存中,或用面向对象的数据库存储,该程序将重新定位文本数据并按文本数据的新的地址返回到调用者。
关于面向对象数据库的介绍和对象永久性的介绍,请参阅SetragKhoshafian的书“面向对象的数据库”。
取得关键码(Get Keys)
该操作仅仅被下面将介绍的“文本对象索引”使用。它提供的是更新和查询文本对象索引使用的关键码信息。它通过递归方式搜索文本对象树并返还一个被标为低等级匹配元素的所有节点的清单。关于低等级匹配元素,请参阅上面的定义。关于这一函数的输出实例,请参阅下面的对文本对象索引的介绍。
文本对象优势的总结
很多自由格式文本的记录均可按照本发明的实施例进行处理,以生成各种情况下的文本对象。不同的文本对象可能有不同的属性类型识别符,但是,对于每一个属性类型来讲,没有必要生成一个具有一个独立的字段的复杂数据库结构。自由格式文本可按其原样进行存储,与其相关联的文本对象提供了所有需要的手段以便对自由格式数据进行传统的数据库操作。十分重要的是,它使得计算机对信息的处理就几乎像人类那样进行。
文本对象构建综述
文本对象是通过使用对自然语言的处理技术对自由格式数据进行检查而生成的,例如解析,这在以前已被人们所熟知。这一语言处理技术已被应用于“情洁”和“清扫”数据库中,并且大且复杂的软件***已被应用。在以前的技术的每一种情况下,自然与原处理技术被用来分析数据,以能够生成新的数据库字段。保持自由格式数据的原样并生成一个自由格式对象的想法是一个全新的概念。
在本发明的这一实施例中,对自由格式文本的每一项的处理以生成文本对象的过程包括,首先,是词汇分析,在分析中,正规表达分析器阅读自由格式文本,并把文本的各个项目用与它们相关联的属性类型标识符的令牌进行分组,(例如,字、号码、逗号等)。每一令牌对照字典进行检查用于其他的可用的属性类型表示符(如,街道类型、州等)。
然后使用造句分析,并且在本实施例中,对自由格式数据中的每一令牌的位置进行分析,以提供属性类型标识符。例如,在图5的例子中,“皮特”是一个在字典中找不到的普通词,并且有可能是一个专有名词。通过对其与自由格式数据的其他元素的位置关系的分析,然而,这一实现方式“暗示”它是一个<街道名称>。因此,“皮特街12号”可从令牌的相对位置关系中被划分为<街道>。
域对象
域对象108(如图1所示)的主要功能是生成文本对象105。该功能将在下面予以详细说明。域对象所起的其他作用是对属性类型表进行维护。该表中包含了本域中所定义的所有属性类型的信息。
结构
图15更为详细的说明了域对象108的结构。它包括一系列的“查阅表”,该表包括符号表(例如,<街道名称>NB,术语“符号”相当于术语“属性类型标识符”)1502,和解析表1504(包括使用语法的规则)。它也包括一个词典1503,1503包括一个字符定义表1505,正规表达分析器1506和字典1507(例如,NSW,VIC,SA)。所有的这些部分由一个修改的“Tomita解析器”(下面将予以介绍)用来处理自由格式数据以生成文本对象。
文本对象结构
图16给出了域对象108操作的总体图,它用来生成图1的文本对象105。
在操作中,域对象1605使用属性类型1608来放置各自的解析规则,然后,“解析”自由格式数据1607并且生成一个文本对象1606。
解析是一项公知的用于分析自由格式数据的技术,并且本领域技术人员能够进行有效的解析操作。
解析器类型
解析器包括所有的非确定性的解析器。下面列出了常用的解析技术:
    ·从上至下回退式解析器
    ·从下至上回退式解析器
    ·从上至下图解式解析器
    ·从下至上图解式解析器
    ·扩张式转换网络式解析器
    ·带有回退的变位削减式解析器
    ·Tomita图解变位削减式解析器
在本发明的实现方式中采用Tomita图解变位削减式解析器的原因有:
    ·已有详细的运算规则说明。
    ·该运算方法能有效的处理模糊的文本数据。
    ·作为结果的数据结构以一种高效的方式表示模糊的文本数据。
解析过程和操作在由Tomita的书中有详细的介绍,书名为“对自然语言有效的解析”,Kluwer,1986。这也在本文的附录中进行了概括式的介绍。
对Tomita解析方法的修改
除了由Tomita描述的生成元素节点树以外,对于文本对象还需要一系列的改进。这些改进能够使文本对象提供“虚拟数据”字段。
本发明对Tomita图解变位削减式解析器所作的改进有:
·向从词汇分析器中返回的令牌和解析表中的规则指派解析优先权。通过这些优先权相加对于给定的自由格式文本而得到最为恰当的元素节点树。所有的这些优先权在输入语法文件1603中进行了说明(图16)。
·将造句树的元素节点分为可见的或不可见的。低等级的“正规表达”术语,如<字>被划分为不可见的。
·对于所有的元素节点指派匹配程度值。这些值在语法数据中进行了说明,并被用来确定每个元素的相对重要性。
程序
图16给出了域对象108操作的总体图,用来生成图1中的文本对象105。
这一程序利用一个自由格式文本串1607和一个属性类型标识符1608,生成一个文本对象1606。
1.利用属性类型标识符1608,查阅符号表1502(图15),而得到相应的解析表。
2.调用解析器生成一个“共享解析树林”,如Tomita的书中第2.4部分所述。共享解析树林被用来代表那一结构内的模糊解析树。它是通过允许树与通用的次级树共享来实现的。
3.通过递归,堆积每一节点的所有的次级元素节点的所有“解析优先级”。
4.基于上步中的值,选出最佳的解析树。
5.用选出的解析树,生成一个新的文本对象。
6.通过递归,搜索解析树,对特定节点进行定位,并将其标记为“低等级匹配元素”。(定义参见上面的内容)
一个简单的文本对象的实例,请参见图3。
域对象的构建
图16给出了对象构建过程的一个总体图。
对于域构建过程1604的输入文件如下:
字符定义文件1601
运用来定义域的所有有效的字符并对其用法进行规定。用法范围通常包括字母、数字、标点符号、空格。它同样说明了进行“文本串匹配”所需要的所有信息,这将在下面介绍。
在本发明的最佳实施例中,该文件对每一个字符包含一个记录,并且每一记录包含:
·所及的字符
·字符的类型(字母、数字、等)
·对于格和语音符号匹配的基本字符
·一个标记,标明字符的重要性(significance)(例如,元音被认为是不重要的)
·用于标准的国际音译的一个或多个字符。(实例表见图17)
该文件也能够定义字符组合如何被翻译成语音表示法(例如,“PH”→“F”)。语音学是人们熟知的技术,本领域技术人员能够编制恰当的翻译表格。
正规表达定义1602
这用来定义***的基础令牌的结构。例如:
·一个字含有两个或多个字母符号。这些令牌在语法中以术语“字(word)”表示。
·一个号码(number)含有一个或多个数字符号。这在语法中以术语“号码(nbr)”代表。
正规表达定义的结构是一个基本的“状态转换表“。在计算机科学界,这一技术人人皆知。图18给出了一个示例。
语法1603
语法文件的最基本的前提就是为在这里的语言域中生成的文本对象生成所有可能的树结构。
语法文件包含多个“A->B1 B2 B3...”形式的语法规则。每一语法规则包括一个LHS符号<A>和0、1或多个RHS符号<Bn>。LHS符号<A>是元素类型的名称,RHS符号<Bn>对其次级元素进行定义。每一个RHS符号<Bn>可为以下之一:
·另外一个元素类型名称
·一个文字(用引号扩起来)
·一个保留的字
保留的字代表简单的“正规表达”术语,如下:
·“字(word)”-一个或多个字母符号
·“号码(nbr)”-一个或多个数字符号
·“A”-一个字母符号
·“9”-一个数字符号
另外,每一个属性类型(即LHS符号)可被指派一个“匹配程度调节器”。这用来调节默认匹配程度。在匹配信任值计算中,当比较文本对象,说明两个次级元素的相对重要性时,使用匹配程度。
另外,每一个语法规则可被指定一个“解析优先级”。当两个或多个模糊结构出现时,在文本对象构建过程中,使用这一方法来帮助选择文本对象的最佳结构。
在规则的层次的最低等级处的所有分支和由语法确定的属性类型名称必须以文字或保留字结束。图19给出了语法实例。
程序
图20和21给出了域对象构建过程的流程图。从2001开始,在2002,字符定义数据被装入存储器中。然后,正规表达定义在2D03步装载。在2004步,通过阅读语法定义数据和用于语法中的每一规则,处理继续进行,通过在2102步在临时规则表生成一个新的规则,在2005步,处理语法规则。使用规则的LHS符号在符号表中生成一个新的符号/元素类型,假如它事先不存在的话。然后对于规则的RHS上的每一个符号(第2104步),在2105步,如果它是一个文字,然后在2106步将其添加到字典中。在2107步,如果它是可识别的“正规表达”术语,如“字”、“号码”,在2108步,不做什么,否则,它是属性/符号,并且如果它不存在的话,在第2109步,把它作为一个新的符号/属性类型添加到符号表中。在对所有的语法规则进行处理后,通过在2007步检查添加到符号表中的每个符号/属性类型是否均被定义,也就是说,在第2006步处理继续进行。在语法规则LHS上至少出现一次。如果任何一个是没有定义的符号/属性类型,在第2011步建立一个出错条件,程序终止,并在2012步返回到调用者。否则,程序在2008步继续。对于添加到符号表中的每一个符号/属性类型,在2009步生成一个解析表,并在相应的符号表条目中记录下对应这个新解析表的参考号。在所有的所需的解析表生成后,在2012步程序结束并返回到调用者。
在计算机科学界,建立解析表是一项十分常见的技术。最初,解析表用于编程语言。建立“解析表”的运算法则在Aho,A.V.和Ullman,J.D.的书中可以找到,书名为“编译器设计原理”Addison Wesley,1977。Tomita通过建立非确定性的解析表将这些技术应用到“自然语言处理”中,在这些表中,每一条目具有一个以上作用。
值的注意的是,域对象1605可被存储在存储器中或被装载来对自由格式数据记录进行操作。
文本对象索引
“文本对象索引”109(如图1)被用作一种工具,用来对多个文本对象和与它们相关联的自由格式文本的“虚拟数据”字段进行传统的数据库操作,
文本对象索引的基本概念类似于在John R.Anderson(Wiley 1973)的书中概念,书名为“人性化的存储器”。该书表述了一个句子中的名词如何用来与命名的对象的数据库相关联,然后使这些对象间的“关系”与原句中所暗示的关系相匹配。这些关系遵从“作用者-对象-作用”模式。
尽管是类似,文本对象索引与这一方法在两个方面有所不同。1)自由格式文本的所有组成部分均被分类并用于参照索引。(也就是说,不仅仅是名词)。2)在对象之间没有关系连接。
从另一个角度看文本对象索引,可以把文本对象索引看成是一个序列,该序列有无限的尺寸,每一尺寸即为一个上面所描述的低等级匹配属性类型。从自由格式文本串生成的文本对象将提供低等级匹配元素,这些元素被用来查询文本对象索引。所以,位于所供的元素的交集中的其他文本对象的所有的参照被返还回来。
通过对这一过程应用“模糊逻辑”技术,可得到这一概念的性能的改善。模糊逻辑技术对于本领域技术人员熟知,并且有很多的参考书。
在本发明的最佳实施例中,文本对象索引的主要部分是一个带有以下内容的三栏的表:
·属性类型标识符
·表示值关键码
·用户提供的记录标识符
这一简单的结构使得文本对象索引可利用计算机中的数据库技术予以实施。
以下的例子用来演示如何使用三栏表。在文本对象索引后面的基本的概念是,所有匹配的自由格式文本具有相同的低等级匹配属性。例如,假定下面的记录已被添加到文本对象索引中,并带有“用户参照”号123。
“2000悉尼N.S.W.州 皮特街34号第12单元”
在得到各自的文本对象的低等级匹配属性之后,下面的条目便可添加到索引中:
<单元号(Unit Number)>          “12”           123
<街道号(Street Number)>        “34”           123
<街道名称(Street Name)>        “皮特”        123
<街道类型(Street Type)>        “街道”        123
<城镇名称(Town Name)>          “悉尼”        123
<州(State)>                    “NSW”         123
<邮政编码(Postcode)>           “2000”        123
实例1
进行查询检查下面的地址是否在数据库中存在。
“悉尼NSW州皮特街12/34号”
通过对这一输入生成一个文本对象并建立低等级匹配属性:
<单元号>          “12”
<街道号>          “34”
<街道名称>        “皮特”
<街道类型>        “街道”
<城镇名称>        “悉尼”
<州>              “NSW”
对使用上述的属性类型标识符和值检索到的所有的索引条目的交集进行分析,将生成在本节开始部分的记录。
实例2
进行查询查找包含街道的所有地址:
“皮特街”
对这一输入建立文本对象,并生成索引关键码组:
<街道名称>        “皮特”
<街道类型>        “街道”
在此,对使用上述的属性类型标识符和值检索到的所有的索引条目的交集进行分析,将生成正确的记录的次级组,包括在本节开始部分的记录。
以上的例子十分的简单,目的在于演示概念。在实际***中,低等级匹配关键码组一旦生成,在“关键词搜索”中所有的技术均可用于每一个属性类型次级组。关于“关键词搜索”技术的详细情况,参见由Gerald Salton出版的书和杂志文章。
适用于本发明的“关键词搜索”技术有:
·在高速缓冲存储器中存储非常普通的术语,并且使用这一方法可以避免对带有将返回太多条目的术语的索引的搜索。
·使用一个或多个代表值关键码可照顾到普通的拼写错误。最为典型地,这是原始值,元音和双拼写已去掉。
·使用一个或多个代表值关键码,它将原始值编成一个或多个语音标识符。
·使用一个代表值关键码,它将原始值编成一个国际标准的音译标识符。(参阅图17,希腊和日语片假名的字译表)
·对照一个同义字典检察原始值,找到代表全套同音字的值。
接口/操作
以下的操作可由文本对象索引提供。
文本对象索引的接口被设计成能够反映SQL的标准命令。SQL是相关数据库的“标准查询语言”,并且,在计算机领域中十分常见。
***文本对象(Insert Text Object)
正如前面的例子所示,本操作将对文本对象索引作所有必要的更改,以便使用任何类似的自由格式文本或那里的次级元素可对有关的文本对象参照进行定位。
本操作要求的步骤有:
1.调用相关文本对象的“得到关键码”函数,达到它的所有的低等级匹配元素。
2.对于每一个低等级匹配元素,在文本对象索引的三栏表中添加一个条目。
3.根据当前计算机***技术上的考虑,选择性地保存相应的文本对象。
选择文本对象(Select Text Object)
该操作对自由格式文本返还所有的参照(通常是由***用户提供的记录标识符),它包括所提供的自由格式文本。例如:定位所有包括“包克斯路”的记录。
该操作按以下的步骤进行:
1.从查询输入数据建立一个文本对象。
2.调用文本对象的“得到关键码”函数,以获得它的所有的低等级匹配元素。
3.利用每一元素节点的属性类型标识符和代表值,利用任何普通的低等级匹配项目检索所有的参照。
4.对从上步得到的参照值的交集进行分析,选择包含查询数据所有的重要的低等级匹配元素的自由格式文本。
5.获得原始的文本对象。
6.对每一项进行“文本比较”函数,已获得信任值。
7.按信任值进行分类。
8.将结果返还调用者。
删除文本对象(Delete Text Object)
该操作使用用户提供的参照关键码并且用删除具有那个参照关键码的记录。
更新文本对象(Update Text Object)
通过使用“***”操作,首先删除所有的以前的条目,然后重新***新的条目,该操作可对修改了的文本对象的条目进行更新。
文本串操作
在计算机领域中,用来对两个文本串进行比较从而得到一个匹配信任值的技术人人皆知。本节用来说明文本串比较的有关内容。
一个典型的匹配程序通常包括以下的步骤:
1.不考虑大小写,检查准确的字符匹配。
2.通过删除元音和双写字母,检查普通拼写错误,然后对结果进行比较。
3.照顾到字符删除、***、和音译,通过比较功能检查任何拼写错误。
4.在标准国际音译之后检查相近性。音译表请参阅图17。
5.在把串译成标准语音标识符后,检查语音的相近性。
在本发明中,文本串匹配是在低等级匹配元素节点上进行的。在上面的程序中的第1、2、3、4和5步中使用的值是在每次完成串比较后生成的,或者是,在生成文本对象并在相应的元素节点内存储时生成的。这些值也可以作为上面介绍的文本对象索引中的“代表值关键码”被使用。
上面程序的第4和5步使得本发明比较外国语如日本汉字的自由格式数据。一个语音值可为日本汉字符号存储起来,并用来进行日本汉字和可能不是日本汉字的其他自由格式数据的元素之间的比较。换句话说,这一功能能够对用外国语言书写的自由格式数据进行处理。参见图17和前面的说明。
发明的应用实例
图22给出了一个实例,用来说明本发明在SQL相关数据库操作中的应用。
SQL语句的说明如下:
1.生成一个域对象,称为“US_ADDRESS”
2.用一种语言定义对其初始化(这包括上面介绍过的字符定义和正规表达定义和语法定义)。
3.生成一个文本对象级,称为“ADDRESS”
4.把它的域设定为“US_ADDRESS”和类型设定为“ADDRESS”(类型名称必须在语法中定义)
5.生成一个数据库表,称为“PERSONS”,其中一个元素是“ADDRESS”文本对象,称为“Home_Addr”。
6.在表中***一个记录。
7.用一个特定的地址,在“PERSONS”表中选择所有的记录。
8.在“PERSONS”表中,选择在“Home_Addr”栏中有数据的所有记录,但这个“Home_Addr”栏包含次级元素“State”并带有一个与“California”匹配的值。
9.在“PERSONS”表中,选择在“Home_Addr”栏中有数据的所有记录,这个“Home_Addr”栏包含有一个大于80%的信任等级的匹配“Kathie St”的次级元素“Street”。
结论
通过应用本发明,使用恰当的域构建程序构建恰当的域,和设计恰当的输入文件,可对任何自由格式数据记录进行分析。通过这种方式,使用计算机可对所有的数据进行分析,为所有的自由格式文本生成文本对象。
应理解,根据本发明的实施例,有许多处理自由格式数据的步骤。在***初始化过程中,这些步骤可一次性地设定并且结果被保存下来。或者,在当需要时(如,每次进行查询时),这些程序也可在计算机运行过程中进行。关于这些程序的总结如下:
·域对象的建立。
·文本对象文本节点树的建立。
·文本对象额外的暗示的次级字段的建立。
除此之外,还有从多个文本对象生成文本对象索引的其他的有关步骤。
本领域技术人员应理解,在没有脱离这里描述的本发明的精神或范围的情况下,在具体的实施例中,可对本发明做出多样的变更和/或改进。因此,这里的实施方法只不过是说明性的,并且不是限定性的。
附录
本附录用来说明在本发明的最佳的实施例所使用解析运算方法。“引号”中的说明是从Tomita的书中引用的,书名为,自然语言有效的解析方法,Kluwer 1986。
一般术语
(General Terms)
符号        代表一个或多个具体的令牌串。一个符号包(symbol)    括以下的数据项目:代表符号标识符(symbol_id)
        的一个整数;指示这一符号是否是可见的一个逻辑
        变量;指示这一符号是否是低等级匹配元素的逻辑
        变量;一个代表匹配程度的整数;一个说明谁是相
        应的解析表的整数。所有的这些信息均在语法定义
        数据中进行说明。
规则(rule)    代表指定一组符号怎样精简(reduce)成一个高等
              级符号的语法规则。一项规则包括以下的数据项
              目:一个表示规则标识符(rule_id)的整数(规则-
              标识符);一个指向LHS符号的指针;一个矢量,
              它包括任何数量的代表规则的RHS的指针;一组暗
              示的次级字段;一个说明规则的解析优先级的整
              数。所有这些信息在语法定义数据中进行说明。
节点(node)    代表输入文本串的一个元素。“根节点”代表整个
              的输入文本串。一个节点包含以下的数据项目:一
              个指向元素起始点的指针;一个指向元素终止点的
              指针;一个表示元素符号标识符(元素类型)的整
              数;一个次级节点序列;一个选择性的用于匹配的
              文本串;一个表示解析优先级的整数;一个表示该
              元素对于***用户是否可见的的逻辑变量;一个表
              示该符号是否是低等级匹配元素的的逻辑变量;一
              个表示匹配程度的整数。次级节点          用来表示对输入文本串进行解释的模糊方法。在模(subnode)         糊文本串中,每一个元素节点将具有仅仅一个在其
              次级节点序列中的次级节点。每一个次级节点包含
              一个节点序列。令牌变量(Token    用来说明一组与相关的令牌的一解释相关的数据variable)         项目。一个令牌变量包含以下的数据项目:一个表
              示令牌符号标识符的整数;一个说明该令牌解析优
              先级的整数;一个用于匹配的文本串;一组暗示的
              次级字段。所有这些信息在语法定义数据中进行说
              明。暗示的次级字段     用来说明生成一个额外的文本节点所需的信息。它(Implied           包含以下的数据项目:一个表示次级字段符号标识subfield)          符的整数;一个表示次级字段值的文本串。例如:
               一个称谓“先生”具有一个暗示的次级字段,性别
               =“男性”。所有这些信息在语法定义数据中进行
               说明。全局变量(Global variables)
解析表         要建立一个解析表,我们利用一个“解析运算方法,(Parse table)      它使用的是标准的LR解析表。该解析表可通过任何
               现有的方法得到。...由我们的解析器所作的唯一的
               修改是表中的每一个条目应是一组动作,而不是
               一个动作。当出现冲突时,也就是说,当在表中的
               一个条目中两个或两个以上的动作需要存储时,传
               统的表格构建程序或者停止或者报告‘错误’,或
               者只存储一个任意选定的动作并发出警告。我们的
               表格构建程序作为一组动作对所有的动作进行存
               储”。该运算方法可从Aho,A.V.and Ullman,J.D.
               的书中找到,书名为,编程器设计原理,Addison
               Wesley,1977。该运算规则为每一个标为可见的语
               法符号生成一个解析表。注意:可见符号有两种使
               用方法:1)代表一个自由格式文本串2)代表一
               个自由格式文本串,该文本串是一个用于查询操作
               的输入参数。
图形堆栈        “...是一个引导的非循环式的图形,它具有仅仅一
(Graph-stack)    叶顶点‘vo’,状态号标为0。专用顶点‘vo’被
                 称为图形堆栈底。所有的距离‘vo’的距离为偶数
                 (2*n,这里n为正整数)的顶点被称为状态顶点,
                 并用状态号标出。所有的距离‘vo’的距离为奇数
                 的称为符号顶点,它们用语法符号标出。...另外,
                 状态顶点通常用变量‘v’‘w’‘u’表示,而符号
                 顶点也用变量‘x’‘y’‘z’表示”。
顶点清单‘U[i]’“当解析a[i]时(也就是说,在输入串中的第i个
(vertex list     令牌)时,生成的在图形堆栈中的一组顶点。把最
‘ U[i]’)       后移动的a[i]设为该令牌,那么,U[i]即为一组最
                 高的定点”。
有效清单        “在U[i]中将要处理的一组有效的顶点。...
(Active List    “在标准的LR解析中,任何时候它的元素的数量不
‘A’)           超过一个”。
精简清单‘R’   “要精简的一组顶部边缘。每一元素均是一个3
(Reduce list     元组元素<v,x,p>,其中,‘v’∈U[i](就是说,
‘R’)           是要精简的路径的一个起始顶点)
                 x∈SUCCESSORS(v)(也就是说,被直接连接到‘v’。
                 并且,‘p’是生成(语法规则)。在精简清单‘R’
                 中<v,x,p>的存在含义为‘精简p’将应用到用边缘
                 <v,x>开始的所有路径上。
移动清单‘Q’    “一组将要移动的顶点。在标准的LR解析中,其元
(Shift List‘Q,)素的个数不超过一个。每一元素均是两元元素
                 <v,s>,其中,v∈U[i](也就是要移动的顶点)及s
                 是状态号。在‘Q’中<v,s>的存在含义为对‘v’
                 使用‘移动s’”。对移动条目的修改是一附加令
                 牌变量组。详细内容参阅下面的介绍。令牌变量清单‘T’这是对Tomita的解析器的修改,它可以使多重的符(Token Variable  号标识符分配给一个令牌。在这一清单中的每一个List‘T’)       条目包括符号标识符、解析优先级、匹配串、和任
             何数量的次级定义。
函数:
Create Text Object(Parser)(生成文本对象(解析器))
       ·为输入符号取得相应的解析表
       ·在图形堆栈中生成初始顶点
       ·把令牌位置“i”设成1
       ·一直重复直到没有令牌剩余
           · Get next Token and its variable list
           · Parse token
           · Shift token
           ·对令牌位置“i”增量
       · Parse“end of input
       ·如果根节点已设置(也就是说,串已被接受)
           ·返还一个出错信息
       ·对每一个元素节点的解析优先级进行分析以取得最佳的解析
    树
       ·用节点树和输入串生成一个新的文本对象
       ·返还新的文本对象
Get next Token and its variable list(取得下一个令牌和它的变量 清单)
    ·在当前的解析位置对串应用“正规表达分析程序”以取得一个
令牌
    ·使用结果令牌查阅字典
    ·对于每一个匹配字典条目
         ·向令牌变量清单‘T’添加条目
      ·对令牌变量清单‘T’添加正规表达变量
      ·将当前的解析位置更新到该令牌的末端后的一个字符
Parse Token(解析令牌)
      ·有效清单“A”<=顶点清单U[i]
      ·复位精简清单“R”和移动清单“Q”
      ·一直重复,直到有效清单“A”和精简清单“R”均空
          ·如果有效清单“A”没空
              · Actor
          ·否则
              ·如果精简清单没空
                  · Reducer
Actor(动作器)
     ·从有效清单“A”中移出一个顶点“v”
     ·从顶点“v”中取得当前状态
     ·在令牌变量表中对于每个条目
     ·从变量列表的当前的条目中得到符号标识符
     ·使用当前的状态和符号标识符查阅解析表
     ·如果解析表条目已空,然后从令牌变量表的下一个条目
开始继续
     ·如果解析表条目指示“接受”状态
         ·把当前顶点的节点设为造句树的根节点
     ·对于解析表条目中的每一“移动”
         ·向移动清单“Q”添加一个条目
     ·对于解析表条目中的每一个“精简”条目
         ·向精简表“R”添加一个条目
Reducer(精简器)
    ·从精简表“R”中移出一个精简条目
    ·从精简条目中得到当前的精简规则“p”
·从精简条目中得到当前的符号顶点“x”
·得到“p”右侧(RHS)的长度
·搜索图形堆栈,找出所有的符号顶点“y”,该顶点具有到当前符号顶点“x”的路径,其长度为
           2*(规则“p”的RHS的长度)-2
·对于找到的每一字符顶点“y”
    · Create node
    ·对每一连接到符号顶点“y”的状态顶点“w”
        · Update tables
Create node(生成节点)
       ·生成一个新的节点“q”
       ·生成一个次级节点“r”,它含有到符号顶点“y”路径上的每
    一符号节点顶点的节点
      ·如果精简规则“p”的RHS长度为l
          · Create single node
      ·否则
          · Create multi-node
      ·从规则“p”的LHS令牌分配符号属性
      · Create subfields
Create single node(生成单个节点)
      ·从次级节点“r”中的单个节点中拷贝文本指针
      ·把次级节点“r”添加到新节点“q”中
Create multi-node(生成多重节点)
      ·从次级节点“r”中的第一个节点得到文本起始指针
      ·从次级节点“r”中的最后一个节点得到文本结束指针
      ·把次级节点“r”添加到新的节点“q”中
Create subfields(生成次级字段)
       ·对于令牌变量中的每一个暗示的次级字段
           ·生成一个新的节点
           ·从暗示的次级字段分配符号属性
           ·从暗示的次级字段文本串生成文本串
           ·把新节点起始指针设到该文本串的起始点
           ·把新节点的终止指针设到该文本串的结束点
Update tables(更新表格)
       ·从状态顶点“w”中得到以前的状态
       ·取得当前的生成规则“p”的左侧(LHS)的符号
       ·从这一符号得到符号标识符“N”
       ·使用先前的状态和符号标识符“N”查阅解析表
       ·从解析表条目中得到新的状态“s”
       ·搜索顶点清单U[i]查找具有同样解析状态“s”的状态顶点
       ·如果找到
           ·如果从该状态顶点“u”到当前的状态顶点“w”已存在
        路径长度2(即直接路径)
               ·从这些状态顶点之间得到符号顶点“z”
               ·将当前的次级节点添加到该符号顶点“z”节点上
           ·否则,
               · Reduce with new symbol vertex
   ·如果没有找到
       · Reduce with all new
Reduce with new symbol vertex(用新符号顶点精简)
       ·生成新的符号顶点“z”
       ·把当前的节点指派给这一符号顶点“z”
       ·将状态顶点“w”连接到新的符号顶点“z”
       ·将新的符号顶点“z”连到具有同样的解析状态“u”的被发现
    的状态顶点
        ·如果该状态顶点“u”不在有效清单中
            ·从状态顶点“u”中得到新的解析状态
            ·从精简条目中得到符号标识符
            ·使用新的解析状态和符号标识符查阅解析表
            ·如果解析表没有空
                ·对于解析表条目中的每一个精简条目
                    ·向精简清单添加一个条目
Reduce with all new(用所有新的精简)
       ·生成一个新的状态点“u”
       ·将状态顶点“u”的解析状态设为状态“s”
       ·生成一个新的符号顶点“x”
       ·把当前的节点分配给新的符号顶点“z”
       ·将状态顶点“w”连接到新的符号顶点“x”
       ·将新的符号顶点“x”连接到新的状态顶点“u”
       ·将状态顶点“u”添加到有效清单“A”
       ·将状态顶点“u”添加到顶点清单“U[i]”
Shift token(移动令牌)
       ·初始化顶点清单“U[i+1]”
       ·用符号标识符,然后用解析状态“s”,再后用状态顶点“v”对
    移动清单“Q”分类
       ·对于所有的具有同样的符号标识符的移动清单的所有条目
           ·从令牌和令牌变量清单生成一个新的节点
           ·对于在字典条目中的每一个暗示的次级字段
               ·将新的次级字段节点添加到如上的新的节点上
           ·对于在符号标识符次级组中的每一个独特的解析状态
        “S”
               ·生成一个新的符号顶点“w”
               ·把状态顶点“w”的解析状态设为解析状态“s”
               ·生成一个新的符号顶点“x”
         ·把该新的节点指派给新的符号顶点“x”
         ·将新的符号顶点“x”连接到新的顶点“w”
         ·将状态顶点“w”添加到顶点清单“U[I+1]”中
         ·对于在解析状态次级组中的每一个移动条目
             ·从移动条目中得到状态顶点“v”
             ·将新的符号顶点“x”连到状态顶点“v”
Parse“end of input”(解析“输入结束点”)
     ·生成一个带有一个令牌变量的令牌
     ·将符号标识符设为“输入结束点”符号
     ·解析令牌

Claims (44)

1.一种处理存储在计算***中的自由格式数据的方法,包括步骤:
-对数据元素进行检查以确定数据的属性,其中,通过检查元素的内容和元素之间的上下文关系来确定数据的语义和造句信息、即属性;
-生成与这些信息相关联的附加数据,该附加数据的形式为包含文本节点树的文本对象形式,该文本对象包括使能对自由格式数据的元素的访问的指针,
通过查询处理访问该附加数据,或向与数据的语义和造句信息有关的查询提供回答,和/或访问数据并进行处理。
2.如权利要求1所述的方法,其中自由格式数据作为一个记录存储在数据库自由格式字段中。
3.如权利要求1所述的方法,其中,数据在计算***中按其原样进行存储,在此,它们可被其他的应用程序进行访问。
4.如权利要求1所述的方法,其中,文本对象包括:一个属性类型标识符,用来表示数据元素的属性类型。
5.如权利要求1所述的方法,其中,文本对象包括一个标识数据元素字符长度的值。
6.如权利要求4所述的方法,其中,文本对象包括一个这样的值,它用来表示一个元素是其造句层次中的一个低等级的元素还是高等级的元素,当与按该方法处理的其它数据进行匹配数据时,该值用于匹配目的。
7.如权利要求1所述的方法,其中,文本对象包括一个数据元素的匹配程度值,它可被用来确定与其它的自由格式数据进行匹配时元素的重要性。
8.如权利要求1所述的方法,其中,文本对象包括多个按自由格式数据的语义结构安排的元素节点,这些元素节点按自由格式数据的语义结构相应的层次排列,并且每一个元素节点包括与自由格式数据的相应元素相关的附加数据。
9.如权利要求1所述的方法,包括进一步的步骤:生成匹配值,用于将根据本发明方法处理的其他的一自由格式数据元素与一自由格式数据元素的比较。
10.如权利要求9所述的方法,其中的匹配值是一个语音值,用来语音比较自由格式数据元素。
11.如权利要求1所述的方法,其中,文本对象包括与从自由格式数据中暗示得到的信息相匹配的暗示数据。
12.如权利要求1所述的方法,其中,多个自由格式数据记录被处理,并且生成一个与每个自由格式数据记录相关联的文本对象。
13.如权利要求12所述的方法,其中,文本对象被存储在计算机***中,可用于通过查询处理装置对于有关自由格式数据记录的查询。
14.如权利要求12所述的方法,它包括进一步的步骤:生成文本对象索引,文本对象索引包括:对于每一个数据记录的元素的属性类型标识符,以及指向每一数据记录的指针,从而,可按数据的语义和造句信息对索引进行查询,或通过索引对数据进行访问。
15.如权利要求1所述的方法,其中,文本对象索引的每一个条目,包括一个代表值关键码,它给出一个值,表示与属性类型标识符关联的元素的特点。
16.如权利要求1所述的方法,其中,包括进一步的步骤:进行域构建,以便从域定义数据文件中构建域对象,域对象可根据语法规则通过解析自由格式数据进行检查过程。
17.如权利要求16所述的方法,其中,域定义数据文件包括:字符定义数据、正规表达定义数据和语法数据。
18.如权利要求1所述的方法,其中,自由格式数据为邮政地址数据。
19.如权利要求1所述的方法,其中,查询处理装置可以通过附加数据对数据进行正常的数据库操作。
20.一种处理***,用于处理存储在计算***中的自由格式数据,该***包括:
-用于通过检查数据的元素来确定数据的属性的装置,其中,通过检查元素的内容和元素之间的上下文关系,来确定关于数据的语义和造词信息、即属性;
-用于生成与这些信息关联的、包含文本节点树的文本对象形式的附加数据的装置,所述文本对象包括:指针装置,用于使能对自由格式数据的元素的访问;以及
-查询处理装置,用于访问所述附加数据以便提供与数据的语义和造词信息有关的查询的答案,或/和访问数据并进行处理。
21.如权利要求20所述的处理***,其中,自由格式数据在数据库的自由格式字段作为一个记录被存储的。
22.如权利要求20所述的处理***,其中,检查装置不影响数据的存储。
23.如权利要求21所述的处理***,其中,文本对象包括一个属性类型标识符用来表示数据元素的属性类型。
24.如权利要求21所述的处理***,其中,文本对象包括一个说明数据元素字符长度的值。
25.如权利要求23所述的处理***,其中,文本对象包括一个值,指示元素的属性类型是在造句层次中的低等级还是高等级,从而当与按照该***处理的其它自由格式数据比较时,该值用于匹配目的。
26.如权利要求21所述的处理***,其中,文本对象包括一个数据元素的匹配程度值,它可用来确定该元素与其它的自由格式数据匹配时该元素的重要性。
27.如权利要求21所述的处理***,其中,文本对象包括多个根据自由格式数据语音结构排列的元素节点,这些元素节点根据自由格式数据的语音结构按层次排列,并且每一元素节点包含与自由格式数据相应的元素相关联的附加数据。
28.如权利要求20-27任何一项所述的处理***,文本对象含义为,生成匹配值,用来进行由该处理***处理的其他自由格式数据的一元素与该自由格式数据的一元素之间的比较。
29.如权利要求28所述的处理***,其中,匹配值是语音值,用于语音比较自由格式数据。
30.如权利要求21所述的处理***,其中,文本对象包括与自由格式数据所含的信息相关联的暗示的数据。
31.如权利要求21所述的处理***,其中,该***用来进行多个自由格式数据记录的处理,并且生成与每一个自由格式数据记录相关联的文本对象。
32.如权利要求31所述的处理***,其中,设置生成附加数据的装置用来生成文本对象索引,该文本对象索引包括:每一数据记录元素的属性类型标识符,和指向每一数据记录的指针,并且其中,查询处理装置用来访问文本对象索引,以便向与数据的语义和造句信息相关联的查询提供回答,和/或访问数据并进行处理。
33.如权利要求31所述的处理***,其中,文本对象索引包括各条目的代表值关键码,它给出与该条目的属性类型标识符相关联的元素的特性的表示值,以便与按本***处理的其他的自由格式数据进行匹配。
34.如权利要求21任何一项所述的处理***,进一步包括域对象,它用来通过按照语法规则解析自由格式数据进行检查处理。
35.如权利要求34所述的处理***,其中,域对象由域构建程序从域定义数据文件中生成。
36.如权利要求35所述的处理***,进一步包括域生成器,用于进行域构建处理。
37.如权利要求35所述的处理***,其中,域定义数据文件包括:字符定义数据、正规表达定义数据和语法数据。
38.如权利要求21所述的处理***,其中,自由格式数据是邮政地址数据。
39.如权利要求21所述的处理***,其中,查询处理装置用来通过附加数据对数据进行传统的数据库操作。
40.一种能够访问存储在计算***中的自由格式数据的方法,其中,所述自由格式数据包括多个自由格式数据记录,该方法包括步骤:
-对于每一数据记录存储与数据的语义和造词信息、即属性相关联的附加数据,该附加数据是以与每个数据记录相关的、包含文本节点树的文本对象的形式表示的,所述文本对象包括:指针装置,用来访问每一个自由格式数据记录的元素;
-通过查询处理访问所述附加数据,以便提供与数据的语义和造词信息相关的查询的至少一个回答,和/或访问数据并进行处理。
41.一种能够访问存储在计算***中的自由格式数据的方法,其中,所述自由格式数据包括多个自由格式数据记录,该方法包括步骤:
-存储与每一数据记录中的数据的语义和造词信息、即属性相关的附加数据,该附加数据为文本对象索引的形式,包括:每一数据记录元素的属性类型标识符,和指向每一数据记录的指针,
-通过查询处理访问该文本对象索引,以便提供与数据的语义和造词信息相关的查询的回答,和/或访问数据并进行处理。
42.一种处理存储在计算***中的自由格式数据的方法,包括步骤:
-检查数据元素以便确定数据的属性,其中,通过检查元素的内容和元素之间的上下文关系以确定数据的语义和造词信息、即属性,以及
-利用这些信息查询数据,以便提供与数据的语义和造词信息相关的查询的回答,和/或访问数据并进行处理。
43.如权利要求42所述的处理自由格式数据的方法,其中,自由格式数据不会受检查过程的影响,并以其原样在计算***中存放。
44.一种处理存储在计算机***中的多个自由格式数据的方法,包括步骤:
-对每一数据记录,进行数据元素检查,以确定数据的属性,其中,通过检查元素的内容和元素之间的上下文关系,确定每一项记录的语义和造词信息、即属性,以及
-生成与每一项记录相关联的虚拟数据字段,使能够对该信息和相关元素进行访问,从而可为每一记录提供相关联的虚拟数据字段,
-访问该记录的语义和造词信息以及对关联元素进行访问。
CNB988142023A 1997-04-22 1998-04-22 自由格式数据处理的方法和设备 Expired - Fee Related CN1204515C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPP043997 1997-04-22

Publications (2)

Publication Number Publication Date
CN1315020A CN1315020A (zh) 2001-09-26
CN1204515C true CN1204515C (zh) 2005-06-01

Family

ID=3804719

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988142023A Expired - Fee Related CN1204515C (zh) 1997-04-22 1998-04-22 自由格式数据处理的方法和设备

Country Status (5)

Country Link
US (2) US6272495B1 (zh)
EP (1) EP1078323A4 (zh)
CN (1) CN1204515C (zh)
CA (1) CA2329345A1 (zh)
WO (1) WO1998048360A1 (zh)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571243B2 (en) 1997-11-21 2003-05-27 Amazon.Com, Inc. Method and apparatus for creating extractors, field information objects and inheritance hierarchies in a framework for retrieving semistructured information
US6631500B1 (en) * 1998-12-15 2003-10-07 International Business Machines Corporation Method, system and computer program product for transferring human language data across system boundaries
US6654731B1 (en) * 1999-03-01 2003-11-25 Oracle Corporation Automated integration of terminological information into a knowledge base
US6889260B1 (en) * 1999-06-10 2005-05-03 Ec Enabler, Ltd Method and system for transferring information
US6697947B1 (en) * 1999-06-17 2004-02-24 International Business Machines Corporation Biometric based multi-party authentication
US7143350B2 (en) * 1999-06-30 2006-11-28 Microsoft Corporation Method and system for character sequence checking according to a selected language
US6631501B1 (en) * 1999-06-30 2003-10-07 Microsoft Corporation Method and system for automatic type and replace of characters in a sequence of characters
US20020023123A1 (en) * 1999-07-26 2002-02-21 Justin P. Madison Geographic data locator
US6507846B1 (en) * 1999-11-09 2003-01-14 Joint Technology Corporation Indexing databases for efficient relational querying
EP2448155A3 (en) 1999-11-10 2014-05-07 Pandora Media, Inc. Internet radio and broadcast method
IL144319A0 (en) * 1999-11-12 2002-05-23 Brain Solutions Llc E Any-to-any component computing system
US6947946B2 (en) * 1999-12-28 2005-09-20 International Business Machines Corporation Database system including hierarchical link table
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US8352331B2 (en) 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
US7162482B1 (en) 2000-05-03 2007-01-09 Musicmatch, Inc. Information retrieval engine
US7024485B2 (en) * 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
US7251665B1 (en) 2000-05-03 2007-07-31 Yahoo! Inc. Determining a known character string equivalent to a query string
US6560608B1 (en) * 2000-06-09 2003-05-06 Contivo, Inc. Method and apparatus for automatically selecting a rule
US6941513B2 (en) * 2000-06-15 2005-09-06 Cognisphere, Inc. System and method for text structuring and text generation
JP2002007169A (ja) * 2000-06-23 2002-01-11 Nec Corp 文法網羅率計測方式
US6920247B1 (en) * 2000-06-27 2005-07-19 Cardiff Software, Inc. Method for optical recognition of a multi-language set of letters with diacritics
DE10196421T5 (de) * 2000-07-11 2006-07-13 Launch Media, Inc., Santa Monica Online Playback-System mit Gemeinschatsausrichtung
US6633868B1 (en) * 2000-07-28 2003-10-14 Shermann Loyall Min System and method for context-based document retrieval
US6694338B1 (en) 2000-08-29 2004-02-17 Contivo, Inc. Virtual aggregate fields
US20020120651A1 (en) * 2000-09-12 2002-08-29 Lingomotors, Inc. Natural language search method and system for electronic books
US20020147578A1 (en) * 2000-09-29 2002-10-10 Lingomotors, Inc. Method and system for query reformulation for searching of information
US8271333B1 (en) 2000-11-02 2012-09-18 Yahoo! Inc. Content-related wallpaper
US7233940B2 (en) * 2000-11-06 2007-06-19 Answers Corporation System for processing at least partially structured data
AU2002225620A1 (en) * 2000-11-17 2002-05-27 United States Postal Service Address matching
US7370040B1 (en) * 2000-11-21 2008-05-06 Microsoft Corporation Searching with adaptively configurable user interface and extensible query language
US7013308B1 (en) * 2000-11-28 2006-03-14 Semscript Ltd. Knowledge storage and retrieval system and method
US7694216B2 (en) * 2000-12-19 2010-04-06 International Business Machines Corporation Automatic assignment of field labels
US20030028564A1 (en) * 2000-12-19 2003-02-06 Lingomotors, Inc. Natural language method and system for matching and ranking documents in terms of semantic relatedness
US6714939B2 (en) * 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US7406529B2 (en) * 2001-02-09 2008-07-29 Yahoo! Inc. System and method for detecting and verifying digitized content over a computer network
AUPR511301A0 (en) * 2001-05-18 2001-06-14 Mastersoft Research Pty Limited Parsing system
SG103289A1 (en) * 2001-05-25 2004-04-29 Meng Soon Cheo System for indexing textual and non-textual files
US20030114955A1 (en) * 2001-12-17 2003-06-19 Pitney Bowes Incorporated Method and system for processing return to sender mailpieces, notifying sender of addressee changes and charging sender for processing of return to sender mailpieces
CN101324902A (zh) * 2001-12-28 2008-12-17 国际商业机器公司 实时数据入库
US20080256069A1 (en) * 2002-09-09 2008-10-16 Jeffrey Scott Eder Complete Context(tm) Query System
US20030154208A1 (en) * 2002-02-14 2003-08-14 Meddak Ltd Medical data storage system and method
US8527495B2 (en) * 2002-02-19 2013-09-03 International Business Machines Corporation Plug-in parsers for configuring search engine crawler
US7673234B2 (en) * 2002-03-11 2010-03-02 The Boeing Company Knowledge management using text classification
US7707221B1 (en) 2002-04-03 2010-04-27 Yahoo! Inc. Associating and linking compact disc metadata
US7380203B2 (en) * 2002-05-14 2008-05-27 Microsoft Corporation Natural input recognition tool
AU2003276815A1 (en) * 2002-06-13 2003-12-31 Cerisent Corporation Xml-db transactional update system
US20040103105A1 (en) * 2002-06-13 2004-05-27 Cerisent Corporation Subtree-structured XML database
EP2562663A3 (en) 2002-06-13 2016-05-11 MarkLogic Corporation. Parent-child query indexing for XML databases
WO2003107174A1 (en) * 2002-06-13 2003-12-24 Cerisent Corporation Xml database mixed structural-textual classification system
US7900052B2 (en) 2002-11-06 2011-03-01 International Business Machines Corporation Confidential data sharing and anonymous entity resolution
US20040107203A1 (en) * 2002-12-03 2004-06-03 Lockheed Martin Corporation Architecture for a data cleansing application
US20040107205A1 (en) * 2002-12-03 2004-06-03 Lockheed Martin Corporation Boolean rule-based system for clustering similar records
JP2006509307A (ja) * 2002-12-06 2006-03-16 アテンシティ コーポレーション 混合データ統合サービスの提供システム及び提供方法
US7346927B2 (en) 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data
US20040122653A1 (en) * 2002-12-23 2004-06-24 Mau Peter K.L. Natural language interface semantic object module
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
EP1584035B1 (en) * 2002-12-31 2015-04-15 International Business Machines Corporation Authorized anonymous authentication
US7603661B2 (en) * 2003-01-30 2009-10-13 Hamilton Sunstrand Parse table generation method and system
US7200602B2 (en) * 2003-02-07 2007-04-03 International Business Machines Corporation Data set comparison and net change processing
US7797626B2 (en) * 2003-02-12 2010-09-14 Sap Ag Managing different representations of information
EP1631908A4 (en) * 2003-03-24 2012-01-25 Ibm SECURE COORDINATED IDENTIFICATION METHOD, SYSTEM AND PROGRAM
CA2555220A1 (en) * 2003-03-28 2004-10-14 Dun & Bradstreet, Inc. System and method for data cleansing
US20090100138A1 (en) * 2003-07-18 2009-04-16 Harris Scott C Spam filter
US20050028046A1 (en) * 2003-07-31 2005-02-03 International Business Machines Corporation Alert flags for data cleaning and data analysis
US7672873B2 (en) 2003-09-10 2010-03-02 Yahoo! Inc. Music purchasing and playing system and method
US20050065960A1 (en) * 2003-09-19 2005-03-24 Jen-Lin Chao Method and system of data management
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7305404B2 (en) * 2003-10-21 2007-12-04 United Parcel Service Of America, Inc. Data structure and management system for a superset of relational databases
EP2267697A3 (en) * 2003-12-12 2011-04-06 Nec Corporation Information processing system, method of processing information, and program for processing information
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
JP2005234915A (ja) * 2004-02-20 2005-09-02 Brother Ind Ltd データ処理装置及びデータ処理プログラム
US20050216429A1 (en) * 2004-03-24 2005-09-29 Hertz Michael T System and method for collaborative systems engineering
US6975957B2 (en) * 2004-04-15 2005-12-13 Agilent Technologies, Inc. Dynamic runtime modification of SCPI grammar
US20050246353A1 (en) * 2004-05-03 2005-11-03 Yoav Ezer Automated transformation of unstructured data
US20050257135A1 (en) * 2004-05-14 2005-11-17 Robert Listou Computer generated report comprised of names, text descriptions, and selected parametric values of designated text data objects listed on data tables
CN1322418C (zh) * 2004-08-18 2007-06-20 华为技术有限公司 实现对象持续化服务的***及其方法
US7925658B2 (en) * 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US8161020B2 (en) * 2004-11-15 2012-04-17 Zi Corporation Of Canada, Inc. Searching for and providing objects using byte-by-byte comparison
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US7979405B2 (en) * 2005-01-14 2011-07-12 Microsoft Corporation Method for automatically associating data with a document based on a prescribed type of the document
US7555486B2 (en) * 2005-01-20 2009-06-30 Pi Corporation Data storage and retrieval system with optimized categorization of information items based on category selection
US7412452B2 (en) * 2005-01-20 2008-08-12 Pi Corporation Data storage and retrieval system with intensional category representations to provide dynamic categorization of information items
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7966286B2 (en) * 2005-02-14 2011-06-21 Microsoft Corporation Hierarchical management of object schema and behavior
US7653653B2 (en) * 2005-02-14 2010-01-26 Microsoft Corporation Dynamically configurable lists for including multiple content types
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US8666928B2 (en) 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US20070083511A1 (en) * 2005-10-11 2007-04-12 Microsoft Corporation Finding similarities in data records
US7681185B2 (en) 2005-10-12 2010-03-16 Microsoft Corporation Template-driven approach to extract, transform, and/or load
US20070124147A1 (en) * 2005-11-30 2007-05-31 International Business Machines Corporation Methods and apparatus for use in speech recognition systems for identifying unknown words and for adding previously unknown words to vocabularies and grammars of speech recognition systems
US7949538B2 (en) * 2006-03-14 2011-05-24 A-Life Medical, Inc. Automated interpretation of clinical encounters with cultural cues
US8731954B2 (en) * 2006-03-27 2014-05-20 A-Life Medical, Llc Auditing the coding and abstracting of documents
DE102006021543A1 (de) * 2006-05-08 2007-11-15 Abb Technology Ag System und Verfahren zur automatisierten Übernahme und Bewertung der Qualität von Massendaten eines technischen Prozesses oder eines technischen Projektes
US7627562B2 (en) * 2006-06-13 2009-12-01 Microsoft Corporation Obfuscating document stylometry
US7752193B2 (en) * 2006-09-08 2010-07-06 Guidance Software, Inc. System and method for building and retrieving a full text index
US20080080505A1 (en) * 2006-09-29 2008-04-03 Munoz Robert J Methods and Apparatus for Performing Packet Processing Operations in a Network
US8204831B2 (en) 2006-11-13 2012-06-19 International Business Machines Corporation Post-anonymous fuzzy comparisons without the use of pre-anonymization variants
US20080133443A1 (en) * 2006-11-30 2008-06-05 Bohannon Philip L Methods and Apparatus for User-Guided Inference of Regular Expressions for Information Extraction
US7908552B2 (en) * 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
US8682823B2 (en) * 2007-04-13 2014-03-25 A-Life Medical, Llc Multi-magnitudinal vectors with resolution based on source vector features
EP2158540A4 (en) * 2007-06-18 2010-10-20 Geographic Services Inc NAME SYSTEM FOR SELECTING GEOGRAPHICAL CHARACTERISTICS
US7913764B2 (en) * 2007-08-02 2011-03-29 Agr Subsea, Inc. Return line mounted pump for riserless mud return system
US9946846B2 (en) 2007-08-03 2018-04-17 A-Life Medical, Llc Visualizing the documentation and coding of surgical procedures
US8838659B2 (en) 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
US8311806B2 (en) 2008-06-06 2012-11-13 Apple Inc. Data detection in a sequence of tokens using decision tree reductions
US8738360B2 (en) * 2008-06-06 2014-05-27 Apple Inc. Data detection of a character sequence having multiple possible data types
KR101574603B1 (ko) 2008-10-31 2015-12-04 삼성전자주식회사 컨디셔널 프로세싱 방법 및 장치
US9349143B2 (en) 2008-11-24 2016-05-24 Ebay Inc. System and method for generating an electronic catalog booklet for online computer users
US8397222B2 (en) 2008-12-05 2013-03-12 Peter D. Warren Any-to-any system for doing computing
US8175388B1 (en) * 2009-01-30 2012-05-08 Adobe Systems Incorporated Recognizing text at multiple orientations
US9805089B2 (en) * 2009-02-10 2017-10-31 Amazon Technologies, Inc. Local business and product search system and method
US9110882B2 (en) 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US20120078950A1 (en) * 2010-09-29 2012-03-29 Nvest Incorporated Techniques for Extracting Unstructured Data
US8447782B1 (en) * 2010-12-16 2013-05-21 Emc Corporation Data access layer having a mapping module for transformation of data into common information model compliant objects
US20130151571A1 (en) * 2011-12-07 2013-06-13 Sap Ag Interface defined virtual data fields
US8990232B2 (en) * 2012-05-15 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for parallel regular expression matching
CN103514224B (zh) 2012-06-29 2017-08-25 国际商业机器公司 数据库中的数据处理方法、数据查询方法和相应装置
US9070090B2 (en) 2012-08-28 2015-06-30 Oracle International Corporation Scalable string matching as a component for unsupervised learning in semantic meta-model development
US9201869B2 (en) 2012-08-28 2015-12-01 Oracle International Corporation Contextually blind data conversion using indexed string matching
US9298754B2 (en) * 2012-11-15 2016-03-29 Ecole Polytechnique Federale de Lausanne (EPFL) (027559) Query management system and engine allowing for efficient query execution on raw details
US9535899B2 (en) 2013-02-20 2017-01-03 International Business Machines Corporation Automatic semantic rating and abstraction of literature
US9311294B2 (en) * 2013-03-15 2016-04-12 International Business Machines Corporation Enhanced answers in DeepQA system according to user preferences
WO2015035193A1 (en) 2013-09-05 2015-03-12 A-Life Medical, Llc Automated clinical indicator recognition with natural language processing
US10133727B2 (en) 2013-10-01 2018-11-20 A-Life Medical, Llc Ontologically driven procedure coding
US9852188B2 (en) * 2014-06-23 2017-12-26 Google Llc Contextual search on multimedia content
US10216783B2 (en) * 2014-10-02 2019-02-26 Microsoft Technology Licensing, Llc Segmenting data with included separators
US11100557B2 (en) 2014-11-04 2021-08-24 International Business Machines Corporation Travel itinerary recommendation engine using inferred interests and sentiments
US10572589B2 (en) * 2014-11-10 2020-02-25 International Business Machines Corporation Cognitive matching of narrative data
KR20170139556A (ko) 2015-03-26 2017-12-19 캐스윌 코포레이션 데이터 소스들을 쿼리하기 위한 시스템 및 방법
US9535903B2 (en) * 2015-04-13 2017-01-03 International Business Machines Corporation Scoring unfielded personal names without prior parsing
WO2017030538A1 (en) * 2015-08-14 2017-02-23 Hewlett Packard Enterprise Development Lp Dynamic lexer object construction
US10216742B2 (en) 2015-08-28 2019-02-26 Honeywell International Inc. Converting data sets in a shared communication environment
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
US10275450B2 (en) * 2016-02-15 2019-04-30 Tata Consultancy Services Limited Method and system for managing data quality for Spanish names and addresses in a database
CN107203542A (zh) * 2016-03-17 2017-09-26 阿里巴巴集团控股有限公司 词组提取方法及装置
US11495343B2 (en) * 2017-04-21 2022-11-08 Koninklijke Philips N.V. Device, system, and method for determining a reading environment by synthesizing downstream needs
US10482128B2 (en) 2017-05-15 2019-11-19 Oracle International Corporation Scalable approach to information-theoretic string similarity using a guaranteed rank threshold
US10885056B2 (en) 2017-09-29 2021-01-05 Oracle International Corporation Data standardization techniques
SG11202012876SA (en) * 2018-07-25 2021-01-28 Ab Initio Technology Llc Structured record retrieval

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0280866A3 (en) * 1987-03-03 1992-07-08 International Business Machines Corporation Computer method for automatic extraction of commonly specified information from business correspondence
US4974191A (en) * 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
NL8900247A (nl) * 1989-02-01 1990-09-03 Bso Buro Voor Systeemontwikkel Werkwijze en stelsel voor het weergeven van meervoudige analyses in een afhankelijkheidsgrammatica, alsmede ontleed-inrichting voor het genereren van een dergelijke weergave.
US5146406A (en) * 1989-08-16 1992-09-08 International Business Machines Corporation Computer method for identifying predicate-argument structures in natural language text
US5276616A (en) * 1989-10-16 1994-01-04 Sharp Kabushiki Kaisha Apparatus for automatically generating index
JPH04280320A (ja) * 1991-03-08 1992-10-06 Nec Corp プログラム自動生成装置
US5442780A (en) * 1991-07-11 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Natural language database retrieval system using virtual tables to convert parsed input phrases into retrieval keys
JP2640793B2 (ja) * 1992-01-17 1997-08-13 松下電器産業株式会社 共起辞書構築装置及びこの共起辞書を用いた文解析装置
US5515534A (en) * 1992-09-29 1996-05-07 At&T Corp. Method of translating free-format data records into a normalized format based on weighted attribute variants
US5454106A (en) * 1993-05-17 1995-09-26 International Business Machines Corporation Database retrieval system using natural language for presenting understood components of an ambiguous query on a user interface
US5715449A (en) 1994-06-20 1998-02-03 Oceania, Inc. Method for generating structured medical text through user selection of displayed text and rules
US5752052A (en) * 1994-06-24 1998-05-12 Microsoft Corporation Method and system for bootstrapping statistical processing into a rule-based natural language parser
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
JP3571408B2 (ja) * 1995-03-31 2004-09-29 株式会社日立製作所 文書加工方法および装置
US5740421A (en) * 1995-04-03 1998-04-14 Dtl Data Technologies Ltd. Associative search method for heterogeneous databases with an integration mechanism configured to combine schema-free data models such as a hyperbase
US5734883A (en) * 1995-04-27 1998-03-31 Michael Umen & Co., Inc. Drug document production system
US5802539A (en) 1995-05-05 1998-09-01 Apple Computer, Inc. Method and apparatus for managing text objects for providing text to be interpreted across computer operating systems using different human languages
US5966686A (en) * 1996-06-28 1999-10-12 Microsoft Corporation Method and system for computing semantic logical forms from syntax trees
US6052693A (en) * 1996-07-02 2000-04-18 Harlequin Group Plc System for assembling large databases through information extracted from text sources
US5819291A (en) * 1996-08-23 1998-10-06 General Electric Company Matching new customer records to existing customer records in a large business database using hash key
US6167393A (en) * 1996-09-20 2000-12-26 Novell, Inc. Heterogeneous record search apparatus and method
US5826258A (en) * 1996-10-02 1998-10-20 Junglee Corporation Method and apparatus for structuring the querying and interpretation of semistructured information
JPH10171814A (ja) * 1996-12-12 1998-06-26 Digital Vision Lab:Kk 情報検索装置

Also Published As

Publication number Publication date
EP1078323A1 (en) 2001-02-28
CA2329345A1 (en) 1998-10-29
US20020010714A1 (en) 2002-01-24
CN1315020A (zh) 2001-09-26
US6272495B1 (en) 2001-08-07
EP1078323A4 (en) 2007-04-25
WO1998048360A1 (en) 1998-10-29

Similar Documents

Publication Publication Date Title
CN1204515C (zh) 自由格式数据处理的方法和设备
CN1155906C (zh) 数据处理方法、***、处理程序及记录媒体
CN1297935C (zh) 进行非结构化信息管理和自动文本分析的***和方法
CN1170240C (zh) 结构化文档检索显示方法和装置
CN1163837C (zh) 网络访问管理***和方法
CN1182467C (zh) 可扩充的分布企业应用集成***
CN1761956A (zh) 基于片段的串行化***与方法
CN1679026A (zh) Web服务设备和方法
CN1524216A (zh) 软件构件插件程序结构的***和方法
CN1797399A (zh) 用于文本挖掘和搜索的应用程序编程接口
CN100342691C (zh) 多模式对话处理方法
CN1567174A (zh) 对象表示和处理的方法及其装置
CN1604082A (zh) 用于任意数据模型的映射体系结构
CN1292901A (zh) 数据库设备
CN1755674A (zh) 用于同步合成,显示及处理文本和图象文件的方法和设备
CN1689022A (zh) 可扩展标记语言流化转换器
CN1749999A (zh) .net数据类型和实例的持久存储
CN1799046A (zh) 用于文档处理的方法和装置
CN1271545C (zh) 语言翻译***
CN1672149A (zh) 词联想方法和装置
CN1609795A (zh) 用于计算机平台的编程接口
CN1592905A (zh) 自动产生数据库查询的***和方法
CN1609856A (zh) 查询中间语言的方法和***
CN1321275A (zh) 与源代码控制***交互的方法和设备
CN1781078A (zh) 硬件加速器个性编译器

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
PB01 Publication
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050601

Termination date: 20110422