0%

论文概要

自从短文级别(passage-level)的问答匹配需要有效的表征以捕获问题与答案之间复杂的语义关联开始,它就成为一个巨大的挑战。本文我们提出一系列的深度学习模型去解决如何选择短文答案。 将短文答案与符合语义关系的问题相匹配,不同于之前的大多数工作,即只使用一个深度学习结构。我们开发了一个混合模型去处理文本,其中用到了 CNN 和 RNN,结合了两种结构提取语言信息的优点。 此外,还开发了简单而有效的注意力机制。在两个数据集 InsuranceQA and TREC-QA 上显示此模型超出基线。

阅读全文 »

论文概要

主要描述一下该论文 column attention。

Sequence-to-set

直观地说,where 子句中出现的列名是所有列名的子集。因此,我们可以仅仅预测子集中的列名,而不是生成列名序列(博主注:他的意思可能是,不要将 sql 语句中 "select Column A, Column B, Column C..." 的 "Column A, Column B, Column C..." 当做生成序列的任务,而是将其当做 slot filling)。我们把这个想法称为 sequence-to-set 的预测。 尤其是我们计算 \(P_{wherecol}(col|Q)\),其中 col 是列名,q 是自然语言问题。为此,将计算 \(P_{wherecol}(col|Q)\) 表达为 \[ P_{wherecol}(col|Q) = \sigma(u^T_c E_{col} + u^T_q E_Q) \] 其中 \(\sigma\) 是 sigmoid 函数,\(E_{col}\)\(E_Q\) 分别是 column name 和自然语言问题的嵌入, \(u_c\)\(u_q\) 是两个可训练的列向量。。。(后面还有一大段话省略了,主要看 column attention

阅读全文 »

论文概要

论文地址,发表于 2018 年。 - 所用数据集 + WikiSQL

对 text-sql 任务提出了 TypeSQL 模型,将问题视为 slot filiing task,使用 type(详见下面内容) 信息以更好的理解输入中稀有实体和和数字。 对关系型数据库构建一个自然语言接口是一个重要且具有挑战的问题((Li and Jagadish, 2014; Pasupat and Liang, 2015; Yin et al., 2016; Zhong et al., 2017; Yaghmazadeh et al., 2017; Xu et al., 2017; Wang et al., 2017a)。本论文使用 WikiSQL,它是 text-to-SQL 问题的一个巨大的基准数据集。对于该任务,具体来说是给定一个关于数据表的自然语言问题及其协议,系统需要生成与该问题对应的 SQL 查询。 本文基于之前的 state-of-the-art SQLNet(Xu et al., 2017: Sqlnet: Generating structured queries from natural language without reinforcement learning),TYPESQL 使用一个 sketch-based 方法,并将此任务视为 slot filing 问题。 进一步,特定于一个数据库的情况下,自然语言问题通常会包含不常见的实体和数字。之前的一些工作 Agrawal and Srikant, 2003: Searching with numbers 已经展示了这些词汇对许多下游任务起着重要作用,但是在预训练词嵌入模型中,大部分词汇缺乏准确的 embeddings。为了解决这一问题,无论单词来自知识图谱、数据库的列还是数字,TYPESQL 为每一个单词分配一个 type。例如,在图 1 中,我们将“mort drucker”作为 PERSON,对应于我们的知识图谱;将“spoofed title”,“artist”和“issue” 作为 COLUMN,因为它们是数据的列名;最后将 “88.5” 作为 FLOAT。结合这一发明,TYPESQL 进一步提高了 WiKiSQL 上的性能。 此外,先前大部分工作假定用户的查询包含准确的列名和实体,但是这是不切实际的。为了解决这一问题,……。

阅读全文 »

论文概要

论文地址,发表于 2017 年。

思想:将不同领域的数据集合并,以提高训练集大小。 语义分析被认为是将语言语句翻译为可执行的逻辑形式的技术。要做到普遍使用语义分析的一个基本阻碍是在新领域标注逻辑形式的代价太大。为了解决这一问题,先前工作的策略有从 denotations、paraphrases、m declarative sentences 训练。 本论文提出一个正交解:将来自不同域中的多个数据集的样本合并到一起,每个数据集对应一个单独的知识库(KB),并在所有示例上训练模型。这次方法由于观察到知识库在实体和属性上有所不同,但语言组合的结构在领域之间重复,所以由此启发而来。例如,语言中的“最大”对应于“argmax”,动词后跟一个名词通常表示连接操作。与仅在单个领域上训练的模型相比,跨域共享信息的模型可以提高泛化能力。 最近 Jia and Liang, 2016: Data recombination for neural semantic parsing 以及 Dong and Lapata, 2016: Language to logical form with neural attention 提出了用于语义分析的 seq2seq 模型。将语言和逻辑形式简单地表示为向量形式,这些神经网络模型大致上能促进信息共享。我们以他们的工作为基础,研究了在语言编码和逻辑形式解码过程中跨领域共享表示的模型(即研究语言和逻辑形式在不同领域如何表示,如医学和旅游业)。我们最终发现,通过向解码器提供领域的表征,我们可以在多个领域上训练单个模型,并且与在每个领域上分别训练的模型相比,大大提高了准确性。在 Overnight 数据集上提高了性能,并减少了网络参数。

阅读全文 »

论文地址,发表于 2017 年。 这篇论文发布了 wikisql 数据集,同时提出了 seq2sql 任务。

论文概要

本文主要做出两项贡献:1)提出 Seq2SQL,将自然语言问题翻译为其对应的 SQL queries。2)发布 WikiSQL 语料库,其包含 80654 个人工标注的自然语言问题实例, SQL queries 以及从 24241 张 HTML 网页中提取的 SQL 表(网页来自 Wikipedia)。WikiSQL 比以前提供给 logical forms 和自然语句的语义分析数据集大一个数量级。发布 WikiSQL 的同时,我们还发布了一个此数据库的查询引擎(query execution engine)

本论文将自然语言转为 SQL,关系型数据库。而知识图谱是非关系型数据库存储的。

关系型数据库存储了大量的信息并用此构建了许多应用,但是访问关系型数据库需要使用 sql 语句并且很难精通它。于是 Natural language interfaces(NLI) 寻求一条路径使得人类和计算机交互成为可能,即将自然语言翻译为 sql 语句。 balabala... 在 wikisql 数据集上,seq2sql 比先前 Dong & Lapata(2016) 做的语义解析模型效果要好。
阅读全文 »

论文介绍

论文的地址在此,作者使用了 Lua 语言实现,代码地址在这,然而我不会 Lua 语言,于是找了找是否有 Python 的实现版本。还真有,Python 版本代码地址在这。 但是 Python 版本的代码篇幅太长,且几乎没有注释,于是我将其重写了一遍,一些工具类是直接复制别人的,但是核心代码我改写了一下,并添加了一些注释。

我将里面的数据获取模块移除了。

阅读全文 »

  • 机器学习能不能知道“我不知道” 机器学习的 classifier 可以判断一张图片是不是猫,但是能不能判断出“我不知道这是什么”?这项技术叫做 Anomaly Detection
  • 机器说出为什么“我知道”
    • 神马汉斯的例子
    • 马辨识器的例子。机器只是辨识了英文字母 说出为什么“我知道”
  • 机器的错觉?
    • adversarial attack。感觉是 CV 里的技术 机器的错觉
  • 终身学习(Life-long Learning) 机器能否终身学习。现在模型一般只能对应一个任务,如果让一个模型去学习下围棋,之后再让它去学习玩星海。那么它就不会下围棋了。这被为 Catastrophic Forgetting
  • 学习如何学习 如何写一个能够写出具有学习能力的程序的程序。这被称为 Meta-learning/Learn to learn
  • 一定需要很多训练数据吗?
    • Few-shot learning
    • Zero-shot learning
  • Reinforcement learning
  • 神经网络压缩(Network Compression)
    • 把大神经网络路缩小
    • 参数二元化
    • 所有的参数都变成 +1 或 -1
  • 如果训练数据和测试数据长得不一样
    • 对于 CV 来说,训练数据和测试数据长得差不多,比如手写体识别。但是如果在真实场景中,测试数据是彩色的,可能会出现准确率骤降的情况。那么如何解决呢?
      阅读全文 »

概念

半监督学习就是在已有的带标签的数据之后,还有一组不带标签的数据。一般来说,在做无监督学习时,unlabeled data 远大于 labeled data。 半监督学习一般分为两种: - Transductive learning:unlabeled data 就是你的 testing sdata - Inductive learning:unlabeled data 不是你的 testing sdata

阅读全文 »

论文概要

提出一个结构感知的神经架构,将语义解析过程分解为如下两个步骤:给定一个输入语句,1)首先生成它含义的粗略草图(a rough sketch of its meaning),其中低级信息被掩盖(如变量名和参数)。2)然后考虑输入本身和草图来填充丢失的细节。 RNN 在多种 NLP 任务中的成功应用对 seq2seq 的语义解析产生了强大的冲击力,如Jia and Liang, 2016; Dong and Lapata, 2016; Ling et al., 2016。 我们认为,这种方法至少有三个优点。首先,分解步骤将高级语义信息与低级语义信息分离开来,使译码器能够在不同的粒度级别对语义进行建模。其次,模型可以明确地为具有相同草图(即基本含义)的示例共享粗糙结构的知识,即使它们的实际含义表示不同(例如,由于不同的细节)。第三,在生成草图后,解码器知道语句的基本含义是什么,模型可以将其作为全局上下文来改进对最终细节的预测。 使用如下数据集: 1. GEO 2. ATIS 3. DJANGO 4. WikiSQL

阅读全文 »