
摘要
针对文本数据的大型预训练语言模型具有无约束的输出空间;在每个解码步骤中,它们可以生成数以万计的子词标记中的任意一个。当这些模型被微调以适应目标受限形式语言(如SQL)时,常常会产生无效代码,导致其无法使用。为此,我们提出了PICARD(代码与训练模型详见 https://github.com/ElementAI/picard),一种通过增量解析来约束语言模型自回归解码过程的方法。PICARD在每个解码步骤中通过拒绝非法标记,帮助模型生成有效的输出序列。在具有挑战性的Spider和CoSQL文本到SQL翻译任务中,我们证明了PICARD能够将原本表现尚可的微调T5模型转化为当前最先进的解决方案。
代码仓库
servicenow/picard
GitHub 中提及
ElementAI/picard
官方
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| dialogue-state-tracking-on-cosql | T5-3B + PICARD | interaction match accuracy: 23.7 question match accuracy: 54.6 |
| semantic-parsing-on-spider | T5-3B + PICARD | Accuracy: 71.9 |
| text-to-sql-on-spider | T5-3B + PICARD | Exact Match Accuracy (Dev): 75.5 Exact Match Accuracy (Test): 71.9 Execution Accuracy (Test): 75.1 |
| text-to-sql-on-spider-1 | T5-3B+PICARD | Exact Match Accuracy (in Dev): 75.5 Execution Accuracy (in Dev): 79.3 |
| text-to-sql-on-spider-1 | T5-3B | Exact Match Accuracy (in Dev): 71.5 Execution Accuracy (in Dev): 74.4 |