-
Notifications
You must be signed in to change notification settings - Fork 499
第一期w4 : 知识检索
倒排索引 - 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账号:
姓名 账号
- 胡杨 superhy
- 徐卓夫 ipush
- 侯月源 moonscar
- 田昌海 Jamestch
- 高晓燕 elisagao
- 侯立莎 yimiwawa
- 耿新鹏 xpgeng
- 梁方舟 pklfz
- 郑胤 Lan09 (TBD)
- 王鸿霄 wang101
- 李靖 L0113408
- 方东昊 Spirit-Dongdong
- 丁海星 godlikedog
- 付 鹏 pengfoo
- 张梦迪 mandyzore
- 佟海奇 tongtongqi
- 郭兴雨 buptguo
- 张志瑛 minenki
- 曹志远 smartczy
- 周祥 ucaszx
- 杨凯文 gentlekevin
- 王震 newle
- 鲍捷 baojie