中文

基于神经样例分割的神经符号正则表达式合成框架

机器学习 2022-05-24 v1 人工智能 形式语言与自动机理论 编程语言

摘要

由于正则表达式(简称 regexes)在实际中的重要意义,已有大量研究致力于从正例和负例字符串中自动生成正则表达式。我们依靠一种称为“神经样例分割”的新方法来解决从正例和负例字符串更快学习正则表达式的问题。我们的方法本质上是使用训练好的神经网络将每个样例字符串按正例字符串中相似子串进行分组,从而分割成多个部分。这有助于更快地学习正则表达式,从而更准确,因为现在我们是从多个短长度字符串中学习。我们提出了一种称为“SplitRegex”的高效正则表达式合成框架,该框架从“分割”出的正例子串合成子正则表达式,并通过拼接这些合成的子正则表达式生成最终的正则表达式。对于负样例,我们在子正则表达式合成过程中利用预生成的子正则表达式,并对负字符串执行匹配。然后最终的正则表达式与所有负字符串保持一致。SplitRegex 是一种用于学习目标正则表达式的分而治之框架:分割(=分)正字符串并为多个部分推断部分正则表达式,这比整串推断准确得多,并在满足负字符串的同时拼接(=治)推断出的正则表达式。我们通过实验证明,所提出的 SplitRegex 框架在四个基准数据集上大幅改进了先前的正则表达式合成方法。

关键词

引用

@article{arxiv.2205.11258,
  title  = {Neuro-Symbolic Regex Synthesis Framework via Neural Example Splitting},
  author = {Su-Hyeon Kim and Hyunjoon Cheon and Yo-Sub Han and Sang-Ki Ko},
  journal= {arXiv preprint arXiv:2205.11258},
  year   = {2022}
}