基于术语关系的贝叶斯网络信息检索模型扩展研究

LSI

阅读笔记


背景知识

提出一种改进的共现频率法,利用该方法挖掘了索引术语之间的相关关系,将这种相关关系引入信念网络模型,提出了一个具有两层术语节点的扩展信念网络模型,利用实验验证了模型的性能。
将查询术语同义词作为查询证据引入信念网络模型,提出了组合同义词证据的信念网络检索模型,实验验证了模型性能。
利用同义词方法挖掘了简单贝叶斯网络检索模型(SBN 模型)中术语之间的关系,提出了利用这种关系所产生的扩展 SBN 模型,并验证了模型的性能。
利用共现分析法挖掘了术语之间的关系,将这种关系用于基于简单影响图的结构化文档检索模型(SID 模型),提出了扩展的 SID 检索模型,研究了模型的拓扑结构和信息检索方法。

同义词指在信息检索中能够互换,表达相同或相近概念的词,如“电脑”—“计算机”,“边境”-“边防”等。

同义词之间的可以用词语相似度衡量。

信息检索领域文档都是由索引词(标引词)表示的,同样用户的查询一般也由一组术语表示。

一般地,当使用给定文档中术语之间的关系时,信息检索的性能会得到提高,

因此,如何有效地获取这些关系并在检索文档时使用它们,已经成为近几年信息检索领域的一个研究热点。

研究者为此已经提出了一些方法在信息检索模型中挖掘和使用术语之间的关系,实验证明,这些工作在一定程度上提高了模型的性能。

另一方面,近几年来同义词、相关词的研究取得了一定进展。

出现了一系列同义词词典,如英文的《Wordnet》,中文的《同义词词林》、《知网》等,为同义词的识别提供了方便。

同时研究者提出了一些更为科学的,适合信息检索的术语关系量化方法,如基于《同义词词林》术语相似度计算方法,基于《知网》的术语相似度计算方法等。

在相关词识别方面提出了同现分析法,逐点互信息法等,为有效挖掘术语之间关系,并将这种关系应用于基于贝叶斯网络的信息检索模型提供了可能。
综上所述,研究如何将术语之间关系引入贝叶斯网络检索模型,实现对原有模型的扩展,以提高其检索性能,实现一定意义上的语义检索,不仅具有一定的理论意义和实践意义,而且是现实可行的。


研究目标

根据如前所述的研究背景和研究动因,本论文的研究主题确定为:
针对贝叶斯网络信息检索模型存在的,没有合理利用术语之间关系的缺点,利用近年来同义词、相关词的研究成果,将术语之间关系引入贝叶斯网络检索模型,以实现对原有模型的扩展,提高模型的检索性能。

具体研究目标为:

    • (1)研究基于贝叶斯网络的信息检索模型中术语关系的表示及量化方法
    • (2)利用术语间关系对基于贝叶斯网络的信息检索模型进行扩展,以提高模型性能,实现一定意义上的语义检索。
    • (3)研究利用术语关系扩展相关结构化文档检索模型的方法,提出相关的扩展模型
    • (4)初步构造测试集,实验验证扩展模型的性能。

研究基础

相关性衡量

3.1 词语相关度及其计算

3.2 同义词与词语相似性

3.2.1 信息检索用同义词的定义

“其不考虑感情色彩和语气,主要是指能够相互替换、表达相同或相近概念的词或词组。”

用于信息检索的同义词主要分为四类: (就是关系比较大的词)

      • (1)等价词和等义词或词组:即意义完全相等的词。如电脑—计算机、自行车—脚踏车等。
      • (2)准同义词和准同义词词组:即意义基本相同的词和词组。如边疆—边境、住房—住宅等。这类词在同义词中占很大的比例。
      • (3)某些过于专指的下位词。例如在词表中只使用“球类运动”,而没有在下面列举出“门球”、“毽球”、“网球”等词, 这些过于专指的下位词也被看作同义词。
      • (4)极少数的反义词。这类词描述相同的主题,但所包含的概念互不相容,如平滑度—粗糙度等

3.2.2 同义词词典

由于同义词在信息检索中的重要性,十几年来许多研究者投入了大量精力,研制出了一些同义词词典。主要包括如下:

(1) Wordnet
Wordnet是美国普林斯顿大学认知科学实验室开发的,一部在线的、基于心理语言学原则的词典数据库系统。

它本质上是一个词汇概念网络,描述了概念间的各种语义关系。

      • 它和标准词典之间的区别就是它把英语单词分为名词、动词、形容词、副词和虚词五类(实际上只包括 4 类,未包括虚词),
      • 然后,按照词义,而不是词形来组织词汇信息。

在 Wordnet 中,概念就是同义词的集合,Wordnet 通过同义词集合表示概念,通过概念间的关系描述英语概念间复杂的网状语义关系。

目前的 Wordnet 包含了 95600 个词形,其中简单词51500 个,复合词 44100 个。

这些词形被组织成 70100 个词义或同义词集,描述了上下位、同义、反义、部分-整体等词汇语义关系。
Wordnet 应经成功地用于词义消歧语言学自动处理机器翻译信息检索系统,在国际计算语言学界已有相当影响。

      • 2001 年成立了 Wordnet 研究学会,
      • 2002 年于印度召开了第一届 Wordnet 国际会议。
      • 许多国家都已着手实施构造本民族语言的 Wordnet。
      • 东北大学的张俐等人在 Wordnet 的基础上探讨了中文 Wordnet 的实现。
      • 中文 Wordnet 以 Wordnet 中的概念间关系为基础,以半自动方式创建了一个适用于中文信息处理的系统。

API:

WordNet NLTK Interface

c/c++ Interface:

http://stackoverflow.com/questions/18840805/concise-precise-tutorial-for-wordnet

http://wordnet.princeton.edu/wordnet/man/wnintro.3WN.html

(作为第二次筛选是个不错的选择)

(2) Others

3.2.3 词语相似度

定义 词语相似度:
①词语相似度是用来衡量两个词语在查询中或文档中意义相符程度的度量;
②词语相似度是一个数值,取值范围为[0,1]。 记作:Sim ( word1 , word2 ) 。

词语相似度是同义词识别的基本方法。一般来说如果两个词语之间的意义越相近,则它们之间的相似度越高,否则相似度越低。

      • 一个词语与它本身的相似度为 1。
      • 一个词语与它的等义词之间的相似度也是 1。 (看来并不是单纯看外表相似度)

词语相似度目前有两类常见的计算方法:

根据某种世界知识(Ontology)的计算方法,利用大规模的语料库进行统计的方法。

根据世界知识( Ontology )计算词语相似度的方法,一般是使用一部同义词词典(Thesaurus)或词汇分类体系,利用词语之间的概念距离来计算词语相似度。

利用大规模的语料库进行统计的方法主要利用词语的相关性来计算词语的相似度。

3.3 基于字面相似度原理的词语相似度计算

3.3.1 基于英语单词字面的相似度方法

不太可靠。

3.3.2 国内基于字面的相似度算法研究

3.4 基于义类词典或词汇分类体系的词语相似度计算

在 义类词典 或者 词汇分类体系( Taxonomy) 中, 所有同类的语义项构成一个具有概念层次的树状结构, 相应结点之间的距离(称为概念距离)即可表示词汇语义之间的相似程度。两个结点之间的路径越短, 就表示他们越相似。

    • 在树状结构中, 除了要考虑结点间路径的长度外,
    • 有时还考虑了概念层次树的深度(概念的细分程度)和密度(概念的集中程度)对词汇相似度计算的影响。

3.4.1 基于《同义词词林》的词语相似度计算

3.4.2 基于《Hownet》的词语相似度计算方法

3.5 基于大规模语料库的词语相似度计算

基于大规模语料库计算词语相似度的基本思路是:

    • 一个词语的上下文环境中包含有丰富的,有关该词的语义信息。
    • 如果两个词语上下文中的这些信息是相似的,则这两个词语也是相似的。

例如可以事先选择一组特征词,计算这一组特征词与每一个词的相关性,
对于每一个词都可以得到一个相关性的特征词向量,这两个向量之间的相似度
就可以作为这两个词的相似度。 (这一组特征词,貌似有点难选)

特征词语的选择直接影响词语相关的计算,因此要选择对目标词语具有较
强约束力的词语。在汉语中具有较强上下文约束关系的词性对包括:形容词-
名词、动词-名词、名词-动词、形容词-动词等。因此如果计算两个名词的
相关度,一般考虑它们的上文的动词和形容词,以及下文的动词。

同现频率,构成同现向量


《基于上下文词语同现向量的词语相似度计算》

晕,发现这个方法是不是过时了?!

LDA是真理?悬崖勒马!


From LSI to LDA

Based on [Maths] Multinomials and Dirichlet distribution

Terminology in text mining
Corpus - is a large set of texts
Stop words - usually refer to the most common words in a language which are usually filtered out
Function words - words that have little meaning, but instead serve to express grammatical relationships with other words within a sentence, or specify the attitude or mood of the speaker
Unstructured text - either does not have a pre-defined format or is not organized in a pre-defined manner
Tokenizing - process of breaking a stream of text up into words, phrases, symbols, or other meaningful elements called tokens (terms)
Term-document matrix (or document-term matrix): is a mathematical matrix that describes the frequency of terms that occur in a collection of documents
Supervised learning - machine learning task of inferring a function from labelled training data
Unsupervised learning - similar to above but find hidden structure in unlabelled data

History

• Most of topic models are based on “bag-of-words”
• The order of words in a document is neglected 无顺序性
• In probability theory, this is an assumption of “exchangeability” for the words in “bag-of-words” representation 可交换性
• LDA also assumes that documents are exchangeable within a corpus
• A classic representation theorem due to de Finetti establishes that any collection of exchangeable random variables has a representation as a mixture distribution
• To use exchangeable (bag-of-words) representations for documents and words, we need to consider mixture models → LDA

Figure, Term-document matrix

LSI

基础知识:tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度

From: 【Topic Model】主题模型之潜在语义分析(Latent Semantic Analysis) (良心博文,写得很好)

LSA 用向量空间模型将文档映射成矩阵, 使用SVD 分解矩阵:

其中矩阵 和 是正交矩阵,矩阵是包含文档矩阵的奇异值组成的对角阵。

由于矩阵中的奇异值的大小代表了矩阵在该维度的变化大小,并且奇异值在矩阵中是按照从大到小的顺序排列的。当中的前k个奇异值较大的时候,取前k个奇异值可以看作是对原来矩阵的近似。

举个例子,数据集中分别有关两个话题的9篇微博文档,话题A是关于话题陈奕迅演唱会的,话题B是关于话题谷歌眼睛问世的。经过分词后将可以得到每个词对应每篇微博文档出现频率的词频表。如下表所示。

话题A:陈奕迅演唱会

A1:陈奕迅的演唱会太好听了,大爱陈奕迅的《十年》
A2:最喜欢的Eason《十年》和《因为爱情》
A3:看陈奕迅的《十年》,现代科技真厉害,现场真棒
A4:北京演唱会,Eason 和王菲对唱《因为爱情》
A5:演唱会陈奕迅为了请到王菲唱《因为爱情》,特地不说话

话题B:谷歌眼镜问世

B1:谷歌眼镜即将上市,现在可以申请试用。
B2:科技新创意–Google Glass
B3:Glass 创意无限,各位Geek 可以想办法试用
B4:谷歌眼镜可以申请试用了,属于可穿戴式科技产品

词频表可以看作是这9条微博的完全统计,通过词频计算表 --> TF-IDF权值表

对其进行奇异值分解,如下:

设TF-IDF权值表为,则通过奇异值分解有:

对矩阵分别取奇异值分解的前两维,即设k=2,可以得到  和  和 

其中 便可表示为:该n篇文章对应在前两维度上的一个点的分布,可以分别取 和 为两个维度绘制每篇文章在这两个维度上的位置

(如下图所示,蓝色的方形表示话题B的四篇微博,红色的菱形表示话题A的五篇微博)。

对于一篇新的文章,可以通过计算 得到新文章在该两个维度上的分布。

下图中黑色的圆圈便是新的微博:“Eason演唱会王菲”得到的结果,可以看到在这两个维度上很好的将两个话题区分开了。


好例子补充:

分解实例:https://www.youtube.com/watch?v=KYLjyhcHxJ8

[IR] Concept Search and LSI的更多相关文章

  1. [IR] Concept Search and LDA

    重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...

  2. [Bayes] Concept Search and LSI

    基于术语关系的贝叶斯网络信息检索模型扩展研究 LSI 阅读笔记 背景知识 提出一种改进的共现频率法,利用该方法挖掘了索引术语之间的相关关系,将这种相关关系引入信念网络模型,提出了一个具有两层术语节点的 ...

  3. [IR] Concept Search and PLSA

    [Topic Model]主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis) 感觉LDA在实践中的优势其实不大,学好pLSA才是重点 阅读笔记 ...

  4. [Bayes] Concept Search and LDA

    重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. 相关数学知识 LDA-math-MCMC 和 Gibbs Sampling LDA-math - 认识 Beta/Dirichlet 分 ...

  5. [Bayes] Concept Search and PLSA

    [Topic Model]主题模型之概率潜在语义分析(Probabilistic Latent Semantic Analysis) 感觉LDA在实践中的优势其实不大,学好pLSA才是重点 阅读笔记 ...

  6. 本人AI知识体系导航 - AI menu

    Relevant Readable Links Name Interesting topic Comment Edwin Chen 非参贝叶斯   徐亦达老板 Dirichlet Process 学习 ...

  7. [BOOK] Applied Math and Machine Learning Basics

    <Deep Learning> Ian Goodfellow Yoshua Bengio Aaron Courvill 关于此书Part One重难点的个人阅读笔记. 2.7 Eigend ...

  8. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior

    先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...

  9. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes with Prior

    先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...

随机推荐

  1. ORACLE 内置函数之 GREATEST 和 LEAST(转)

    Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...

  2. TCP/IP协议随笔

    今天翻博客的时候看到了TCP/IP协议相关的几篇文章,写的非常好,LZ打算把其中的重点整理一下,虽然都是一些概念性的东西,平时编码的时候可能用不到,但是起码我们应该知道自己是在哪一层编码,又有哪些协议 ...

  3. HTML 5 断点续上传

    断点上传,java里面比较靠谱一点的,一般都会选用Flex.我承认,Flex只是摸了一下,不精通.HTML 5 有个Blob对象(File对象继承它),这个对象有个方法slice方法,可以对一个文件进 ...

  4. SVN Error:请求的名称有效并且在数据库中找到,但是它没有相关的正确的数据来被解析

    同事安装配置完Svn后一直down不下来文件,报错内容如下: Administrator 18:07:27  Checkout from https:/svn/web, revision HEAD, ...

  5. C#键盘事件处理父窗体子窗体

    :                             :                             MessageBox.Show(, , Keys.F1);            ...

  6. 用oc写爬虫之HTMLParser

    最近刚好有一些小需求,就尝试用OC来写一些简单的爬虫抓取网页上的数据: 发现了一个非常好用的HTMLParser工具 ; 语法是OC的,通过分析网页结构:可以很轻松的抓取需要的数据: 但是提前需要了解 ...

  7. ionic tab显示到顶部去了

    添加配置调整显示位置 .config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) { $ionicConfigP ...

  8. Python实现邮件的批量发送

    Python实现邮件的批量发送 1 发送文本信息 '''加密发送文本邮件''' def sendEmail(from_addr,password,to_addr,smtp_server): try: ...

  9. 最简单的社交分享代码,无需注册OpenID

    包含新浪微博.QQ空间.人人网一键分享,无需注册各个开放平台的OpenID,简单易用. //分享 function share() { var shareLink = location.href; v ...

  10. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...