@galaxy-0
2020-03-07T16:21:07.000000Z
字数 1361
阅读 794
text2table
在数据表中,数字是有类型(实数,整数)有单位的,但是在自然语言文本中数字的表示形式多种多样(比如中文数字和阿拉伯数字),单位也不统一,这让正确抽取数字信息变得很困难
日期在数据库也是有特定格式的,但是在实际文本中日期的格式十分复杂,难以统一。同时日期的计算也是一个问题,文本中的时间通常是相对的,比如会谈及“去年”“三年前”等概念,这些时间需要转化成一个统一的时间表达。
这种情况一般发生在列名是特定领域的特定名词,比如一个关于电脑的表里面有一列是生产批次,这个生产批次的表达可能是一串数字和字母的结合,通常只能通过句法分析(该电脑的生产批次为201923DSA)来推断值。
这个可能是text2table这个任务最特殊的一个地方,通常重复的信息不会在自然语言文本中一直重复,但是在表格中会保留很多冗余信息。
比如:一个教职工的表格,有一项是学院名称,那么所有同一个学院的老师在这一项的值都是一样的,但是在自然语言描述中很可能只是“电院的老师有xxx,xxx,xxx”,这种情况下就需要机器能够推断出省略的内容。
例如一个新闻,“校长亲自带队来到了电院,对不能回家的同学xxx,xxx等送上了学校的小礼物”,如果我们需要构建一个留校学生表,模型是否能够识别出xxx和xxx都是电院的学生?
另一个更加常见的例子,考虑一个描述楼盘不同户型信息的表格,里面有类似于可用面积,价格,位置等列,但是自然语言文本很可能不会显式包含这些列而是直接列出值,比如“这套120平的户型在中心的黄金位置,5w/平”,这个时候就需要常识参与去识别出里面的信息分别属
于哪些列。
类似于上面提到的数字和日期,表格的每一列都有自己的取值规范,可能是某一种格式,或者一个固定的可取值集合。比如一个高校信息表,每个老师的职称可选取值是一个预定义的集合,但是具体在文本中对职称的描述可能多样化。又或者这个表中的学院列,每个学院保存在表中的时候通常会使用全称,但是自然语言文本中很可能使用的是缩写或者别名,这就需要一个“归一化”的步骤去统一相同实体的不同称呼。
这同样属于表格的一个显著特点。表格中并不是每一行都会在每一列有值,缺失值在表格中很常见。和这个相关的是添加了“无法回答”这个选项的阅读理解任务,对模型理解文本的能力提出了更高的要求。
这属于表格范式不够严格的结果,当强行使用表格表示一个集合的时候就会出现这种情况。比如“这个项目的负责人包括xxx,xxx和xxx”,如果我们要收集项目的相关信息,那么在负责人这一列就是一个集合的形式,包含多个人名。
这个严格来说并不属于text2table的问题,依旧是那个利润=收入-支出的例子,如果我们需要得到利润的信息但是收集到的文本只涉及收入和支出的数据,模型能够进行计算并得到利润的值。
考虑上面的难题,一个很重要的前提就是我们需要解决哪些难题,并且文本的形式是什么样子的。目前来看,半结构化的文本可能会更加容易抽取表格,比如地址信息,比如在网页上天然分栏的个人信息等等。如果考虑文章资源,那么就会涉及到多个文章的信息抽取和推断,这会带来更加复杂的问题建模。