利用单词相关度的本体自动生成的制作方法

文档序号:6467030阅读:188来源:国知局
专利名称:利用单词相关度的本体自动生成的制作方法
技术领域
本发明总体上涉及词法(lexigraphical)分析,更具体地说,涉及利 用单词相关度(affinity)的本体(ontology)自动生成。
背景技术
一组(corpus)数据可以包含大量信息,然而査找到相关信息却可能 比较困难。关键词搜索是查找信息的主要技术。然而,在特定情况下关 键词搜索在定位信息时并不有效。


图1例示了根据语言的单词之间的相关度来生成语言本体的系统的 一个实施方式;
图2例示了二元判决图的示例; 图3例示了记录基本相关度的相关度矩阵的示例; 图4例示了记录有向相关度的相关度矩阵的示例; 图5例示了记录平均相关度的相关度矩阵的示例; 图6例示了相关度图的示例;以及
图7例示了可由图1所示的系统执行的生成语言本体的方法的一个 实施方式。
具体实施方式
概述
在一个实施方式中,生成本体包括访问反向索引,该反向索引包含语言的多个单词的反向索引列表。与单词对应的反向索引列表指示包含 所述单词的页面。单词对包括第一单词和第二单词。搜索第一反向索引 列表和第二反向索引列表,其中,第一反向索引列表与第一单词对应, 而第二反向索引列表与第二单词对应。根据第一反向索引列表和第二反 向索引列表来计算第一单词与第二单词之间的相关度。相关度描述了第 一单词与第二单词之间的定量关系。相关度记录在相关度矩阵中,并且 报告所述相关度矩阵。 示例实施方式
具体实施方式
中,领域本体的创建及查询包括以下步骤
1、 收集领域中的文档。在具体实施方式
中,文档是词语的集合。文 档包括可读文本,例如, 一本《新约》。文档不需要以描述形式来包括文 本,例如,文档可以包括用户输入的一组标注(tag),其单独并集中地描 述了图像的内容。文档的集合可称为"领域集(domain corpus)"。
2、 识别该领域中感兴趣的词语("词典词语")。词语的示例包括单 词(诸如"树")、短语(诸如"图形算法")、命名实体(诸如"纽约") 等。词语(或概念)可具有不同的形式。在特定情况下,不同的单词用 于同一概念,例如,"kidney stones (肾结石)"和"kidney calculi (肾结 石)"是指同一概念,即"kidney stones (肾结石)"。在其它情况下,词 干可具有多种词形变化(inflectedvariant),例如,词干"tree"具有词形 变化"tree"和"trees"。在具体实施方式
中,同一词语的各种形式可处 理为映射到同一词语。词典词语的任意适当形式可出现在文档中,但是 具体词典词语不一定出现在任意文档中。
识别词典词语的方法的示例包括利用用于特定领域的人为生成的词 典,例如,医学词典。在具体实施方式
中,可从文档集中的一组文本串 自动地生成词典词语的列表。可以按照频度对这些串进行索引及分类, 并且可选择其频度大于阈值的串。可使用其它合适的统计方法来确定词 语。在具体实施方式
中,"单词"可与"词语"及"词典词语"互换。
3、 计算给定的共现上下文(co-occurrence context)中的词典词语的 共现数量。如果两个词语中的每一个在同一共现上下文中至少出现一次,则这两个词语共现。共现上下文的示例包括文档和段落。
4、 创建包括该领域本体的有向加权图(directed weighted graph)。该 有向加权图包括作为节点的词典词语以及作为边的权重的相关度。"有向 加权图"可以用作可由任意合适的数据结构(例如,矩阵、二元判决图、 或二元判决图的集合等)表示的同一信息的实际表示。
5、 应用査询该有向加权图的过程。给定一个或更多个词典词语作为 输入,该过程输出与输入的词典词语有关的一个或更多个词典词语。例 如,该过程可针对一个或更多个输入词语输出一个或更多个词语的具有 最高的差有向相关度(如下所述)的分类列表。在这种情况下,就该本 体涉及的领域而言,该输出包括与输入词语更密切相关的词语。
可使用任意适当的相关度定义。在具体实施方式
中,可使用以下定

1、 基本相关度
a. 词语A与B之间的基本相关度(A)可定义为包括词语A和B 这两者的共现上下文的数量与包括词语A或B的共现上下文的数量的比 值
A(A,B) = |AB|/|AorB|
b. 词语A与B之间的基本相关度(A)还可定义为包括词语A和B 这两者的共现上下文的数量与包括A的共现上下文的数量或包括B的共 现上下文的数量中的最大值的比值
A(A,B) = |AB|/max(|A|,|B|)
2、 有向相关度
词语A与B之间的有向相关度(DAff)可定义为在假定在共现上下 文中观察到A的情况下观察B的条件概率 DAff(A,B) = |AB| / |A|
也就是说,有向相关度可以是包括词语A和B这两者的共现上下文 的数量与包括词语A的共现上下文的数量的比值。通常,DAff(A,B)与 DAff(B,A)不同。
3、 差有向相关度词语A和B之间的差有向相关度(DiffDAff)可定义为词语A与 B之间的有向相关度减去代表该文档集中的词语B的常见程度 (common-ness)的参数。在该文档集中的词语B的常见程度可以是词语 B的基本相关度或有向相关度值针对该文档集中的其它词语的统计值。 在具体实施方式
中,该文档集中的词语B的常见程度可以是词语B的平 均相关度(AA),这得到以下差有向相关度的定义
DiffDAff(A,B) = DA(A,B) - AA(B) 词语B的平均相关度(AA)或平均有向相关度可定义为
AA(B) = AVERAGE—x DAff(x, B) 也就是说,平均相关度可以是词语B的有向相关度针对共现上下文中的 其它词语的平均值。
图1例示了从语言的单词之间的相关度来生成语言本体的系统10的
一个实施方式。语言的本体代表语言的单词以及这些单词之间的关系。 单词之间的相关度描述这些单词之间的关系。在一个实施方式中,系统 10以定量值来计算相关度。这些值可用于生成用作语言本体的相关度矩 阵和相关度图。
相关度的示例包括基本相关度、有向相关度、平均相关度、差相关 度和/或其它相关度。在特定实施方式中,单词A与B之间的有向相关度 DA可定义为在假定观察到A的情况下观察B的条件概率
DA (A, B) = |AB|/|A|
在特定实施方式中,可根据针对单词和词典D的给定子集的特定反
向索引II来计算有向相关度,其中,索引II例如包括单词Wi和Wj的条
目I(Wi)和I(Wj)。对于D中的每一对单词Wi和Wj, DA(i,j)可定义为II中 的条目I(Wi)、 I(")的联合(conjunction)的值除以I(Wi)中的值的数量。 一般地,DA(i,j)不一定等于DA(j,i)。可以通过任意合适的方式来存储结 果,例如,按行存储,其中,存储D(l,i),然后然后存储D(2,j),以此类 推。对于各行i,可存储iI(Wj)l,随后是Wj的联合的基数(cardinality)。
在特定实施方式中,可通过3个阶段来计算有向相关度。在阶段O, 读取与D对应的II条目。对于参数(s, o),仅保留其形式为ks+o的元素。该步骤允许针对非常大量的反向索引计算DA表。在阶段l,仅针对i按 行计算DA(ij)的联合。在阶段2,读取计算的上三角UT DA数组。由 此,通过UT的转置来获得下三角部分。在特定实施方式中,相同维度的 多个DA数组可被合并到单个数组中。可以使用参数(s,i)按照sumiou DA来计算与大II相关的DA数组。
在特定实施方式中,可根据有向相关度来计算平均相关度(或平均 有向相关度)。在特定实施方式中,可根据特定有向相关度DA数组计算 平均相关度AA向量
AA(B) = AVERAGE—x D(x,B)
在特定实施方式中,可按行存储DA,因此可针对AA中的条目并行 地进行计算。具体地说,通过在从磁盘中读取DA时累加DA的各个行 并最后用词典条目的数量进行归一化,来生成AA。
在特定实施方式中,单词Wj与Wj之间的差相关度DiffAff (或差有 向相关度DiffDAff)可定义为
DiffAff(i,j) = DA(i,j)-AA(j)
在示例的实施方式中,系统10包括客户机20、服务器22以及存储 器24。客户机20允许用户与服务器22通信以生成语言本体。客户机20 可向服务器22发送用户输入,并可向用户提供(例如,显示或打印)服 务器输出。服务器系统24管理用于生成语言本体的应用程序。存储器24 存储服务器系统24使用的数据。
存储器24存储页面50和记录54。页面50 (或文档)可指代单词和 /或图像的集合。单词可包括具有一个或更多个具体含义的一个或更多个 字符(例如,字母、数字、空格或标点)。单词的示例包括"SanFmncisco"、 "plants"、 "non-stop"以及"N9ne"。可利用与图像关联的标注或其它元 数据(metadata)来分析具有图像的页面。
页面50的示例包括一个或更多个单词、 一个或更多个段落、 一个或 更多个页面、 一节或更多节、 一章或更多章、 一个或更多个文档、 一册 或更多册书、 一个或更多个网页、往来信函(例如,email和即时消息)、 和/或其它的单词集合。也就是说,文档可以是单词、段落、节、图像、页面、传统文档、章、页面节、书、网页、email、消息、网络日志等。 页面50可由页面标识符标识。在特定实施方式中, 一组页面50可属于 文档集。文档集可与具体主题、团体(community)、组织或其它实体关 联。
记录54描述页面50。在该实施方式中,记录54包括索引58、反向 索引62以及本体66。索引58包括索引列表,其中,页面50的索引列表 指示页面50的单词。反向索引62包括反向索引列表,其中,单词(或 单词集)的反向索引列表指示包括所述单词(或所述单词集)的页面50。 在一个示例中,列表Wi包括页面50 (其包含单词Wj)的页面标识符。 列表Wi&Wj包括联合页面50 (其包含单词Wi和Wj这两者)的页面标识 符。列表Wi+Wj包括分离(disjunction)页面50 (其包含单词Wi或Wj) 的页面标识符。PCWi)是Wi的页面50的数量,即,包括单词Wi的页面 50的数量。
在一个实施方式中,列表(诸如索引列表或反向索引列表)可被存 储为二元判决图(BDD)。在一个示例中,集合Wj的二元判决图BDD(W》 代表具有单词Wj的页面50。 BDD(Wi)的满足指定计数(satisfying assignment count) Satisf(BDD(Wi))得到具有单词Wj的页面50的数量
P(Wi) = Satisf(BDD(Wj)) 因此,
P(Wi&Wj) = Satisf(BDD(Wi) AND BDD(Wj))
P(Wi+Wj) = Satisf(BDD(Wj) OR BDD(W》)
稍后详细描述作为BDD而存储的列表的示例。
本体66代表语言的单词以及这些单词之间的关系。在一个实施方式 中,本体66代表单词之间的相关度。在例示的示例中,本体66包括相 关度矩阵70和相关度图74。参照图3到图5来描述相关度矩阵70的示 例。参照图6来描述相关度图74的示例。
服务器22包括判决图引擎26。在特定实施方式中,判决图引擎26 作为BDD来存储列表(诸如索引列表和/或反向索引列表)。在一个实施方式中,列表可被压縮,并随后可被存储为二元判决图(BDD)。可以通 过任意合适的方式来压缩列表。在一个示例中,根据大小对列表的元素 进行分类,以得到分类列表,并且计算分类列表的元素的逐对(painvise) 差,以得到逐对差列表。然后,对逐对差列表的元素进行Y编码,以得到 Y编码列表。对于示例列表[23, 125, 37, 54, 86, 33],分类列表是[23, 33, 37, 54, 86, 125],而逐对差列表是[23, 10, 4, 17, 32, 39]。
为了对逐对差列表的元素x进行编码,每个元素x>0被因式分解 (factor)为2e+m,其中,e = |_log2xl x的y代码是一元的(unary) (e+l) 与二元的(binary) m的串联(concatenation)。例如,如果乂=13=23+5, 那么e-3,并且111=5。 (e+l)的一元表示是1110, m的二元表示是101, 因此x的Y代码是1110101。对于上述示例列表的Y编码列表是 判决图引擎26可以通过任意合适的方式来将索引存储为BDD。在 一个实施方式中,索引列表由布尔函数表示,然后该布尔函数由BDD表 示。可以通过任意方式将列表表示为布尔函数。根据表示列表的技术的 一个示例,可以使用位值^...bi.. .bn将该列表中的各个元素表示为二进制
值。然后,由变量X卜.Xi...Xn来表示各个二进制值,其中,各个变量Xj
代表位值bi。例如,将列表[23,33,37, 54]以二进制表示为
。该列表可用布尔函数表示为
作为另一示例,将列表[8, 11, 12, 15]以二进制表示为[1000, 1011, 1100, llll]。该列表可用布尔函数表示为
根据表示列表的技术的另一示例,将列表的各个元素以2k基数表示
为具有基数2k位的值。对各个基数2k位进行一位有效编码(one-hot encoded),以得到位值bj。这些位值然后由变量Xj表示。例如,在基数 22中,元素54是312,其中基数22位为3、 1和2。各个基数22位然后 被一位有效编码,以得到位值1000 : 0010 : 0100。元素54可由布尔函数 编码为虽然该技术中使用的变量的数量更大,但是该技术可得到经改善的共享 和更紧凑的表示,尤其是更有效地存储负字面值(negative liteml)的ZDD。 在具体实施方式
中,构建布尔函数可包括从各个元素构建小项 (minterm),然后对这些最小项进行求或(Oring)。
判决图引擎26可以任意合适的方式以BDD来表示布尔函数。参照 图2来详细描述BDD的示例。
图2示例了 BDD 80的示例。在例示的示例中,BDD 80是表示布尔 函数f的有根有向无环图(DAG, rooted directed acyclic graph)。 BDD 80 包括端节点82和判决节点84 (—个判决节点是根节点)。端节点82包括 分别代表布尔函数0和1的O-端点和1-端点。判决节点84与子函数f对 应,并由布尔变量v^Xj标记。非端节点84具有指向子节点的外向 (outgoing) l-边86和外向O-边88。 l-边86指向表示函数v.f的子BDD, 而O-边88指向表示函数7/的子节点BDD。换句话说,l-边表示将v 设定为l,而0-边表示将v设定为0。
从根节点到1-端点的路径表示将所表示的布尔函数设定为1的一组 变量指定。从根节点到0-端点的路径表示将所表示的布尔函数设定为0 的一组变量指定。在例示的示例中,BDD 80表示由从x,节点84到端节 点82的针对1的路径卯(90a,b)所示的函数f。在该示例中,由路径卯a 和90b得到函数/ = x 4 ,其表示列表[8, 11, 12, 15],如上所述。
返回参照图1,判决图引擎26可使用任意合适的BDD来存储列表。 BDD的示例包括简化有序BDD (ROBDD, reduced ordered BDD)、分块 有序二元判决图(POBDD, partitioned ordered BDD)、消零判决图(ZDD, zero-suppressed decision diagram )、 nano 二兀判决图(nanoDD)、消零nano 二元判决图(nanoZDD)、其它合适的二元判决图、和/或上述任意二元判 决图的组合。在ROBDD中,不存在同构子图(isomorphic subgraph), 并且,对于全部路径而言从BDD的根节点到端节点的各个变量的次序是 相同的。在ZDD中,如果一个节点是负字面值,则排除该节点。在其它 BDD中,如果一个节点的两个边都指向同一节点,则排除该节点。稍后更详细地描述其它类型的BDD。
具体实施方式
中,判决图引擎26通过压縮(compact) BDD来生 成BDD。在一个实施方式中,判决图引擎26可通过丢弃变量排序并使得 由指针指定的位置与该指针的值以及父节点的位置相关联,来压縮BDD。 在具体实施方式
中,节点结构可包括变量标识符(ID)、 THEN/ELSE指 针和/或0-边指针。变量ID标记节点。在具体实施方式
中,用于S个节 点的标记要求至少n位,其中2" = S 。在一个示例中,BDD具有S=32 个节点,其中S代表节点的数量。在一个示例中,用于32个节点的标记 需要至少5位,因为25=32。 THEN/ELSE指针指向子节点。在具体实施 方式中,THEN指针是1-边指针而ELSE指针是0-边指针。在具体实施 方式中,节点结构可包括指示消零是否将该节点否定的0-边否定标志 (negated flag)。如果判决图是ZDD,则节点结构不需要包括0-边否定标
志o
在该示例中,用于BDD的各个子节点的最少信息可由以下给出 变量ID: 5位 0-边否定标志l位
THEN/ELSE指针2 * 「1。g(S)]位
判决图引擎26识别BDD的各个节点使用的字节数量。在该示例中,
每个节点要求
((5 + l + 2承卩og柳+7)
8
水字节。
具体实施方式
中,判决图引擎26进一步压縮BDD。为了进一步 压縮BDD,判决图引擎26可丢弃用于THEN/ELSE指针的log(S)位,并 且使得每个指针的值及其父节点的值(或位置)与该指针所指的位置相 关联。在上述条件下,仅向每个指针分配一个或两个字节可以减小每节 点的存储器需求。
具体实施方式
中,随着图变得更大,判决图引擎26压縮判决图, 适当地改变表的大小(并为每个节点分配更多的位)以存储判决图。在具体实施方式
中,判决图引擎26开始将判决图创建为压縮判决图。判决 图引擎26直接地对图构建进行分解/组合(decomposition/composition), 以直接地将压缩判决图转换为未縮减的图,而不是改变大小。在具体实施方式
中,压縮判决图辅助进行并行平台之间的通信。在 示例中,第一平台与第二平台并行地操作。第一平台可生成判决图,使 得判决图压縮以与第二平台通信,并将该压縮判决图传送到第二平台。 第二平台可从该压縮判决图重构判决图,以在第二平台进行处理。
具体实施方式
中,可使用nano判决图(nanoDD)。可利用描述 BDD节点变量及位置的节点结构来存储BDD。如果n表示变量的数量而 d表示节点的数量,则Sn^flog(n)l位足够用于对标记节点的变量进行索弓I 。 此外,如果在存储器中连续地存储节点,则Sd^Tlog(d)"I位足够用于识别节 点的位置。
可按照以下方式来构建nanoDD的节点
变量Sn位 l-边Sd位 O-边Sd位
因此,单个nanoDD节点使用2sd + s。位。
可按照深度优先遍历次序(depth-first traversal order)来连续地存储 节点。深度优先遍历从根节点开始并在端节点1结束,并且0-边在1-边 之前。因此,在深度优先遍历中可以从nanoDD中递增地提取信息。因 为可以为端节点分配固定的虚拟位置,所以不需要明确地存储端节点。
具体实施方式
中,nanoDD在BDD的任意合适的应用中有用。合 适的应用的示例包括集成电路(IC)综合、IC正式验证等。在具体实施 方式中,nanoDD支持任意合适的BDD操作。
具体实施方式
辅助进行更有效地存储BDD。在具体实施方式
中,更 有效地存储BDD使得中央处理单元(CPU)缓存能够存储更多的BDD 节点,这可辅助CPU对BDD的处理。
具体实施方式
辅助减小表示BDD 的图的各个节点所要求的字节数量,这可辅助减小BDD的大小。具体实 施方式可辅助减小BDD的大小而不减少BDD的节点的数量。具体实施 方式可辅助减小BDD的大小同时保持BDD对于功能操作有用。具体实 施方式可辅助在经常要求对数据进行压縮的移动消费者应用中利用 BDD。
服务器22包括相关度模块30。相关度模块30计算单词对的相关度, 在相关度矩阵70中记录相关度,并报告相关度矩阵70。相关度模块30还可生成相关度图74。
相关度模块30包括相关度计算器34、本体生成器38以及单词推荐 器48。相关度计算器34针对单词Wi或包括第一单词Wi及第二单词Wj 的单词对来计算任意合适类型的相关度。相关度的示例包括基本相关度、 有向相关度、平均相关度、差相关度、和/或其它相关度。
在一个实施方式中,单词推荐器48接收种子单词,并识别与种子单 词的相关度大于阈值相关度的单词。阈值相关度可具有任意合适的值, 诸如大于或等于0.25、 0.5、 0.75或0.95。阈值相关度可以是预先编程的
或用户指定的。
基本相关度可从包括单词Wj和/或Wj的页面50的量(例如,数量) 来计算。联合页面量表示包括单词Wj和Wj的页面50的量,而分离页面 量表示包括单词Wj或Wj但不同时包括这两者的页面50的量。基本相关 度可由联合页面量除以分离页面量得到。在一个示例中,联合页面的数 量指示包括单词Wj和Wj的页面的数量,而分离页面的数量指示包括单词 Wi或Wj的页面的数量。基本相关度可通过联合页面的数量除以分离页面 的数量得到
Affinity (Wi, w》=P(Wj & W》/ P(Wj + W》
图3例示了记录基本相关度的相关度矩阵110的示例。在所例示的 示例中,相关度矩阵110记录单词W,,…,W5的逐对相关度。根据相关度 矩阵110,单词wo与\^之间的相关度是0.003,单词w。与W2之间的相 关度是0.005,以此类推。
返回参照图1,相关度组包括彼此具有高相关度的单词对,并可用 于针对页面内容而获得单词w,和W2之间的关系。 一个较高的相关度可 指定为大于相关度组阈值的相关度。阈值可以设定为任意合适的值,例 如大于或等于0.50, 0.60, 0.75, 0.90或0.95。 一个单词可属于多于一个 的相关度组。在一个实施方式中,相关度组可表示为BDD。用于该BDD 的指针可与该组的各个单词一起存储在反向索引62中。
有向相关度可用于测量单词Wj对于Wj的重要性。相关度计算器34 从包括单词Wi和Wj的页面50的量(例如,数量)来计算给定单词Wj情况下的单词Wi的有向相关度。单词Wj页面量表示包括单词Wi的页面50
的量。给定单词Wj情况下的单词Wi的有向相关度可通过联合页面量除以 单词Wj页面量得到。例如,单词Wj页面的数量指示包括单词Wi的页面
50的数量。给定单词Wj情况下的单词Wi的有向相关度可通过联合页面 50的数量除以单词Wj页面50的数量得到 DAffmity(Wi, Wj) = P(W; & W》/ P(Wj)
DAffinity(Wi, Wj)与DAffinity(Wj, w;)不同。单词w!与Wj之间的高有向 相关度DAffmity(Wi, Wj)指示给定页面50包括单词Wj的情况下页面50包 括单词Wi的更高概率。在一个示例中,页面[l 2 3 4 5 6]包括单词Wj,而 页面[4 2]包括单词Wj。包括单词Wj的页面也包括单词Wi,因此从单词
Wj的角度,单词Wi具有较高的重要性。包括单词Wi的页面中仅有三分之 一的页面也包括单词Wj,因此从单词Wi的角度,单词Wj具有较低的重要性。
图4例示了记录单词,,..., 5的有向相关度的相关度矩阵120的示 例。在该示例中,单词124是A单词,而单词128是B单词。矩阵120 的各行记录了给定A单词情况下的B单词的相关度,而相关度矩阵120 的各列记录了给定B单词情况下的A单词的相关度。
返回参照图l,针对其它单词Wj来计算单词Wi的平均相关度。在一 个实施方式中,平均相关度可以是单词Wi与其它各个单词Wj之间的相关
度的平均。在另一实施方式中,平均相关度可以从给定单词Wj情况下单
词Wi的条件概率P(WilWj)来确定。N个单词的单词Wi的平均相关度可由 下式给出
AveAff(Wi" ^二,KI")
图5例示了记录平均相关度的相关度矩阵140的示例。行142记录 单词1到单词50,000的基本相关度。行144记录单词1到单词50,000的
平均相关度。
返回参照图1,单词的平均相关度可指示该单词的深度(depth)。具 有更低平均相关度的单词可认为是更深的单词,而具有更高平均相关度 的单词可认为是更浅的单词。更深的单词倾向于更技术、更具体和更精确。更深单词的百分比更高的页面50可被认为是更深的页面,而更深单 词的百分比更低的页面50可被认为是更浅显的页面。在一个实施方式中, 用户可指定要提取的单词和/或页面50的深度。
页面50的更深的单词可形成高度相关单词的一个或更多个聚类 (cluster)。聚类可表示共同思想或主题。页面50的主题的数量可指示页 面50的具体程度(specificity)。具有更少主题的页面50可被认为是更具 体的,而具有更多主题的页面50可被认为是较不具体的。
单词Wi针对单词Wj的差相关度是单词Wi与单词Wj之间的有向相关 度减去单词Wi针对其它全部单词的平均相关度。差相关度可表示为-
DiffAff(Wi, Wj) = DAffinity(Wi, w》—AveAff(w》
差相关度排除了由单词Wi在页面50中出现的一般趋势而造成的偏 差(bias)。在具体情况下,差相关度可提供针对给定页面包括单词Wj情 况下该页面包括单词Wi的概率的更精确指示。
差相关度可用于多种应用。在一个示例中,人名之间的差相关度可 用于研究社会关系网络。在另一示例中,语言元素之间的差相关度可用 于研究自然语言处理。在另一示例中,产品之间的差相关度可用于研究 营销。
相关度计算器34可使用任意合适的技术来搜索反向索引列表,以计
算相关度。例如,为了识别包括单词Wj和单词Wj这两者的页面,相关度
计算器34可搜索单词Wj的列表Wi以及单词Wi的列表Wj,以获得公共 元素,即公共页面标识符。在一个实施方式中,从这些列表的开头开始, 一次读出一个元素,直至检测出公共元素为止。作为示例,列表W,和列
表W2包括以下元素
W1:10, 20,23,36, 47, 52 W2:16, 18, 23, 47
指针p,、 P2初始分别指向元素10和16。指针p,指向比指针P2所指 向的元素更小的元素,因此指针p,向前移动到下一元素20。指针p2现在 指向更小的元素,因此指针P2移动到18。元素18小于20,因此指针p2 前进到23。指针pt前进到23,即公共元素,因此输出该元素。在这个阶段,两个指针R、 P2分别向前移动到元素47和47,即公共元素。因此, 输出元素47。指针P2到达了列表W2的末端,因此不再能够检测到公共 元素,并且该处理结束。
相关度计算器34可进行元素提取操作,以通过列表的元素来移动指 针。元素提取操作的示例是下一更大元素提取操作 get—next—dement—greq(L,E),该操作提取列表L的大于或等于元素E的下
一元素。该操作跳过对于具体搜索不重要的元素,这可实现更高效的搜 索。
在一个示例中,遍历nanoDD。在遍历nanoDD时,数组A记录当 前变量分配。进行深度优先遍历,以获得第一元素。深度优先遍历从根 节点开始,然后是O-边直到到达端节点l为止。
调用操作get一next一element—greq (L,E),以提取下一元素。该操作确 定对于元素E和数组A公共的变量分配。该操作后向追踪(backtrack), 直到到达了从顶端开始的第一非公共变量为止。如果没有共同分配,则 提取根节点。该操作根据由元素E指定的其余变量分配来遍历nanoDD。
在一个示例中,可对BDD 80执行get_next_element—greq (L,元素)操 作。如上所述,BDD 80表示对列表[8, 11, 12, 15]进行编码的函数 / = ;^ ;^^。路径90a得至UO〃;c2,;Cj,jO-(1,0,0, 0),即第一元素8。
操作get一next—element—greq (L,9)提取比8大的下一元素。(1, 0, 0, O)和(l, 0, 0, l)的前3个变量分配是相同的,因此操作沿路径90b后向追踪到变量 x3。该遍历得至U(l,O, 1, 1),即元素ll。
在一个实施方式中,get_next—element—greq (L,E)可用于识别包括单 词对的两个单词的页面。该操作可识别这些单词的反向索引列表的公共 元素,其中,单词的反向索引列表指示包括该单词的页面。
作为示例,第一列表包括[8,11,12,15],而第二列表包括[7, 13,15〗。 获得这些列表的第一元素8和第一元素7。元素8大于7,因此 get—next—element—greq (L,8)搜索第二列表并获得元素13。元素13大于8, 因此get—next—elementjreq(L,13)然后搜索第一列表。该操作检测到(l, 1, 0,1)(与13对应)仅具有与(1,0,0,0)(与8对应)公共的第一变量。该操作后向追踪到变量x,并根据(l, l,O, 1)向下遍历BDD80,最终在(1, 1, 1, l)结朿。
在特定实施方式中,相关度计算器34可计算其它任意合适的相关 度。作为示例,可根据文档中的针对目标单词具有大于阈值的有向相关 度的单词的绝对数量,来确定该文档针对该目标单词的相关度。作为另 一示例,低于某一数量的相关度值可通过阈值排除(thresholded)。
在特定实施方式中,相关度计算器34可计算文档之间的相关度。作 为示例,可计算一个文档的较深单词与另一文档的较深单词之间的相关 度。在直方图中收集这些较深单词之间的相关度,并将其用于推导这些 文档之间的单一相关度。类似地,可推导文档与文档集合之间的相关度。
本体生成器38可生成语言的本体66,诸如相关度矩阵70或相关度 图74。可以从任意合适的相关度生成本体,例如基本相关度、有向相关 度、平均相关度、差相关度、和/或其它相关度。可根据以任意适当方式 从语言中选择的单词来生成本体66。例如,可选择来自语言的共用部分 的单词或者可选择与一个或更多个具体主题领域有关的单词。
本体生成器38包括相关度矩阵生成器42和相关度图生成器46。相 关度矩阵生成器42生成记录单词之间的相关度的相关度矩阵70。相关度 图生成器46生成表示单词之间的相关度的相关度图74。在相关度图74 中,节点表示单词,节点之间的距离表示由这些节点表示的单词之间的 相关度。相关度图74可具有任意适合的维数。
图6例示了相关度图150的示例。相关度图150包括节点154和链 接158。节点154表示单词。在该示例中,节点154a表示单词"二进制 (BINARY)"。节点154之间的距离表示由这些节点154表示的单词之间 的距离。例如,更大的距离表示更大的相关度。这些节点之间的链接158 表示由这些节点154表示的单词之间的相关度高于相关度阈值。该相关 度阈值可具有任意合适的值,例如大于或等于0.25、 0.5、 0.75或0.95。
返回参照图1,系统10的组件可包括接口、逻辑、存储器和/或其它 任意合适的元件。接口接收输入、发送输出、处理输入和/或输出,并且/ 或者执行其它合适的操作。接口可包括硬件和/或软件。逻辑执行这些组件的操作,例如,执行指令以从输入生成输出。逻 辑可包括硬件、软件和/或其它逻辑。逻辑可编码在一种或多种有形的
(tangible)介质中,并且可在由计算机执行时进行操作。特定逻辑(诸 如处理器)可管理组件的操作。处理器的示例包括一种或更多种计算机、 一种或更多种微处理器、 一种或更多种应用、和/或其它逻辑。
存储器存储信息。存储器可包括一个或更多个有形的计算机可读的 和/或计算机可执行的存储介质。存储器的示例包括计算机存储器(例如, 随机存取存储器(RAM)或只读存储器(ROM))、海量存储介质(例如, 硬盘)、可移除存储介质(例如,光盘(CD)或数字视频盘(DVD))、 数据库和/或网络存储(例如,服务器)、和/或其它计算机可读介质。
可对系统10进行修改、添加或删减,而不脱离本发明的范围。系统 10的组件可以是集成或分离。此外,可由更多、更少或其它组件来执行 系统10的操作。例如,生成器42和46的操作可由一个组件执行,或者 相关度计算器34的操作可由多于一个的组件执行。另外,可利用包括软 件、硬件和/或其它逻辑的任意合适的逻辑来执行系统10的操作。如在本 文中所用的,"各个(each)"是指集合中的各个元素,或集合的子集中的 各个元素。
可对矩阵的示例进行修改、添加或删减,而不脱离本发明的范围。 矩阵可包括更多、更少、或其它值。另外,可以通过任意合适的顺序来 设置矩阵的值。
图7例示了生成语言本体的方法的一个实施方式。所述方法从步骤 210开始,其中为该本体选择语言的单词。可以通过任意合适的方式来选 择这些单词。例如,可选择通常使用的单词或与具体主题有关的单词。
在步骤214,相关度计算器34访问所选单词的记录54。相关度计算 器34可访问反向索引62,以提取包括所选单词的页面的列表。反向索引 62可表示为BDD。
在步骤218,相关度计算器34计算所选单词的单词对的相关度。可 计算任意合适的相关度,例如,可计算基本相关度、有向相关度、平均 相关度、差相关度、和/或其它相关度。在步骤222,相关度计算器34在相关度矩阵中记录相关度。针对所选单词的单词对重复步骤218和步骤 222。如果在步骤226存在下一单词对,则该方法返回到步骤218,以计 算下一单词对的相关度。如果在步骤226不存在下一单词对,则该方法 前进到步骤230。
在步骤230,相关度矩阵生成器42报告相关度矩阵。相关度矩阵可 用于表示该语言的本体。在步骤234,相关度图生成器46生成相关度图。 相关度图也可用作该语言的本体。在步骤238,报告相关度图。然后所述 方法结束。
可对该方法进行修改、添加或删减,而不脱离本发明的范围。所述 方法可包括更多、更少或其它步骤。另外,可以通过任意合适的次序来 执行这些步骤。
本发明的特定实施方式可提供一项或更多项技术优点。 一个实施方 式的技术优点可以在于,可以将语言的单词之间的相关度表示为定量值。 相关度可用于生成用作语言的本体的矩阵。本发明的特定实施方式可以 不包括上述技术优点,或者包括一些或全部上述技术优点。对于本领域 技术人员而言,从这里所包括的附图、说明书以及权利要求得到一项或 更多项其它技术优点是明显的。
虽然这里以特定实施方式描述了本发明,但是这些实施方式的变化 和置换对于本领域技术人员将是明显的。因此,以上对现在实施方式的 描述不限制本发明。在不脱离由所附的权利要求限定的本发明的精神和 范围的情况下,其它改变、替换和变化是可能的。
相关申请
本申请要求由DavidMarvit等于2007年10月5日提交的题目为"利 用单词相关度的本体自动生成"的美国临时申请序列号No. 60/977,770的 优先权。
权利要求
1、一种方法,该方法包括以下步骤访问存储在有形的存储介质中的反向索引,所述反向索引包括针对语言的多个单词的多个反向索引列表,反向索引列表与单词对应,该反向索引列表指示包括所述单词的一个或更多个页面;对于所述多个单词的各个单词对,所述单词对包括第一单词和第二单词搜索第一反向索引列表和第二反向索引列表,该第一反向索引列表与所述第一单词对应,该第二反向索引列表与所述第二单词对应;根据所述第一反向索引列表和所述第二反向索引列表,来计算所述第一单词与所述第二单词之间的相关度,该相关度描述所述第一单词与所述第二单词之间的定量关系;以及在相关度矩阵中记录所述相关度;以及报告所述相关度矩阵。
2、 根据权利要求1所述的方法,其中,计算所述第一单词与所述第 二单词之间的相关度还包括通过以下步骤来计算所述第一单词与所述第 二单词之间的基本相关度确定指示包括所述第一单词和所述第二单词的页面的数量的联合页 面的数量;确定指示包括所述第一单词或所述第二单词的页面的数量的分离页 面的数量;将所述联合页面的数量除以所述分离页面的数量。
3、 根据权利要求1所述的方法,其中,计算所述第一单词与所述第 二单词之间的相关度还包括通过以下步骤来计算给定所述第二单词时的 所述第一单词的有向相关度确定指示包括所述第一单词和所述第二单词的页面的数量的联合页 面的数量;确定指示包括所述第一单词的页面的数量的第一单词页面的数量;以及将所述联合页面的数量除以所述第一单词页面的数量。
4、 根据权利要求l所述的方法,其中,计算所述第一单词与第二单 词之间的相关度还包括通过以下步骤来计算所述第一单词的平均相关 度对于所述多个单词的每个单词对,计算所述每个单词对的单词之间的有向相关度,以得到多个有向相关度;以及 计算所述有向相关度的平均值。
5、 根据权利要求1所述的方法,其中,计算所述第一单词与第二单 词之间的相关度还包括通过以下步骤来计算所述第一单词相对于所述第 二单词的差相关度计算所述第一单词的针对所述第二单词的有向相关度; 计算所述第二单词的平均相关度;以及从所述第一单词的针对所述第二单词的有向相关度减去所述第二单 词的平均相关度。
6、 根据权利要求1所述的方法,该方法还包括通过以下步骤来存储 所述多个反向索引列表中的反向索引列表以布尔函数来表示所述反向索引列表;以及 生成与所述布尔函数对应的二元判决图。
7、 根据权利要求1所述的方法,该方法还包括通过以下步骤来存储 所述多个反向索引列表中的反向索引列表通过对所述反向索引列表的每个元素执行以下步骤,来以布尔函数 表示所述反向索引列表将所述每个元素表示为包括多个位值的二进制值; 以所述布尔函数的变量来表示每个位值; 根据所述每个元素构建小项;以及 通过对所述小项进行求或来构建所述布尔函数;以及 生成与所述布尔函数对应的二元判决图。
8、 根据权利要求1所述的方法,该方法还包括通过以下步骤来存储所述多个反向索引列表中的反向索引列表通过对所述反向索引列表的每个元素执行以下步骤,来以布尔函数表示所述反向索引列表将所述每个元素表示为包括多个基数2k位的2k基数值;并且 对每个基数2k位进行编码以得到包括多个位值的经编码的基数以所述布尔函数的变量来表示每个位值;以及 生成与所述布尔函数对应的二元判决图。
9、 根据权利要求1所述的方法,该方法还包括通过以下步骤来存储 所述多个反向索引列表中的反向索引列表用布尔函数来表示所述反向索引列表;以及 通过以下步骤来生成与所述布尔函数对应的二元判决图建立所述二元判决图的多个节点;以及确定每个节点的节点结构。
10、 根据权利要求1所述的方法,其中,搜索所述第一反向索引列 表和第二反向索引列表还包括以下步骤遍历表示所述第一反向索引列表的第一二元判决图;以及 遍历表示所述第二反向索引列表的第二二元判决图。
11、 根据权利要求1所述的方法,其中,搜索所述第一反向索引列 表和第二反向索引列表还包括通过重复以下步骤直至到达所述第一反向 索引列表的末端或所述第二反向索引列表的末端为止,来搜索第一二元 判决图和第二二元判决图,该第一二元判决图表示所述第一反向索引列 表,该第二二元判决图表示所述第二反向索引列表建立包括所述第一反向索引列表或所述第二反向索引列表的当前反 向索引列表的当前元素;从另 一反向索引列表获取下一更大的元素; 比较所述下一更大的元素和当前元素;以及如果所述下一更大的元素与所述当前元素匹配,则记录公共元素。
12、 一种或更多种计算机可读介质编码软件,当执行所述软件时,能够执行以下步骤访问存储在有形的存储介质中的反向索引,所述反向索引包括针对 语言的多个单词的多个反向索引列表,反向索引列表与单词对应,该反 向索引列表指示包括所述单词的一个或更多个页面;对于所述多个单词的各个单词对,所述单词对包括第一单词和第二 单词搜索第一反向索引列表和第二反向索引列表,该第一反向索引 列表与所述第一单词对应,该第二反向索引列表与所述第二单词对 应;根据第一反向索引列表和第二反向索引列表,来计算所述第一 单词与所述第二单词之间的相关度,该相关度描述所述第一单词与 所述第二单词之间的定量关系;以及在相关度矩阵中记录所述相关度;以及 报告所述相关度矩阵。
13、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来计算所述第一单词与所述第二单词之间的基本相关 度,以计算所述第一单词与所述第二单词之间的所述相关度确定指示包括所述第一单词和所述第二单词的页面的数量的联合页 面的数量;确定指示包括所述第一单词或所述第二单词的页面的数量的分离页 面的数量;将所述联合页面的数量除以所述分离页面的数量。
14、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来计算给定所述第二单词情况下所述第一单词的有向相 关度,以计算所述第一单词与所述第二单词之间的所述相关度确定指示包括所述第一单词和所述第二单词的页面的数量的联合页 面的数量;确定指示包括所述第一单词的页面的数量的第一单词页面的数量;以及将所述联合页面的数量除以所述第一单词页面的数量。
15、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来计算所述第一单词的平均相关度,以计算所述第一单词与所述第二单词之间的所述相关度对于所述多个单词的每个单词对,计算所述每个单词对的单词之间 的有向相关度,以得到多个有向相关度;以及计算所述有向相关度的平均值。
16、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来计算所述第一单词相对于所述第二单词的差相关度, 以计算所述第一单词和所述第二单词之间的所述相关度计算所述第一单词对所述第二单词的有向相关度; 计算所述第二单词的平均相关度;以及从所述第一单词对所述第二单词的有向相关度减去所述第二单词的 平均相关度。
17、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来存储所述多个反向索引列表中的反向索引列表用布尔函数来表示所述反向索引列表;以及 生成与所述布尔函数对应的二元判决图。
18、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来存储所述多个反向索引列表中的反向索引列表通过对所述反向索引列表的每个元素执行以下步骤,来以布尔函数 表示所述反向索引列表将所述每个元素表示为包括多个位值的二进制值; 以所述布尔函数的变量来表示每个位值; 根据所述每个元素构建小项;以及 通过对所述小项进行求或来构建所述布尔函数;以及 生成与所述布尔函数对应的二元判决图。
19、 根据权利要求12所述的计算机可读介质,所述软件还可操作用于通过以下步骤来存储所述多个反向索引列表中的反向索引列表通过对所述反向索引列表的每个元素进行以下步骤,来以布尔函数 表示所述反向索引列表将所述每个元素表示为包括多个基数2k位的2k基数值;并且 对每个基数2k位进行编码以得到包括多个位值的经编码的基数 2、;以所述布尔函数的变量来表示每个位值;以及 生成与所述布尔函数对应的二元判决图。
20、 根据权利要求12所述的计算机可读介质,所述软件还可操作用于通过以下步骤来存储所述多个反向索引列表中的反向索引列表 用布尔函数来表示所述反向索引列表;以及 通过以下步骤来生成与所述布尔函数对应的二元判决图建立所述二元判决图的多个节点;以及确定每个节点的节点结构。
21、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于通过以下步骤来搜索第一反向索引列表和第二反向索引列表遍历表示所述第一反向索引列表的第一二元判决图;以及 遍历表示所述第二反向索引列表的第二二元判决图。
22、 根据权利要求12所述的计算机可读介质,所述软件还可操作用 于搜索所述第一反向索引列表和所述第二反向索引列表,该搜索还包括 通过重复以下步骤直至到达第一反向索引列表的末端或第二反向索引列 表的末端为止,来搜索第一二元判决图和第二二元判决图,该第一二元 判决图表示所述第一反向索引列表,该第二二元判决图表示所述第二反向索引列表建立包括所述第一反向索引列表或所述第二反向索引列表的当前反向索引列表的当前元素;从另一反向索引列表获取下一更大的元素; 比较所述下一更大的元素和当前元素;以及 如果下一更大的元素与所述当前元素匹配,则记录公共元素。
23、 一种系统,该系统包括用于访问存储在有形的存储介质中的反向索引的装置,所述反向索 引包括针对语言的多个单词的多个反向索引列表,反向索引列表与单词对应,该反向索引列表指示包括所述单词的一个或更多个页面;用于对于所述多个单词的各个单词对执行以下步骤的装置,所述单词对包括第一单词和第二单词搜索第一反向索引列表和第二反向索引列表,该第一反向索引 列表与所述第一单词对应,该第二反向索引列表与所述第二单词对 应;根据所述第一反向索引列表和所述第二反向索引列表,来计算 所述第一单词与所述第二单词之间的相关度,该相关度描述所述第一单词与所述第二单词之间的定量关系;以及在相关度矩阵中记录所述相关度;以及 用于报告所述相关度矩阵的装置。
全文摘要
本发明涉及利用单词相关度的本体自动生成。在一个实施方式中,生成本体包括访问反向索引,该反向索引包括针对语言的单词的反向索引列表。与单词对应的反向索引列表指示包括该单词的页面。单词对包括第一单词和第二单词。搜索第一反向索引列表和第二反向索引列表,其中第一反向索引列表与第一单词对应,第二反向索引列表与第二单词对应。根据第一反向索引列表和第二反向索引列表来计算第一单词与第二单词之间的相关度。该相关度描述第一单词与第二单词之间的定量关系。在相关度矩阵中记录该相关度,并报告所述相关度矩阵。
文档编号G06F17/30GK101430695SQ200810165999
公开日2009年5月13日 申请日期2008年10月6日 优先权日2007年10月5日
发明者大卫·马尔维特, 斯特吉奥斯·斯特吉奥, 贾瓦哈拉·贾殷, 雅尼斯·拉布罗 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1