跳到内容

sunlab-osu/TURL公司

文件夹和文件

姓名姓名
上次提交消息
上次提交日期

最新提交

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

存储库文件导航

TURL公司

此回购包含的代码和数据邓翔等,“TURL:通过表征学习的表格理解”,《VLDB捐赠会议论文集》14.3(2020):307-319。如果您在项目中使用TURL,请引用以下文件:

@第{deng2020turl条,title={TURL:通过表示学习的表格理解},author={邓、翔和孙、欢和李、艾丽莎和吴、游和余、聪},journal={VLDB捐赠会议记录},体积={14},数字={3},页面={307-319},年份={2020年},publisher={VLDB捐赠}}

概述_0

环境和设置

该模型主要使用PyTorch公司变压器。您可以访问我们在此处使用的docker图像docker pull xdeng/transformers:最新

数据

可以访问已处理的预培训和评估数据以及模型检查点的链接在这里。这是基于原始WikiTables语料库创建的(http://websair-fe.cs.northwestern.edu/TabEL/)

训练前

数据

这个[分割]_表格.jsonl文件用于预训练和创建所有测试数据集,其中570171/5036/4964个表用于训练/验证/测试。

“_id”:“27289759-6”,#表id“pgTitle”:“2010桑托斯足球俱乐部赛季”,#page title'sectionTitle':'Out',#section title“tableCaption”:“”,#table caption“pgId”:27289759,#wikipedia页面id'tableId':6,#维基百科页面中的表索引“tableData”:[[{“text”:“DF”,#cell value“surfaceLinks”:[{“surfacte”:“DF”,“locType”:“MAIN_TABLE”,“目标”:{“id”:649702,“语言”:“en”,“title”:“Defender_(association_football)”},“linkType”:“INTERNAL”}]#单元格中的URL}#每个单元格一个,…]...]“tableHeaders”:[[“Pos.”,“Name”,“Moving to”,“Type”,“Source”]],#行标题“processed_tableHeaders”:[“pos.”,“name”,“moving to”,“type”,“source”],#将使用的已处理头“merged_row”:[],#合并行,我们通过比较单元格值来识别它们“实体单元格”:[[1,1,1,0,0],…],#该单元格是否为实体单元格,通过检查其中的url获取“entityColumn”:[0,1,2],#该列是否为实体列“column_type”:[0,0,0,4,2],#更精细的调试列类型,这里我们只使用0:entity列“唯一”:[0.16,1.0,0.75,0,0],#该列中唯一实体的比率'entity_count':72,#表中的实体总数'subject_column':1#主题列的列索引

每行代表一个维基百科表。表内容存储在字段中表格数据,其中目标是指向单元格的实际实体链接,也是要检索的实体。这个身份证件标题是实体的Wikipedia_id和Wikipedia _ title。实体单元格实体列显示了通过筛选并标识为包含实体信息的单元格和列。

还有一个实体_声音.txt文件包含我们在所有实验中使用的所有实体(这些是预训练中显示的实体)。每行包含vocab_id、Wikipedia_id、Wikipedia_title、freebase_mid、实体计数

获取给定表的表示形式要将预处理模型用作表编码器,请使用混合表掩码LM模型类。中有一个示例评估任务.ipynb对于单元格填充任务,它还显示了如何获得任意表的表示。

微调和评估

为了系统地评估我们的预培训框架并促进研究,我们编制了一个表格理解基准,包括6项广泛研究的任务,涵盖表解释(例如,实体链接、列类型注释、关系提取)和表扩充(例如,行填充、单元格填充、模式扩充)。

请参阅评估任务.ipynb用于运行不同任务的评估。

实体链接

我们在实体链接中使用两个数据集进行评估。一种是基于我们的train/dev/test分割,每个单元的链接实体是实体链接的目标。对于WikiGS语料库,请在此处找到原始版本http://www.cs.toronto.edu网站/~oktie/网络桌/

我们使用实体名称、实体描述和实体类型来获取用于实体链接的KB实体表示。实体链接有三种变体:0:名称+描述+类型,1:名称+类型,2:名称+描述

评价

请参阅EL公司在里面评估任务.ipynb

数据

数据存储在[拆分].table_entity_linking.json注意,这只包含候选集中带有groundtrue的示例,不包括空候选集或所有错误的示例。

“23235546-1”,#表id“Ivan Lendl职业统计”,#页面标题“单打:19场决赛(8次夺冠,11次助跑)”,#section title“”,#caption['outcome','year',…],#headers(输出)[[0,4],‘比约恩·博格’,[[9,2],‘温布尔登’,…],#单元格,[索引,实体提及(单元格文本)][['Björn Borg','瑞典网球运动员',[]],['Björn Borg','瑞士游泳运动员',[游泳运动员]],…],#候选实体,这是所有单元格的合并集。[实体名称、实体描述、实体类型][0,12,…]#标签,这是候选实体中黄金实体的索引[[0,1,…],[11,12,13,…],…]#每个单元格的候选者

这将使用TURL重新评估候选人。要生成候选人并进行全面评估,请查看笔记本基线/实体链接

列类型批注

我们更新了CT模型,因此现在默认为多标签分类,并使用与我们自己的数据集一致的BCE损失。如果您使用假设每个列都有单个标签的数据集进行测试,则仍然可以使用交叉熵损失。更改model/model.py中的第1098行和第1033行

我们将表中列类型注释的可用信息分为:实体提及、表元数据和实体嵌入。我们在6种设置下进行实验:0:所有信息,1:仅与实体相关,2:仅表元数据,3:无实体嵌入,4:仅提及实体,5:仅嵌入实体

数据

数据存储在[拆分].table_col_type.json。有一个类型_vocab.txt存储目标类型。

“27295818-29”,#表id“2010–11名流浪者f.c.赛季”,#页面标题27295818,#维基百科页面id“总体”,#节标题“”,#caption['competition','started round','final position/round'],#标题[[[0,0],[26980923,‘苏格兰超级联赛’]],[1,0],[18255941,“欧洲冠军联赛”]],...],...,[[1,2],[18255941,‘集团阶段’]],[2,2],[20795986,‘第16轮’]],…]],#单元格,[索引,[实体id,实体提及(单元格文本)]][['time.event']。。。,['time.event']]#列类型注释,一个列可以有多个类型。

关系提取

有一个关系_vocab.txt存储目标关系。[拆分].table_rel_extraction.json文件,每个示例都包含table_id、pgTitle、pgId、secTitle,标题,valid_headers,实体,关系类似于列类型分类。注意这里的关系是主题列(最左边)和每个对象列(其余)之间的关系。这样做是为了避免检查表中的所有列对。

行填充

对于行填充,任务是预测链接到最左侧实体列中实体单元的实体。从中进一步筛选出少量表格test_tables.jsonl测试表最终得到4132张表进行测试。

单元格填充

请参阅预训练和CF在里面评估任务.ipynb。您可以直接在下面加载检查点预先训练的,因为我们没有为单元格填充微调模型。

我们有三个单元格填充基线:完全正确,过氧化氢,H2V(氢气)。标题向量和共现统计信息是预先计算的,请参见基线/单元格填充/单元格填充.py了解详细信息。

架构增强

对于模式增强,填充给定标题和可选种子标题的标题的任务。我们将此视为根据训练数据构造的候选标题集的排序问题。请参阅属性建议在里面评估任务.ipynb

确认

我们使用WikiTable语料库用于开发用于预处理和大多数评估的数据集。我们还采用维基GS用于实体链接的评估。

我们使用多个现有系统作为评估基准。我们采用了作者发布的代码,并进行了一些小的更改以适应我们的设置,请参阅论文以了解更多详细信息。

关于

“TURL:通过表现学习理解表格”的代码和数据

资源

许可证

星星

观察者

叉子

发布

未发布版本

包装

未发布包