使用Wikipedia中的描述进行空间实体链接

2024-05-19 18:19:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用下面的示例: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

我怎样才能让它写出维基百科的描述


Tags: topathfrominfoidformatifstep
1条回答
网友
1楼 · 发布于 2024-05-19 18:19:22

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

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版本之间可能有点不匹配。您可能已经注意到自述文件以指令“runwikipedia\u pretrain\u kb.py”开头。然而,这样的文件并不存在,只有wikidata_pretrain_kb.py

虽然这一过程确实有效(最终),但最终的训练以每例10秒的缓慢速度进行。对于培训集中的300000个示例,这意味着在默认的10个阶段进行大约一年的培训

有一些说明表明,您不打算运行可用的训练数据。但在这种情况下,在一组重复的数据上运行10个纪元,且回报率递减,这似乎很奇怪

(已于2020年11月更新URL。此示例未从v2过渡到>;v3(尚未?))

相关问题 更多 >