智能信息检索
最近发现微软关于搜索引擎和信息检索技术的一个课程:《智能信息检索》,虽然这个课程的比较早,技术上比较落后了,但是很多的基础检索、搜索引擎的想法仍然不过时。这篇博文用于记录一些重点内容,详细课程可以去看raw video。



1 search engine overview——system,algorithms and challenges
搜索引擎主要流程如上图,从下到上主要有:

  • Web-Crawler抓取网页。现有的网页总数超万亿,所以需要决定抓取哪些网页,并多长时间来更新网页(网页会有自己的更新与变动),特别是搜索公司只存快照(为了检索速度快,不可能对比所有网页的最新版本)+多服务器备份(防丢失以及多地服务时更快)。
  • page parser找超链接,并决定抽取网页的什么信息。
  • index build倒排索引。正排文档是指一个文档里面包含什么词。而倒排文档:这些词在哪些文档里面(对应用户用query去搜索时往往用短词)。用倒排的好处是搜索不用完全遍历,可以快速得到结果。值得注意的是,倒排里面应该存尽可能多的信息,这样可以方便对文档本身和query都做足够的数据分析。
  • caching存总是搜的query的热门结果。这种对高频的处理能加快响应速度。
  • ranking排序返回给用户。Ranking最大的问题的如何衡量“相关性”,最简单的有tf-idf,bm25等等。返回的结果只做topk,并不是排序所有的结果。

搜索引擎神话:

  • 1人们会被训练。即用户偏向使用容易被检索的query。
  • 2搜索无魔力。需要持续优化和发展。
  • 3大部分的网页并不会被检索到。
  • 4不容易转到另一个搜索系统,除非性能特别突出。
  • 5除了检索,搜索里面还设计到数据管理机器学习等等。
  • 6炫技不是王者,需要把简单做到极致。
  • 7学术和工业存在gap 。
  • 8任何领域都可以做搜索。
  • 9下一代搜索引擎是什么?还不知道,用户会给出答案。

搜索引擎有效的假设:

  • 1用户知道自己要找什么
  • 2找的东西可以被关键词表达
  • 3有文档存在是可以满足用户需求
  • 4文档中是包含检索的关键词
  • 5关键词足够好,可以把好坏区分开来
  • 6文档通过topk可以被排序出来

2 evaluation in information retrieval
主要介绍主流的检索指标:

  • 普通常用,Precision & Recall,F1。
  • 排序价值不一样,P@K,PR Curve,AP,MAP。
  • 只需要一个结果就行(导航类),RR,MRR。
  • 把最好的排到最前面就越好,NDCG。
  • 多样性:和话题有关alpha-nDCG,IA。
  • 其他:RBP,ERR,GAP。


3 machine learning for web search
上图是搜索中常用的技术,从下到上逐渐抽象。

  • 第一层主要是一些基础的技术如分类、聚类、LTR、链接分析、相似度学习等等。
  • 第二层可以利用第一层的基础技术去做一些复杂的事情,如query意图理解,匹配,排序,索引,反欺诈,日志挖掘等等。
  • 第三层是进一步的应用,如各种搜索,问答等等。

主要在第二层技术展开:

  • Query Understanding。主要针对用户的query做三件事情,Query Reformulation:纠错。Query Classification:同义转换。Query Segmentation:切分。
  • Document Understanding。主要是对网页本身的理解,Web Page Information Extraction,可以直接对网页的分块,原数据(标题时间)进行处理,也可以wrapper模版去找一些规则内容,text信息抽取等。或者可以建模话题即Web Page Topic Identification。对网页进行重要度衡量Page Importance Calculation,如pagerank这种计算网页重要度。Web Page Classification,基于语义和基于类型。
  • Query-Document Matching。匹配模型简单如BM25,复杂有马尔科夫随机场,隐空间模型等等。
  • Learning to Rank学习更好的排序,Crawling抓取网页并去重,Presentation如何有效合理的展示信息给用户,Anti-spam检查异常的行为,log mining则是利用离线日志去发展一些共性以帮助优化整个系统。

4 semantic information extraction:overview and basic techniques
语义信息抽取的目的是想把页面上的半结构化的数据变成结构化的,人可以理解的信息。主要可分一下子任务:

  • 命名实体识别
  • 实体层次结构
  • 属性抽取
  • 关系挖掘
  • 事件挖掘

5 web information integration
各种不同表达方式的数据如何聚合。主要分为两步,一是从各个源做数据抽取(具体的做法和上一节的思路类似,比如从网页的layout中提取信息等),第二步就是做数据合并(同一类型放一起等等)。



6 social search & recommentation
关于search一个很重要的概念是share,即不仅仅是为了search,也会需要share这些Information或者受别人的share(如用户share和专家share都算),甚至是大家一起搜索(如一起去旅游等这种社会搜索social search),如上图的query和community的关系。关于social search主要有三个重要点:

  • Awareness:知道自己是在做什么,在什么样的阶段。
  • Division of labor:怎么让很多人方便分工,做不一样的事情。
  • Persistence:怎么展示每个人的信息。

7 learning to rank for information retrieval
信息太多,并且相关的文档也很多,如果得到更好的目标返回是很重要的,以往的技术路线都是通用架构+各种规则和人工经验完成的。而排序学习目标就是设计一个模型来自动从数据中学习一个好的排序。分为三类:

  • Pointwise:降维成回归or分类。缺点1在于抹掉了文档的区别(如只要相关的即为1不相关即为-1等等),忽略了很多的信息;缺点2无法知道谁更好即位置信息。
  • Pairwise:定义文档之间的差别,可以解决point的第一个问题。
  • Listwise:解决文档的位置问题,有两条思路1在所有文档列表上做point或者pair。2学习每个排列的分布靠近真实的分布。缺点在于复杂度高(因为要比所有的排练可能)

未来可以做些什么?

  • Large scale:每天都可以得到很多数据如点击,怎么处理large
  • Robust:点击数据有噪声
  • Online,incremental,active:如何实时线上优化
  • Transfer:如何迁移到各个小section,而不用每次都专门标很多的数据
  • Structural:相关性不是所有,如diversity,此时的whole-page relevance也很重要


8 sentiment analysis and opinion mining
情感分析与意见挖掘,可以应用在商业系统,购物推荐,公共管理,网页广告等方面。情感可以用以下公式来定义:
Sentiment=Holder+Target+PolaritySentiment=Holder+Target+PolaritySentiment=Holder+Target+Polarity即谁来表达,向谁表达,取向性(正负)。具体的流程如上图会先标POS,即命名实体识别如CRF去识别出Holder等,然后针对文本常见词去除,然后得到特征分析观点,即最后做取向性分类。可以在document(全文),sentence(句子),expresstion(词)三个粒度上做。

sentiment analysis与topic classification的区别:

  • Single word:单个词决定就能决定取向,但是话题不行其需要很多词的出现
  • Invertible:加个否定取向就可变
  • Contextual:词在不同的情况不一样
  • Compositional:组合分概念,可正可负
  • Target dependent:针对对象的不一样,成分也会不一样
  • Topic dependent:与话题本身的正负有关

9 web-scale entity search and knowledge mining
如何把网页中的知识抽取和集成起来。

  • Object-level vertical search。Web object==entity。基于对象的搜索不再搜网页,而是搜某个对象(如人物或者产品),垂搜是对特定领域的处理,更关注这个领域的特点和细节。
  • Object-level general search。更通用的搜索方式。

10 visual information retrieval
图像/视频的多媒体检索。分为两个步骤,先提取视觉特征,然后再检索。提特征分为Global feature-based和Local feature-based,由于课程比较早,现在一般不用视频里面的算法了。检索过程主要需要解决的问题就是如何解决Semantic gap,更多的多媒体文章可以看博主以前的博客:传送门 。


11 ranking on large-scale graphs with rich metadata
怎么在大规模的图上进行排序,metadata是指图上的节点和边都有信息(如网页自己的各种属性,网页间有各种形态的超链接)。常用的图有社交图,引用图,共现图,电话图,网格图等等,特点在于大规模,很稀疏,信息多,可能还带有外部知识(如某个点要比其他更重要)。所以重要的目标就是如何利用这些信息去排序(节点排序,边排序,图排序)。

  • 仅仅用图的结构如何排序?HITS和PageRank。
  • 利用图的节点和边信息如何排序?Personalized PageRank,Topic-sensitive PageRank。
  • 更多的外部信息(如人的标定某些点更重要)如何排序?LiftHITS等。

12 machine learning for improving search relevance
主要讨论的就是relevance,即document和query如何matching,主要可以分为五类(其他三类在前面的课程多少提过,Query reformulation,dependency model,latent space不做展开):

  • Matching witch Translation Model。由于不同人写的东西可能是属于不同的语言的,所以希望完成从document和query里面进行translation。可从Word-based,phrase-based,syntax-based三层角度去做。但是会有不同于一般机器翻译的三个问题:1training data:用query的话,语料库词会比文档还多(千奇百怪的web发明),可以使用title-document。2document field:会有很多的信息如何用。3Translation model:该用什么样的model。
  • Matching with Topic Model。topic=a group of words with weights,即word-topic-document,概率图模型比较流行。

13 从物理世界建构智能——移动计算及普适计算的前沿
数据是由直接和间接人生成的,反映着很多的信息,怎么保护隐式,怎么聚合多来源信息,如何速度快如何实时,如何节能省电,如何去获取这些数据。设备的Size决定了人如何和设备进行交互,主要有三种:

  • 厘米级:手机。
  • 分米级:平板。
  • 米级:电脑

普适计算应该是帮助人去完成一些事情,去扩展人的能力,尽可能让人感受不到。


14 knowledge empowered IR
如果没有common sense是很难理解信息的,所以很需要knowledge的帮助。主要有几种常用的:

  • Wordnet。语言学的意义,普通人很难get。
  • wikipedia。大家都能edit,比较乱,很多无用信息。
  • Freebase。人edit的,但是比较偏不够广泛。
  • Probase。比较普适的。

更新文院长的最新2021年的报告内容

搜索的三个阶段:

  • 第一阶段,语法匹配:图书检索。
  • 第二阶段,语义匹配:海量数据互联网搜索。
  • 第三阶段,语用匹配:移动搜索(移动互联网产生的大量数据,如何让移动用户随时获取信息)。

语用的几个关键因素:

  • 循因果、可解释。挖掘出事物内在的运行规律,做到知其然且知其所以然。(可信,公平,可解释,反事实学习)
  • 多轮交互。未来的搜索系统应该扮演人类助手的角色,人类可以与之进行交互,而不仅仅只是单独完成一次次的查询。(困难:意图跟踪、语言问答的生成、结果的评价等,同时也会有缺少数据集的问题)
  • 多模态。结合多个模态的数据帮助人类作出决策。

Intelligent information retrieval(智能信息检索综述)相关推荐

  1. Information Retrieval(信息检索)笔记02:Preprocessing and Tolerant Retrieval

    Information Retrieval(信息检索)笔记02:Preprocessing and Tolerant Retrieval 预处理(Preprocessing) 文档分析及编码转换(Pa ...

  2. Information Retrieval(信息检索)笔记01:Boolean Retrieval(布尔检索)

    Information Retrieval(信息检索)笔记01:Boolean Retrieval(布尔检索) 什么是信息检索(Information Retrieval) 布尔检索(Boolean ...

  3. 微软亚研院 | 智能信息检索综述

    NewBeeNLP原创出品 公众号专栏作者@上杉翔二 悠闲会 · 信息检索 最近发现微软关于搜索引擎和信息检索技术的一个课程:<智能信息检索>,虽然这个课程的比较早,技术上比较落后了,但是 ...

  4. 《introduction to information retrieval》信息检索学习笔记1 布尔检索

    第1章 布尔检索 信息检索的定义:信息检索(IR)是从大型集合(通常存储在计算机上)中寻找满足信息需求的非结构化性质(通常是文本)的材料(通常是文档). 1.1一个信息检索的例子 问题描述:确定莎士比 ...

  5. 《introduction to information retrieval》信息检索学习笔记4 索引结构

    第4章 索引结构(Index construction) 4.1 硬件基础知识(Hardware basics) √为了最大化数据传输速率,一起读取的数据块应在磁盘上连续存储. √操作系统通常读取和写 ...

  6. 《introduction to information retrieval》信息检索学习笔记3 词典和容错式检索

    第3章 词典和容错式检索 3.1 用于词典的搜索结构 给定一个反向索引和一个查询,我们的第一个任务是确定每个查询词是否存在于词汇表中,如果是,则返回指向相应倒排记录表的指针.涉及在数据结构中定位词项. ...

  7. 《introduction to information retrieval》信息检索学习笔记2 词项词汇和倒排记录表

    第2章 词项词汇和倒排记录表 回顾建立倒排索引的主要步骤: 1.收集要索引的文档. 2.词条化文本. 3.对词条进行语言预处理,生成标准化词条. 4.建立倒排索引,索引每个词项出现的文档. 2.1文档 ...

  8. 信息检索领域相关资料 (A Guide to Information Retrieval)

    信息检索领域相关资料 (A Guide to Information Retrieval) Organized by Hongfei Yan Last updated on July 27, 2007 ...

  9. 现代信息检索(Modern Information Retrieval)

    当年好像看到过这门课程,现在还挺后悔没有选修啊,看内容的确应该很不错.赶紧把书买了,回来好好学习学习,希望不晚, 下面是课程相关网页http://ir.ict.ac.cn/ircourse/ 现代信息 ...

  10. 信息检索(Information Retrieval)相关概念

    信息检索(Information Retrieval)相关概念 0 引言 好久没更新了,期末那段时间在突击期末考试,然后寒假又懒惰了一些,疏于学习.这篇算是新年开篇了,在这里笔者先来个迟到的新年祝福, ...

最新文章

  1. 让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码
  2. python newbie——PE No.5
  3. event级别设置Resumable Space Allocation
  4. java什么是稳定排序,这可能是你听说过最快的稳定排序算法
  5. Splash 占位图适配 全面屏笔记
  6. python学习之subprocess模块
  7. html li 做瀑布流,js实现瀑布流效果(自动生成新的内容)
  8. 腾讯申请自动驾驶相关专利 可实现自动变道
  9. oracle11g服务端配置实例,Win7系统Oracle11g服务端和客户端连接数据库配置
  10. 今天迈出第一步,开始了解iphone开发
  11. 深度学习2.0-39.RNN训练难题-梯度弥散与梯度爆炸
  12. aggregate()函数--R语言
  13. java 模板组件_2-1 模块组件模板目录层级及简单定义
  14. 腾讯word2vec模型缩小版
  15. 电脑上传,如何查看电脑上传速度
  16. 什么是建站程序,建站程序有哪些?
  17. 如何给PDF文件添加页码
  18. Markdown学习记录 [ javaSE 基础Ⅰ] Day01
  19. excel下拉列表联动_国家和城市的Excel下拉列表
  20. python 可视化 ploty 画3dmesh网格图

热门文章

  1. 承包一座山能做什么_您为什么没有得到最好的承包商,又能做些什么(第2部分)...
  2. 为什么您没有得到最好的承包商,您将如何做(第2部分)
  3. 如何区分前后端bug
  4. java计算机毕业设计体检系统源码+系统+数据库+lw文档
  5. IdentityServer4揭秘---Consent(同意页面)
  6. Cortex-M3和Cortex-M4 Fault异常基础知识
  7. html画布刮刮乐,h5canvas实现刮刮乐效果的方法
  8. 备战数学建模23-数据包络分析
  9. 英语语法笔记Day7——并列主从句
  10. 给你一个Pull Request的机会