信息检索

信息检索评价指标

白昼怎懂夜的黑 提交于 2020-03-07 13:37:36
在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近做了一个汇总。 准确率、召回率、F1 信息检索、分类、识别、翻译等领域两个最基本指标是 召回率(Recall Rate) 和 准确率(Precision Rate) ,召回率也叫查全率,准确率也叫查准率,概念公式 : 召回率( R ecall) = 系统检索到的相关文件 / 系统所有相关的文件总数 准确率( P recision) = 系统检索到的相关文件 / 系统所有检索到的文件总数 图示表示如下: 注意:准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了 。一般情况,用不同的阀值,统计出一组不同阀值下的精确率和召回率,如下图: 如果是做搜索,那就是保证召回的情况下提升准确率;如果做疾病监测、反垃圾,则是保准确率的条件下,提升召回。 所以,在两者都要求高的情况下,可以用F1来衡量。 [python] view plain copy F1 = 2 * P * R / (P + R) 公式基本上就是这样,但是如何算图1中的A、B、C、D呢? 这需要人工标注,人工标注数据需要较多时间且枯燥,如果仅仅是做实验可以用用现成的语料。当然,还有一个办法,找个一个比较成熟的算法作为基准

信息检索的过去 当前 未来-------浅层分析报告

…衆ロ難τιáo~ 提交于 2020-02-05 03:42:05
关键字: 信息检索;信息的专业分工; 专业化的信息垂直供应;信息的商品化; 商品化信息的信息;信息加工融合搜索 过去: 信息少,我们只须到163这样的网站上发发邮件,看看新闻,浏览一下图片即可满足我们的需求。 那时,信息少,上网叫冲浪。是个时髦新鲜的玩意。人们不需要关注太多,因为网络还很远。对生产,工作,学习,生活还产生不了多大的影响。 当前: 网络是必须的一个世界。它使得信息在秒级概念下传递。信息爆炸,垃圾成堆,新闻发生和无数互动者,参预者都成为信息制造者,甚至每个人,如果你愿意,你一年至少可以用发表一篇文章。或者你可以写一本书。不需要出版社,不需要政治审核。也不需要你是教授专家。网络的普及,可以说也是对所谓自由度的释放。 未来: 我们自己迷失在自己创造的信息里。或许某个专栏写手,能成为琼瑶的后来者。也许某个人的论文,应该收录进电子图书馆。我们每个人每天创造1000笔信息,却同时需要参考10W笔信息,用以我们的生产,生活,工作,学习。到这时,我们愁的就不是信息量与质的问题。我们开始不得不面对的问题:就是信息的对口供应问题。好比现在的超市:我需要厨房用品我可以直接到专柜。那里的东西分门别类,可挑可选,一应俱全,明码标价。我的成本有四个,因比价降低的成本;时间上节省的成本;总体采购累计量折扣获得的优惠成本;商品集中供应,我能集中采购比较方便而减少的成本。 同比 在信息领域呢

网络信息检索

大城市里の小女人 提交于 2020-01-28 13:53:31
网络信息检索函数 man gethostbyname 1 #include <netdb.h> 2 extern int h_errno; //错误号 3 4 //name一般为域名,通过域名获取主机相关信息 5 struct hostent *gethostbyname(const char *name); 6 7 #include <sys/socket.h> /* for AF_INET */ 8 struct hostent *gethostbyaddr(const void *addr, 9 socklen_t len, int type); 10 11 void sethostent(int stayopen); 12 13 void endhostent(void); //释放hostent结构体的变量值 14 15 void herror(const char *s); //打印出错信息 16 17 const char *hstrerror(int err); //打印出错信息 18 19 /* System V/POSIX extension */ 20 struct hostent *gethostent(void); 21 //返回值:成功返回结构体指针hostent, 错误返回一个空指针。 22 23 The hostent structure is

网络信息检索

倾然丶 夕夏残阳落幕 提交于 2020-01-16 01:24:54
网络信息众多繁复,如何快速有效的检索到自己想要的知识值得我们仔细研究。本文简要介绍以下方面: 文章目录 一、信息检索技术 二、中文学术资源信息查询 三、外文学术资源信息查询 四、其他搜索引擎 五、MOOC及公开课平台 一、信息检索技术 1.布尔逻辑(与/或/非) 2.精确检索 精确检索可称之为词组检索,是把检索词当作一个精确的词组进行检索和匹配,一般在检索词两边用‘’‘’或《》进行标注。其优点是缩小检索范围,提高查准率 3.字段检索 主要针对的是数据库搜索 4.截词与全文检索 截词检索:将检索词截断,取词的一部分并加上截词符进行检索,并认为满足这个词局部中的所有字符(串)的信息,都为命中的信息。主要的截词符有三种:*、?、#。常见截词检索方式 前方截断 :前方截词,后方一致 中间截断 :中间截词,前、后方一致 后方截断 : 后方截词,后方一致 截词的主要目的是提高查全率 全文检索:直接在全文中对系统提问的检索词进行检索,这种检索深入原文内容中,检索面更加宽泛,检索的更直接,更彻底。搜索引擎一般都是全文检索,数据库是字段检索。 5.检索语法 针对搜索引擎特定的语法 文档类型限定:filetype。可以是pdf,ppt,doc,xsl… 网页位置限定:标题、地址栏。Title,intitle,text,url 指定 站点、域名、ip。Site 精确限制。 双引号 “”、书名号《》 二

[信息检索] 第一讲 布尔检索Boolean Retrieval

邮差的信 提交于 2020-01-15 04:57:45
第一讲 布尔检索Boolean Retrieval 主要内容: 信息检索概述 倒排记录表 布尔查询处理 一、信息检索概述 什么是信息检索? Information Retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers). 信息检索是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用户信息需求的资料(通常是文档)的过程。 Document –文档 Unstructured – 非结构化 Information need –信息需求 Collection—文档集、语料库 二、倒排记录表 1、什么是布尔查询? 布尔查询是指利用 AND, OR 或者 NOT操作符将词项 连接起来的查询 如:信息 AND 检索 2、一个信息检索的例子(莎士比亚全集) 不到100万单词,假设每个英文单词平均长度为8字节,则整个全集不到10MB 查询需求: 莎士比亚的哪部剧本包含Brutus及Caesar但是不包含Calpurnia? 查询的布尔表示: Brutus

sphinx 配置sphinx.conf

青春壹個敷衍的年華 提交于 2020-01-12 03:50:06
sphinx的配置文件是在配置的时候最容易出错的了: 基本概念: source:数据源,数据是从什么地方来的。 index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。 searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。 indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。 attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序。 sphinx的配置文件过于冗长,我们把sphinx默认的配置文件中的注释部分去掉,重新进行描述理解,就成下面的样子了: ## 数据源src1 source src1 { ## 说明数据源的类型。数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python是一种语言怎么可以成为数据源呢? ## python作为一种语言,可以操作任意其他的数据来源来获取数据,更多数据请看:(http://www.coreseek.cn/products-install/python/) type = mysql ## 下面是sql数据库特有的端口,用户名,密码,数据库名等。 sql_host = localhost sql_user = test sql

TF-IDF模型的概率解释

旧巷老猫 提交于 2019-12-20 05:42:37
信息检索概述 信息检索是当前应用十分广泛的一种技术,论文检索、搜索引擎都属于信息检索的范畴。通常,人们把信息检索问题抽象为:在文档集合D上,对于由关键词w[1] ... w[k]组成的查询串q,返回一个按查询q和文档d匹配度relevance(q, d)排序的相关文档列表D'。 对于这一问题,先后出现了布尔模型、向量模型等各种经典的信息检索模型,它们从不同的角度提出了自己的一套解决方案。布尔模型以集合的布尔运算为基础,查询效率高,但模型过于简单,无法有效地对不同文档进行排序,查询效果不佳。向量模型把文档和查询串都视为词所构成的多维向量,而文档与查询的相关性即对应于向量间的夹角。不过,由于通常词的数量巨大,向量维度非常高,而大量的维度都是0,计算向量夹角的效果并不好。另外,庞大的计算量也使得向量模型几乎不具有在互联网搜索引擎这样海量数据集上实施的可行性。 tf-idf模型 目前,真正在搜索引擎等实际应用中广泛使用的是tf-idf模型。tf-idf模型的主要思想是:如果词w在一篇文档d中出现的频率高,并且在其他文档中很少出现,则认为词w具有很好的区分能力,适合用来把文章d和其他文章区分开来。该模型主要包含了两个因素: 1) 词w在文档d中的词频tf (Term Frequency),即词w在文档d中出现次数count(w, d)和文档d中总词数size(d)的比值: tf(w,d) =

sphinx的安装

情到浓时终转凉″ 提交于 2019-12-18 05:27:39
一、 Sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。 Sphinx的特性如下: a) 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b) 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c) 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档); d) 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; e) 支持分布式搜索; f) 支持短语搜索 g) 提供文档摘要生成 h) 可作为MySQL的存储引擎提供搜索服务; i) 支持布尔、短语、词语相似度等多种检索模式; j) 文档支持多个全文检索字段(最大不超过32个); k) 文档支持多个额外的属性信息(例如:分组信息,时间戳等); l) 支持断词; 虽然mysql的MYISAM提供全文索引,但是性能却不敢让人恭维,另外数据库毕竟不是很善于做这样的事情,我们需要把这些活让给更适合的程序去做,减少数据库的压力

小白入门知识图谱构建与应用

你。 提交于 2019-12-16 06:51:35
知识图谱的构建技术与应用研究 知识图谱的概念在2012年由Google正式提出,其目的是以此为基础构建下一代智能化的搜索引擎,改善搜索结果质量。知识图谱技术是人工智能技术的重要组成部分,也是当下非常热门的研究方向。文章从知识图谱的概念和技术架构出发,综述知识图谱构建的关键技术,包括知识抽取、知识表示、知识融合、知识推理四大主要内容。同时,对于知识图谱的当下的现实应用作进一步阐述。 目录 1知识图谱概述 2知识图谱构建技术 2.1知识抽取 2.1.1实体抽取 2.1.2关系抽取 2.1.3属性抽取 2.2知识表示 2.2.1代表模型 2.2.2复杂关系模型 2.2.3多源信息融合 2.3知识融合 2.3.1实体链接 2.3.2知识合并 2.4知识推理 3知识图谱的应用 3.1智能搜索 3.2问答系统 3.3社交网络 3.4垂直应用 4总结 参考文献 1知识图谱概述     说起知识图谱,不由得从信息检索开始,从本质上来说,知识图谱是信息检索新时期的产物。信息检索起源于图书馆的参考咨询和文摘索引工作,19 世纪下半叶开始起步,至 20 世纪 40 年代,索引和检索成为图书馆独立的工具和用户服务项目。信息检索是知识管理的核心支撑技术,伴随知识管理的发展和普及,应用到各个领域,成为人们日常工作生活的重要组成部分[1]。伴随着Web技术的不断演进与发展,人类先后经历了以文档互联为主要特征的

Lucene是如何理解文档的 & 文档类型(Types)是如何被实现的

ぐ巨炮叔叔 提交于 2019-12-04 18:56:25
Lucene是如何理解文档的 在Lucene中,一份文档(Document)由一系列简单的 字段-值(field-value) 对组成。一个字段必须有值,同时允许包含多值。同样的,一个单一的字符串在分析处理过程中可能被转换成多个值。Lucene不关心值到底是字符串、数字还是日期——所有的值都以不可理解的比特值(opaque)对待。 当我们在Lucene中索引一份文档时,值和字段在反向索引(inverted index)中被关联起来。可选项的是,是否将原始值存储起来以便今后使用,存储后的值是不可更改的。 文档类型(Types)是如何被实现的 Elasticsearch的类型实现在简单的基础设施之上。一个索引可能存在多种类型,每种类型都有自己的mapping(类型数据库的schema)。同时同一类型下的每份文档都被存储在相同的索引里。 由于Lucene没有文档类型的概念,文档的类型名被存储在文档的一个被称为_type的元数据中。当我们在搜索某种类型的文档,Elasticsearch只是简单地使用该类型的值在_type字段上进行过滤。 Lucene也没有mapping的概念。Mapping是Elasticsearch的一个层,将复杂的JSON文档映射到Lucene能处理的简单的扁平的文档。 来源: oschina 链接: https://my.oschina.net/u/181141