【问题标题】:Spacy - Entity Linking using descriptions from WikipediaSpacy - 使用来自维基百科的描述进行实体链接
【发布时间】:2020-11-17 21:50:15
【问题描述】:

我正在使用此处的示例: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】:

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

    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 个 epoch 上进行大约一年的训练。

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

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

    【讨论】:

    • 你知道是否有一种方法可以在没有维基数据的情况下完成?
    • 实际上,我能够获得训练数据(这确实是我想要的),但是所有“实体”都是空的,即使我知道我使用的模型可以识别它们。跨度>
    • 还没到那一步。 spacy也很新。第一个想法:你找对地方了吗? I.E. 不在存储 POS 标签的地方?
    • 如果有人遇到这个问题 - 我想指出此代码已移至 github.com/explosion/projects/tree/master/nel-wikipedia (spaCy v2)。
    • 谢谢@SofieVL!我已经更新了网址。我不确定一个人在什么“业力水平”上能够编辑他人的答案,但假设你有这个选项,我不会介意。
    猜你喜欢
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多