Skip to content

第一期w4 : 知识检索

Xinpeng Geng edited this page Jul 7, 2016 · 1 revision

倒排索引 - Inverted Index

an inverted index (also referred to as postings file or inverted file) is an index data structure storing a mapping from content, such as words or numbers, to its locations in a database file, or in a document or a set of documents -- from Wikipedia

倒排索引的基本概念 -- From 《这就是搜索引擎》

文档(document): 网页,实体,Word doc,PDF doc, etc

文档编号(document id):文档的唯一标识

单词编号(Word id): 单词的唯一标识

单词词典(Lexicon):文档中出现的所有词合集

倒排列表(PostingList):单词在该文档中出现的位置

倒排文件(Inverted File): 存储倒排索引的物理文件

倒排索引例图:

向量空间模型和TF×IDF(Vector Space Model and TF×IDF)

向量空间模型是一个把文本文件表示為标识符(比如索引)向量的代数模型。

推荐阅读:https://en.wikipedia.org/wiki/Vector_space_model 中文:https://zh.wikipedia.org/wiki/%E5%90%91%E9%87%8F%E7%A9%BA%E9%96%93%E6%A8%A1%E5%9E%8B

Wikipedia上面已经基本上把向量空间模型以及与TF×IDF的关系/应用说清楚了

在聚会上我们会举个简单的例子,一个文本文件怎么用向量空间模型和TF*IDF表示,以及在知识检索中的应用。

向量空间模型和TF×IDF,在很多NLP领域中也有很多应用:document classification, similarity computation,等

Lucene

Apache LuceneTM is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.

Pylucene: http://lucene.apache.org/pylucene/ (lucene的python接口)

Solr: http://lucene.apache.org/solr/ (基于lucene做的一个scalable搜索平台,跟elasticsearch有点像)

Lucene: http://lucene.apache.org/core/6_1_0/demo/overview-summary.html

这里面有一些sample code,读完这个demo和tutorial,基本上读完,走完这个流程,能弄出一个简单的Lucene based搜索/检索引擎

Elasticsearch

Elasticsearch是集合了多种数据分析

其中文本检索功能用到的是Lucene

Full-Text Search

Elasticsearch builds distributed capabilities on top of Apache Lucene to provide the most powerful full- text search capabilities available. Powerful, developer-friendly query API supports multilingual search, geolocation, contextual did-you-mean suggestions, autocomplete, and result snippets.

Elasticsearch: https://www.elastic.co/products/elasticsearch

Tutorial: http://joelabrahamsson.com/elasticsearch-101/

https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html

上面是简单的tutorial,这次聚会我们会走一遍这个过程,有什么问题大家可以一起讨论解决

More

可以用Lucene/Elasticsearch 检索knowledge graph上的entities,然后做一些entity搜索,entity消歧的应用

使用了Lucene的内核:

Entity Search:

Entity Linking:

作业 Homework

ISWC data? 检索 - 互联 之后补上 。。。

知识图谱学习小组第四次线下活动:

  • 特邀嘉宾:郑锦光老师
    • 课件分享:PPT

#KG小组北京一期成员github账号:

 姓名       账号 
  1. 胡杨 superhy
  2. 徐卓夫 ipush
  3. 侯月源 moonscar
  4. 田昌海 Jamestch
  5. 高晓燕 elisagao
  6. 侯立莎 yimiwawa
  7. 耿新鹏 xpgeng
  8. 梁方舟 pklfz
  9. 郑胤 Lan09 (TBD)
  10. 王鸿霄 wang101
  11. 李靖 L0113408
  12. 方东昊 Spirit-Dongdong
  13. 丁海星 godlikedog
  14. 付 鹏 pengfoo
  15. 张梦迪 mandyzore
  16. 佟海奇 tongtongqi
  17. 郭兴雨 buptguo
  18. 张志瑛 minenki
  19. 曹志远 smartczy
  20. 周祥 ucaszx
  21. 杨凯文 gentlekevin
  22. 王震 newle
  23. 鲍捷 baojie
Clone this wiki locally