从文本中高效提取 WikiData 实体
Efficiently extract WikiData entities from text
我有很多文字(百万),从100到4000字不等。文本格式为书面作业,带有标点符号和语法。一切都是英文的。
问题很简单:如何从给定文本中提取每个 WikiData 实体?
一个实体被定义为每个名词,专有的或常规的。即,人名、组织、地点和类似 chair、potatoes 等的东西
到目前为止,我已经尝试了以下方法:
- 用 OpenNLP, and use the pre-trained models 标记文本以提取 people、location、organization 和常规 名词.
- 在适用的地方应用Porter Stemming。
- 将所有提取的名词与 wmflabs-API 匹配以检索潜在的 WikiData ID。
这个有效,但我觉得我可以做得更好。一个明显的改进是在本地缓存 WikiData 的相关部分,我计划这样做。但是,在我这样做之前,我想检查一下是否还有其他解决方案。
建议?
我标记了 Scala 问题,因为我正在使用 Spark 完成任务。
一些建议:
- 将 Stanford NER 与 OpenNLP 进行比较,以了解它在您的语料库上的比较情况
- 我想知道词干提取对大多数实体名称的价值
- 我怀疑您可能会通过将任务分成离散的阶段来丢失信息
- 虽然 Wikidata 是新的,但任务不是,所以您可以查看有关 Freebase|DBpedia|Wikipedia 实体识别|消歧的论文
特别是,DBpedia Spotlight 是专为这项任务而设计的系统。
http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/38389.pdf
http://ceur-ws.org/Vol-1057/Nebhi_LD4IE2013.pdf
我有很多文字(百万),从100到4000字不等。文本格式为书面作业,带有标点符号和语法。一切都是英文的。
问题很简单:如何从给定文本中提取每个 WikiData 实体?
一个实体被定义为每个名词,专有的或常规的。即,人名、组织、地点和类似 chair、potatoes 等的东西
到目前为止,我已经尝试了以下方法:
- 用 OpenNLP, and use the pre-trained models 标记文本以提取 people、location、organization 和常规 名词.
- 在适用的地方应用Porter Stemming。
- 将所有提取的名词与 wmflabs-API 匹配以检索潜在的 WikiData ID。
这个有效,但我觉得我可以做得更好。一个明显的改进是在本地缓存 WikiData 的相关部分,我计划这样做。但是,在我这样做之前,我想检查一下是否还有其他解决方案。
建议?
我标记了 Scala 问题,因为我正在使用 Spark 完成任务。
一些建议:
- 将 Stanford NER 与 OpenNLP 进行比较,以了解它在您的语料库上的比较情况
- 我想知道词干提取对大多数实体名称的价值
- 我怀疑您可能会通过将任务分成离散的阶段来丢失信息
- 虽然 Wikidata 是新的,但任务不是,所以您可以查看有关 Freebase|DBpedia|Wikipedia 实体识别|消歧的论文
特别是,DBpedia Spotlight 是专为这项任务而设计的系统。
http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/38389.pdf http://ceur-ws.org/Vol-1057/Nebhi_LD4IE2013.pdf