- 简介Python的动态类型系统提供了灵活性和表现力,但可能会导致与类型相关的错误,因此需要自动类型推断来增强类型提示。虽然现有的基于学习的方法显示出有希望的推断准确性,但它们在全面处理各种类型(包括复杂的泛型类型和未见过的用户定义类型)方面存在实际挑战。 在本文中,我们介绍了TIGER,这是一个两阶段生成-排序(GTR)框架,旨在有效处理Python的各种类型类别。TIGER利用经过微调的预训练代码模型来训练一个生成模型和一个相似度模型,生成模型具有跨度屏蔽目标,相似度模型具有对比训练目标。这种方法允许TIGER生成各种类型的候选项,包括在生成阶段中的复杂泛型,并在排名阶段中准确地排名它们与用户定义类型。我们在ManyTypes4Py数据集上的评估显示,TIGER在各种类型类别中具有优势,特别是在Top-5 Exact Match中,推断用户定义和未见过的类型的准确性分别提高了11.2%和20.1%。此外,实验结果不仅证明了TIGER的卓越性能和效率,而且强调了其生成和排序阶段在增强自动类型推断方面的重要性。
- 图表
- 解决问题论文旨在解决Python动态类型系统中类型推断的问题,特别是处理复杂泛型类型和用户自定义类型的挑战。
- 关键思路TIGER是一个两阶段生成-排序(GTR)框架,利用预训练的代码模型训练生成模型和相似度模型,以生成各种类型候选项,并在排序阶段准确地排名它们。
- 其它亮点论文在ManyTypes4Py数据集上评估了TIGER的性能,结果表明TIGER在各种类型类别中优于现有方法,在Top-5 Exact Match中将用户定义类型和未见过的类型的推断准确性分别提高了11.2%和20.1%。此外,实验结果不仅证明了TIGER的卓越性能和效率,还强调了其生成和排序阶段在增强自动类型推断方面的重要性。
- 最近的相关研究包括《DeepTyper: Deep Learning-Based Type Inference for Python》、《PyAnnotate: Automated Type Annotations for Python》等。
沙发等你来抢
去评论
评论
沙发等你来抢