当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于词向量的多平台控件对应方法技术

技术编号:15639277 阅读:74 留言:0更新日期:2017-06-15 22:31
本发明专利技术公开了一种基于词向量的多平台控件对应方法,包括如下步骤:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;使用stanford工具对英文文档进行分词得到单词序列;对得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;找到平台网站上的控件描述文本;将这些描述文本分词之后训练得到词向量,进而转化为句向量;计算每两个向量之间的距离,选出相似控件。本发明专利技术根据官方的空间描述找到的多平台控件对应关系可以减少同一平台上版本更替所需要修改的代码,并且会在跨平台代码转化中的UI部分起到相当大的推荐作用。还有,本发明专利技术的思路会对其他的工程设计尤其是API对应有着借鉴意义。

【技术实现步骤摘要】
一种基于词向量的多平台控件对应方法
本专利技术涉及计算机编程领域中的多平台代码转化,具体涉及一种基于词向量的多平台控件对应方法。
技术介绍
随着移动平台版本演化越来越快,平台App工程开发周期不断增加,移动跨平台开发的课题重新归回人们的视野。最新的ReactNative软件似乎再次让我们看到了工程完美转化的希望,不过UI始终是困扰研究学者的一个难题,平台的设计的差异始终难以解决。一般来讲,用法和语言上的差异我们都可以使用底层的接口来解决。所以本文就撇开UI控件的用法,单单寻找控件的对应关系。也许,从工程方法的角度思考更容易让我们理解控件、寻找控件的特点,对文档的挖掘才是找到对应关系的一剂良方。因此本文使用词向量、句向量与欧氏距离这个目前最适合短文本处理的思路对平台的控件描述文本进行计算,尽量保持了文本在句法理解控件上的信息,减少人工干预的程度,得到控件的对应关系。
技术实现思路
专利技术目的:本专利技术所要解决的问题是提供一种自动化的多平台多版本控件对应方法。技术方案:一种基于词向量的多平台控件对应方法,包括如下步骤:步骤1:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;步骤2:使用stanford工具对步骤1所得的英文文档进行分词得到单词序列;步骤3:对步骤2所得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;步骤4:找到平台网站上的控件描述文本;步骤5:将步骤4得到的控件描述文本使用stanford工具分词之后得到每个控件的单词序列;在步骤3中的向量表示中找到每个单词获取这个单词的词向量,对一个句子中的所有词向量求均值得到句向量;步骤6:对于每一个控件,计算其句向量与另一个平台上所有控件句向量的距离,并对计算得到的距离进行排序,得到该控件的最相似控件。所述步骤1中英文文档的来源包括(1)平台官网上的所有介绍;(2)各大网站上的定义;(3)从各种渠道搜索得到的对某个控件的整理资料;(4)在国外网站上搜索博客或者论坛,获取与控件相关的网页的内容。所述步骤2具体为:(1)通过stanford工具中的Analyzer工具去除停止词;(2)通过stanford工具中的StanfordCoreNLP工具对经步骤(1)去除停止词的英文文档分别进行分词、词性标注、断句以及词元化,得到各个单词的原型和词性;(2))各个单词的原型序列即为得到的单词序列。所述步骤5中的句向量计算方法为计算词向量的平均值:将每个单词所对应的词向量直接相加,再除以单词的长度即为所求的句向量。所述步骤6中计算两控件句向量之间的距离使用的是欧式距离:对于两个点A=(a[1],a[2],…,a[n])和B=(b[1],b[2],…,b[n])之间的距离ρ(A,B)定义为下面的公式:ρ(A,B)=√[∑(a[i]-b[i])^2](i=1,2,…,n)其中,√表示根平方计算,∑表示求和计算,^表示次方计算。有益效果:1、可以根据官方文本自动化的找到一个平台某个版本的每个控件在不同平台或者不同版本的对应控件,为页面开发工程师提供方便。2、可以由此方法经过后续的实验得到控件的方法对应,继而得到页面的转化方法。3、为多平台API的对应关系提供一个很好地解决问题的思路。附图说明图1为使用stanford工具分词的源代码截图。图2为word2vec的文件目录。图3为实验的结果截图(也就是得到的控件对应关系)。具体实施方式下面结合附图对本专利技术作更进一步的说明。步骤1、寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;词向量最大的好处在于可以记录一个单词的上下文,也就是说词向量不仅仅记录了这个单词本身而且在此基础上保留了这个单词的位置信息。词向量对一个很大的文本域进行训练,把其中的每一个单词记录成一个向量,由于保持了单词的句法信息,而一个单词出现的位置有很大的偶然性,所以我们需要或许到尽可能大的训练文本域。与此同时,我们需要的是这些单词在控件对应关系领域所表现出来的特征,所以我们所选取的文本域是和控件相关的。我们所获得的文本主要来自以下几个方面:(1)平台官网上的所有介绍。这些介绍包括对控件的介绍,对控件用法的介绍,对页面的介绍等等。使用爬虫技术爬取官方平台上所有与此相关的内容。(2)各大网站上的定义。这些网站包括维基百科、google词典、百度百科等等一系列的介绍性的网站。(3)从各种渠道搜索得到的对某个控件的整理资料。这些资料可以使官方网站的也可以是出自某个开发人员,可以是对某个工程的页面简介也可以是对某个单独控件的使用介绍。(4)在国外网站上搜索博客或者论坛,获取与控件相关的网页的内容。以上所有的资料我一共收集到693k的文本内容,基本上足够我们的训练使用。步骤2、使用stanford的分词工具对步骤1中的英文文档进行分词得到单词序列;由于我们在进行词向量运算的时候使用的是google开发的word2vec工具,而这个工具并不自带分词工具,也就是说这个工具的输入文本是已经经过分词的单词序列。stanford是英文单词分词做的比较出色的工具,在这里我们可以直接使用。在这个过程中我们使用了stanford工具jar包中的两个类:StanfordCoreNLP,Analyzer。Analyzer的作用是去除停止词(stopword)。停止词也就是我们常说的“常用词”,如be,a,the等等,这些单词的的重复大量出现极有可能会影响到实验的效果,因为那些出现次数比较少的单词才是真正能够表现出控件特点的那些词。如图1所示,Analyzer在新建的时候选择需要去除的停止词版本“Version.LUCENE_36”这个版本是是stanford自带的,也可以使用自己定义的停止词集合。Analyzer以文本作为输入,将去除停止词过的序列保存在StopFilter类中。StanfordCoreNLP类的功能更为强大,如图1所示,可以选择多种操作:tokenize(分词),pos(词性标注),ssplit(断句),lemma(词元化)。分词顾名思义,词性标注意思是这个类可以为每一个单词标注出词性,断句是指对词组的提取,词元化是指提取词根,比如将been变成它的词根也就是be。StanfordCoreNLP将输入的文本转成Map输出,这个Map里面就有这个单词的原型和词性。我们把单词的原型放入ArrayList就是我们所需要的单词序列。步骤3:对步骤2所得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;Word2vec是Google在2013年开源的一款将词表征为实数值向量的高效工具。其利用深度学习的思想,可以通过训练,把对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。如果换个思路表达,把词当做特征,那么Word2vec就可以把特征映射到K维向量空间,可以为文本数据寻求更加深层次的特征表示。如图2所示为word2vec的目录结构图,在linux环境下make即可得到所有的可执行文件。将步骤2中的单词序列构成的文件放在这个目录下面,使用如下命令./word2vec-traintest.txt-outputvectors.bin-cbow0-siz本文档来自技高网...
一种基于词向量的多平台控件对应方法

【技术保护点】
一种基于词向量的多平台控件对应方法,其特征在于:包括如下步骤:步骤1:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;步骤2:使用stanford工具对步骤1所得的英文文档进行分词得到单词序列;步骤3:对步骤2所得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;步骤4:找到平台网站上的控件描述文本;步骤5:将步骤4得到的控件描述文本使用stanford工具分词之后得到每个控件的单词序列;在步骤3中的向量表示中找到每个单词获取这个单词的词向量,对一个句子中的所有词向量求均值得到句向量;步骤6:对于每一个控件,计算其句向量与另一个平台上所有控件句向量的距离,并对计算得到的距离进行排序,得到该控件的最相似控件。

【技术特征摘要】
1.一种基于词向量的多平台控件对应方法,其特征在于:包括如下步骤:步骤1:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;步骤2:使用stanford工具对步骤1所得的英文文档进行分词得到单词序列;步骤3:对步骤2所得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;步骤4:找到平台网站上的控件描述文本;步骤5:将步骤4得到的控件描述文本使用stanford工具分词之后得到每个控件的单词序列;在步骤3中的向量表示中找到每个单词获取这个单词的词向量,对一个句子中的所有词向量求均值得到句向量;步骤6:对于每一个控件,计算其句向量与另一个平台上所有控件句向量的距离,并对计算得到的距离进行排序,得到该控件的最相似控件。2.根据权利要求1所述的多平台控件对应方法,其特征在于:所述步骤1中英文文档的来源包括(1)平台官网上的所有介绍;(2)各大网站上的定义;(3)从各种渠道搜索得到的对某个控件的整理资料;(4)在国外网站上搜索博客或者论坛,获取与控件相关的网页的...

【专利技术属性】
技术研发人员:张天潘敏学裴俊宇李宣东
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1