我正在尝试在给定文本中查找命名实体。为此,我尝试过使用DBPedia聚光灯服务。
我能够得到回应。但是,DBPedia数据集是有限的,所以我尝试用自己的字典替换他们的spotter.dict文件。我的字典包含每行实体:
Sachin Tendulkar ### PERSON
巴拉克奥巴马### PERSON......等
然后我解析这个文件并构建一个ExactDictionaryChunker
对象。
现在我可以获取实体及其类型(在修改dbpedia代码之后)。
我的问题是:DBPedia聚光灯正在使用Lucene索引文件。我真的不明白他们使用这些文件的目的是什么?
我们可以不使用索引文件吗?什么是索引文件的重要性?
答案 0 :(得分:0)
Lucene在早期的DBpedia Spotlight实现中用于在KB中存储每个实体的模型。此模型用于为我们提供上下文(从输入文本中提取)与实体之间的相关性度量。更具体地说,每个实体由向量{t1: score1, t2: score2, ... }
表示。在运行时,我们将输入文本建模为相同维度的向量,并测量输入向量和实体向量之间的余弦。在您的情况下,您必须将Sachin Tendulkar的向量添加到空间(将文档添加到Lucene索引),以防它已经存在。不过,最新的实现已经从Lucene转移到内部内存上下文存储。 https://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki/Internationalization-(DB-backed-core)