如何“巧妙地”将公式转换为自然语言的形式?

时间:2012-08-30 08:02:17

标签: android c++ nlp

我最近正在开展一个项目,旨在评估Android应用程序是否崩溃。评估过程是:

  1. 收集日志(记录应用程序的执行过程)。
  2. 生成公式以预测结果(公式由GP生成)
  3. 按公式评估日志
  4. 现在我可以生成公式,但为了方便用户,我想将公式转换为自然语言的形式,并告诉用户为什么会发生崩溃。(我认为它看起来像“逆自然语言处理”。)

    为了更清楚地解释这个想法,假设你有一个这样的公式:

      155 - count(onKeyDown) >= 148
    

    很明显,如果count(onKeyDown)> 7,“155 - count(onKeyDown)> = 148”的结果为false,因此日志中包含7个以上onKeyDown事件将被预测为“失败”。

    我想向用户显示如果onKeyDown事件出现超过7次(155-148 = 7),此应用程序将崩溃。

    然而,真正的公式要复杂得多,例如:

    (< !( ( SUM( {Att[17]}, Event[5]) <= MAX( {Att[7]}, Att[0] >= Att[11]) OR SUM( {Att[17]}, Event[5]) > MIN( {Att[12]}, 734 > Att[19]) ) OR count(Event[5]) != 1 ) > (< count(Att[4] = Att[3]) >= count(702 != Att[8]) + 348 / SUM( {Att[13]}, 641 < Att[12]) mod 587 - SUM( {Att[13]}, Att[10] < Att[15]) mod MAX( {Att[13]}, Event[2]) + 384 > count(Event[10]) != 1))
    

    我尝试用C ++实现这个功能,但这很难,here's the snippet of code我现在正在工作。

    有谁知道如何快速实现这个功能?(可能通过一些工具或研究结果?)欢迎任何想法:)

    提前致谢。

0 个答案:

没有答案