Spacy-使用维基百科的描述进行实体链接

问题描述 投票:0回答:1

我从这里使用示例:https://github.com/explosion/spaCy/tree/master/bin/wiki_entity_linking

[存在用于使用Wikipedia而不是Wikidata的描述的标志。我将其设置为True(它应该从Wikipedia数据获取描述)。但是,请查看Wikidata部分下的代码,

if not descr_from_wp:
    logger.info("STEP 4c: Writing Wikidata entity descriptions to {}".format(entity_descr_path))
    io.write_id_to_descr(entity_descr_path, id_to_descr)

这不应该运行,因为if语句为False。但在“维基百科”部分下,

if descr_from_wp:
    logger.info("STEP 5b: Parsing and writing Wikipedia descriptions to {}".format(entity_descr_path))

它只是记录一些内容,实际上似乎并没有创建描述。输出文件的标题为:WD_id|description

如何获得编写维基百科描述的信息?

python spacy named-entity-recognition
1个回答
0
投票

我相信所有操作都会在您引用的行之前发生:

wp.create_training_and_desc(wp_xml, entity_defs_path, entity_descr_path, 
training_entities_path, descr_from_wp, limit_train)

(这是[https://github.com/explosion/spaCy/blob/master/bin/wiki_entity_linking/wikidata_pretrain_kb.py#L142]

该功能是https://github.com/explosion/spaCy/blob/master/bin/wiki_entity_linking/wikipedia_processor.py#L176处的一个文件:

def create_training_and_desc(
    wp_input, def_input, desc_output, training_output, parse_desc, limit=None
):
    wp_to_id = io.read_title_to_id(def_input)
    _process_wikipedia_texts(
        wp_input, wp_to_id, desc_output, training_output, parse_desc, limit
    )

话虽这么说,几天前经历了这个过程,但我的确给人留下了这样的印象,那就是不断变化,描述,实际代码和spacy版本之间可能会有些不匹配。您可能已经注意到自述文件以“ Run wikipedia_pretrain_kb.py”指令开头。但是,这样的文件不存在,只有wikidata_pretrain_kb.py。

尽管该过程确实可行(最终),但每个示例的最终训练速度均为10秒。对于训练集中的300,000个示例,这意味着在默认的10个时期内大约需要一年的训练。

有一些说明建议您不要运行all可用的训练数据。但是在那种情况下,对重复的数据集运行10个历元,而收益率却下降,这似乎很奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.