如何通过比较每个生成令牌和预期令牌的长度差来衡量DSL级别生成代码的准确性?

问题描述

我正在执行一个代码生成任务,该任务使用ML从屏幕截图生成GUI代码。成功生成DSL代码之后,我发现很难按照预期的代码来衡量生成代码与预期代码的准确性,如我在后的文章中所述。表示“ 本文中报告的准确性/错误是通过将每个生成的令牌与每个预期令牌进行比较而在DSL级别上测量的。生成的令牌序列与预期令牌序列之间的长度差异也都计为错误”。

这是我得到的提示的伪代码

     correct = 0
     wrong = 0
     for i in range(0,len(predictions)):
         if np.argmax(predictions[i]) == np.argmax(ground_truth[i]):
             correct += 1
         else:
             wrong += 1
     accuracy = ((correct * 100) / float(correct + wrong))

生成的DSL和预期的文件可以在这里files

中找到

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)