美文网首页
【读论文】Unseen Entity Handling in C

【读论文】Unseen Entity Handling in C

作者: Jarkata | 来源:发表于2022-04-26 14:55 被阅读0次

    发表会议:EMNLP 2021 Finding
    研究领域:KBQA-SPARQL生成
    作者团队:A*STAR, Singapore (新加坡科技研究局)
    代码仓库:未开源

    论文简介

    现有的KBQA方法,将SPARQL简化为一个list或者一个graph,缺失了"filter"和"order_by"限制,生成简化后的形式。
    本文直接使用大规模的预训练模型生成可执行的未简化的完整的SPARQL,
    最终取得了更好的效果,并且具有更好的可解释性和更高的计算效率。

    主要思路

    将Complex KBQA任务转化为一个language generation任务,使用预训练的encoder-decoder模型直接生成SPARQL。
    这种方法的问题是:如何生成unseen的实体?
    在SPARQL中,实体由ID表示(e.g. 'ns:m.08x9_6'),无法由模型直接生成。
    本文采用自然语言模型生成实体的text label,从而在预测阶段生成unseen的实体。
    具体地,本文使用一个变量(例如'c1')再加filter来表示实体(例如' filter(str(?c1) = “1980 NBA Finals”)')

    本文方法的优势

    1. 使用生成模型一次可以生成整个sparql,而非像迭代式的graph generation方法,一次只能生成一条边或者一个action
    2. sequence generation的方法可解释性更好 (?存疑)
    3. 可以使用大规模预训练模型
    4. 模型可以学习生成constraints

    具体方法

    • 首先使用Freebase API 识别句子中的实体,选择一个作为topic entity,另一个作为限制(预处理)
    • 然后使用encoder-decoder模型生成一个SPARQL列表
    • 最后选择最好的可执行的SPARQL(后处理)

    实验结果

    三个数据集:
    MetaQA
    WebQSP
    CWQ

    主实验结果

    总体效果不错,Beam size取到了100


    不同类型的问题结果分析

    • 1跳,2跳
    • 无约束,有约束
    • filter约束,order_by约束

    消融分析

    • 生成原SPARQL(实体以ID形式生成)
    • 不添加Topic Entity的type
    • 添加Topic Entity的label
    • 同时添加Topic Entity的type和label

    总结

    本文主要提出了一种用Encoder-Decoder模型生成SPARQL的方法,在2021年算是不错的尝试。
    放到现在(2022年),这种方法已经被广泛采用了,如何在Seq2Seq的范式下对现有问题进行优化是一个值得思考的问题。

    相关文章

      网友评论

          本文标题:【读论文】Unseen Entity Handling in C

          本文链接:https://www.haomeiwen.com/subject/udwfyrtx.html