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

Spacy - Entity Linking using descriptions from Wikipedia

我正在使用此处的示例:https://github.com/explosion/spaCy/tree/master/bin/wiki_entity_linking

有一个标志可以使用维基百科的描述而不是维基数据。我将其设置为 True(它应该从维基百科数据中获取描述)。但是查看维基数据部分下的代码,

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))

它只是记录一些东西——它实际上似乎并没有创建描述。输出文件有 headers: WD_id|description.

我怎样才能用它来编写维基百科的描述?

我相信所有的动作都发生在你引用的那一行之前:

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/projects/blob/master/nel-wikipedia/wikidata_pretrain_kb.py#L142])

该函数已完成一个文件,位于 https://github.com/explosion/projects/blob/master/nel-wikipedia/wikidata_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 版本之间可能有点不匹配。您可能已经注意到自述文件以指令“运行 wikipedia_pretrain_kb.py”开头。然而,这样的文件并不存在,只有 wikidata_pretrain_kb.py.

虽然这个过程确实有效(最终),但最终的训练以每个示例 10 秒的冰川速度进行。对于训练集中的 300,000 个示例,这意味着在默认的 10 个时期进行大约一年的训练。

有一些说明表明不打算 运行 所有 可用的训练数据。但在那种情况下,运行 10 个时期的重复数据集以 return.

的递减率似乎很奇怪

(2020 年 11 月更新了 URL。此示例未从 v2 -> v3 完成(还没有?))