Skip to main content
QUICK REVIEW

[论文解读] Improved evolutionary generation of XSLT stylesheets

Pablo García‐Sánchez, Juan Luís Jiménez Laredo|ArXiv.org|Mar 13, 2008
Web Data Mining and Analysis参考文献 12被引用 4
一句话总结

本文提出一种遗传编程方法,用于自动演化XSLT样式表,将XML文档转换为期望的输出格式。通过使用包含特定XSLT操作符(template、apply-templates 和 value-of)的受限树形表示,该方法在合理时间内成功生成了正确的转换逻辑,其中Type 2结构(匹配select和match属性)表现出更优性能和更高的正确样式表演化成功率。

ABSTRACT

This paper introduces a procedure based on genetic programming to evolve XSLT programs (usually called stylesheets or logicsheets). XSLT is a general purpose, document-oriented functional language, generally used to transform XML documents (or, in general, solve any problem that can be coded as an XML document). The proposed solution uses a tree representation for the stylesheets as well as diverse specific operators in order to obtain, in the studied cases and a reasonable time, a XSLT stylesheet that performs the transformation. Several types of representation have been compared, resulting in different performance and degree of success.

研究动机与目标

  • 自动化生成用于XML文档转换的XSLT样式表,减少手动编码工作量。
  • 解决为多种XML格式转换创建XSLT程序时的可扩展性与复杂性问题。
  • 评估XSLT程序的不同结构表示形式,以识别在演化搜索中最为有效的形式。
  • 提高演化算法在生成正确、功能性XSLT样式表方面的成功率与效率。
  • 为未来在更复杂和通用的文档转换任务中演化XSLT提供基准参考。

提出的方法

  • 该方法采用基于树形表示的遗传编程,聚焦于XSLT的三种核心指令:template、apply-templates 和 value-of。
  • 定义了两种结构类型(Type 1 和 Type 2):Type 2 强制使 apply-templates 中的 select 属性与 template 中的 match 属性对齐,从而减少搜索空间并降低退化现象。
  • 采用分层方式评估适应度,通过结构与内容相结合的方式比较演化出的样式表输出与目标XML文档。
  • 演化过程使用标准遗传操作(选择、交叉、变异),并调整变异率以平衡探索与开发。
  • 每个输入-输出对均进行30次独立运行,使用固定的XML文档集和目标输出。
  • 该方法通过引入约束,避免产生语法无效或语义退化的解,从而提升收敛速度与可靠性。

实验结果

研究问题

  • RQ1哪种XSLT结构表示形式能更有效地促进正确转换逻辑的演化?
  • RQ2对 apply-templates 与 template match 属性之间关系施加约束,如何影响成功率与收敛速度?
  • RQ3分层适应度评估对多样性损失与搜索性能有何影响?
  • RQ4演化计算能否在无需人工干预的情况下可靠地生成匹配复杂XML转换的XSLT样式表?
  • RQ5不同操作符速率与演化策略如何影响样式表生成的时间与成功率?

主要发现

  • Type 2结构表示形式(即对齐select与match属性)在最困难的输入(文件#6)上实现了30次实验中26次的成功率,显著优于Type 1。
  • 尽管Type 2结构施加了更多约束,但其收敛所需代数与评估次数更少,运行时间也更短。
  • 分层适应度函数导致多样性过早丧失,因此在演化后期需要更深入的探索。
  • 该方法成功为一系列XML转换任务生成了正确的XSLT样式表,包括人类程序员可能需约一小时才能实现的非平凡映射。
  • 该算法展示了基线性能指标,包括评估次数与运行时间,适用于未来比较与改进。
  • 结果支持在语法感知的代码生成中采用约束性演化策略,尤其适用于XSLT等特定领域语言。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。