[发明专利]基于自然语言处理与机器学习的自适应文本输入生成方法在审
| 申请号: | 202010723055.0 | 申请日: | 2020-07-24 |
| 公开(公告)号: | CN111966579A | 公开(公告)日: | 2020-11-20 |
| 发明(设计)人: | 杨珉;杨哲慜;张磊;何郁郁;张源 | 申请(专利权)人: | 复旦大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/35;G06F40/205;G06F40/253;G06F40/151;G06F40/126 |
| 代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
| 地址: | 200433 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 自然语言 处理 机器 学习 自适应 文本 输入 生成 方法 | ||
1.一种基于自然语言处理与机器学习的自适应文本输入生成方法,其特征在于,具体分三个阶段:
第一阶段,基于UI结构和机器学习的约束信息提取;首先实时获取安卓应用动态测试过程中的UI界面信息,然后根据界面结构,通过界面差异性分析的方法来提取动态产生的文本信息,接着利用机器学习的方法来识别所有的约束信息,并将其与对应的输入框绑定;
第二阶段,基于自然语言处理的约束信息解析;首先使用预先训练完成的CNN-RNN分类器对第一阶段中提取的所有约束信息进行多分类,然后使用自然语言处理方法对属于不同分类类别的约束进行相应解析处理,从而提取与文本输入相关的关键约束成分;
第三阶段,基于字符串求解器的文本输入的生成;将这些关键约束信息转化成字符串生成器的输入格式,并将产生的输入填入与之绑定的输入框。
2.根据权利要求1所述的文本输入生成方法,其特征在于,所述基于UI结构和机器学习的约束信息提取中,先提取UI上对于文本输入的约束信息;具体而言,首先实时获取被测APP的界面信息,然后结合UI的结构特点和机器学习方法,从UI的文本中提取约束信息,最后将约束信息与对应的输入框绑定;
约束信息识别和提取:在安卓APP中,存在动态和静态两种约束信息;动态约束是指当向输入框输入的信息不正确时,app会以弹窗或当前界面文本变化的方式,向用户展示约束信息;静态约束指在未输入文本前,直接将约束信息提示出来;对于不同类型的约束,处理也不同:对于动态约束,通过行向安卓应用提供一个文本输入后UI界面差异性的分析来提取动态约束信息;对于静态约束,通过机器学习的方法来进行提取;在没有文本输入框的安卓应用UI界面,提取出所有的文本信息作为负样本,同时将提取出来的动态约束作为正样本,以此作为训练集,训练一个是否为约束信息的0-1分类器模型,从而提取静态约束信息;
约束信息绑定:当约束信息提出取来后,通过关键词匹配以及视觉距离最近的方法,将约束信息与其相应描述的文本输入框绑定上,来指导后续生成的文本输入填入安卓应用UI界面上具体的某一个文本输入框;如果约束信息中直接包含输入框类型的关键字,则认为此条约束是对该文本输入框的限制约束;否者,采用视觉距离最近的方法,开发者按一般习惯将约束提示信息展现在距离文本输入框较近的位置,从而更友好地让用户知道需要修改文本输入所对应的文本框。
3.根据权利要求2所述的文本输入生成方法,其特征在于,所述基于自然语言处理的约束信息解析中,基于如下观察:相同类型的约束信息通常具有相似的语法树结构;为了更好地解析约束,首先将待分析的约束按照预定义类别进行分类,然后通过自然语言处理技术将约束信息转化生成对应的语法树,接着从语法树上提取关键的语法节点,最后生成相应的约束表达式;
所述约束信息分类,是将约束信息从语义上分为不同的语义类别;首先由人工分析1200个Google play上的流行应用,找到一定数量约束并加以标注,然后将其分为若干个大约束类别:每个大约束类别再分为若干个约束类别;接着,将人工标注的这些约束作为训练集合,训练一个CNN-RNN的多分类器,并将其用于对第一阶段中提取到的约束进行分类;
所述语法树生成,首先对分类后的约束进行预处理,包括两方面:首先对收集到的句子进行拆分,移除通过0-1分类器判断为非约束的句段,然后对认定为约束的句段中的单词进行归一化处理;最后,调用Stanford Parser将预处理后的约束转化成对应的语法树;
所述约束表达式:根据约束类别和语法树结构,提取语法树上关键约束节点,并生成相应的约束表达式;这里依据约束类别的不同,分别定义了一系列规则,用于提取语法树上关键的语法节点;具体定义三个术语用于表示从语法树上遍历关心的节点:
Select:表示在语法上最终关心的节点位置;
Match:表示获取这些关心节点所要满足的条件;
Generate:表示生成的约束表达式。
4.根据权利要求3所述的文本输入生成方法,其特征在于,所述基于字符串求解器的文本输入的生成中,首先,针对约束表达式内的每一变量生成具体的值;这里包含两类特殊的值,一类是需要提供真实有效的值,对于这类,将直接填入预先注册的合法信息;另一类是包含了对两个文本输入区域限制条件的约束,即两个文本框的输入值存在相互制约关系的情况,对于这类,首先为其中一个产生输入,然后将此输入的值作为另一输入的限制条件;
接着,利用求解器Z3StrSolver作为字符串求解器,生成满足约束的文本输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010723055.0/1.html,转载请声明来源钻瓜专利网。





