coursera课程 text retrieval and search engine 第一周 推荐。数据结构
NLP定义
帮组理解语言句子的含义框架
例子:a dog is chasing a boy on the playground.函数
语义理解的一些分析方面搜索引擎
- Lexical analysis:词汇分析,找到动词,形容词,名词等
- Syntactic analysis : 句法分析;找到词组,好比A DOG,即找到既定的结构
- Semantic analysis:语义分析,好比Dog表明什么
- Inference: 根据语义作推断,上述例子能够推断出一个可能,chasing能够知道这个男孩可能会惧怕狗
- Pragmatic analysis:根据句法自己去推断为何这样作,理解为何有人这样描述,好比多是想让某人把狗唤回来,以避免男孩被狗伤着
Bag of words:保留全部的单词,重复的也会保留,可是不关心单词在生个句子中出现的顺序spa
文本获取的分类
- 相似搜索引擎的Pull模型:用户拥有主动权,它具备Ad hoc属性,就是说暂时性的须要,后续再也不使用,好比搜索到某个关键字的文档后,这个关键字就再也不被使用
查询和浏览的区别:查询是用户知道搜索什么,浏览是将内容放置供人查看,而不是查询orm
- 相似推荐系统的Push模型:系统拥有主动权,一个良好的推荐系统可以给用户推送它真正须要的信息
文本获取的方式
用户给定查询关键字在既有的数据集里头搜索出想要的结果以供浏览。也能够称做”Information Retrieve(IR)”,主要策略集中在 如何经过给定的关键字查到结果。
文本获取的方式通常有两种:排序
- 第一是 document selection,即根据某种函数f给查询q和文件d做用后的结果来分类,[f(q,d)=1 / 0],明确把文档分隔开,要么彻底相关,要么彻底不相关;
- 第二是 Ranking,它是计算相关性,并依次排列顺序,关键在于如何说明某个文件的相关性比另外一个的相关性更大,当相关性大于某个阈值的时候就返回匹配的文件[ f(q,d)>THETA]
文本获取(Text Retrive TR)和DBA对比:TR的数据结构是非结构化的,语义存在歧异,也没有明确代表什么须要返回,于是返回的是相关文件;而DB是结构化的,语义明确,有完整的说明要返回什么,于是返回的是彻底匹配的记录;TR更须要有经验的演变[用户来判别那个结果更好]而来查找结果索引
排序函数的分类
- Similarity-based models ,类似性 f(q,d) = similarity(q,d)
- Probabilistic models ,几率模型 f(d,q) = p(R=1| d,q) r between{0,1},假设查询关键字和文档都是随机变量R的观察结果,对于特定的文档,查询的文档定义分数为R等于1的几率
- probabilistic inference model 几率推断 f(d,q)=p(d->q) ;
- axiomatic model 查找一个rank函数可以知足给定的条件,即为结果
这几种类型有着共同的策略,通常来讲有这么几种方式:文档
- terms frequency(TF) 出现的次数
- document length ,通常了说某个查询关键字在很长的文档里面出现不少的次数比在短文件里面出现次数多显得更无心义,从某种角度来说,长文件出现的关键字原本就趋向于更多
- document frequency(DF) 即关键字在文档出现的次数占总共内容的比例,意在出现频率
向量空间模型简介[Vector space Model(VSM)]
它是一个框架,经过词(Term)向量的方式来表明一个 doc/query,每个Term均可以是不一样的概念,每个又表明不一样的维度,N term表明N维,对于一个Query vector来讲,它能够表示为q=(x1,x2,x3…)每个xi表示term的加权,Doc vector相似,所以查询和文档之间的关系能够相识于q,和d的类似性 relevance(q,d) 类似于 similarity(q,d) = f(q,d)it