CN106844339A - 一种基于词向量的多平台控件对应方法 - Google Patents
一种基于词向量的多平台控件对应方法 Download PDFInfo
- Publication number
- CN106844339A CN106844339A CN201710012347.1A CN201710012347A CN106844339A CN 106844339 A CN106844339 A CN 106844339A CN 201710012347 A CN201710012347 A CN 201710012347A CN 106844339 A CN106844339 A CN 106844339A
- Authority
- CN
- China
- Prior art keywords
- word
- control
- vector
- platform
- term vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 14
- 238000013461 design Methods 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000003491 array Methods 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于词向量的多平台控件对应方法,包括如下步骤:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;使用stanford工具对英文文档进行分词得到单词序列;对得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;找到平台网站上的控件描述文本;将这些描述文本分词之后训练得到词向量,进而转化为句向量;计算每两个向量之间的距离,选出相似控件。本发明根据官方的空间描述找到的多平台控件对应关系可以减少同一平台上版本更替所需要修改的代码,并且会在跨平台代码转化中的UI部分起到相当大的推荐作用。还有,本发明的思路会对其他的工程设计尤其是API对应有着借鉴意义。
Description
技术领域
本发明涉及计算机编程领域中的多平台代码转化,具体涉及一种基于词向量的多平台控件对应方法。
背景技术
随着移动平台版本演化越来越快,平台App工程开发周期不断增加,移动跨平台开发的课题重新归回人们的视野。最新的React Native软件似乎再次让我们看到了工程完美转化的希望,不过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-train test.txt-output vectors.bin-cbow 0-size 200-window5-negative 0-hs 1-sample 1e-3-threads 12-binary 1
以上命令表示的是输入文件是test.txt,输出文件是vectors.bin,不使用cbow模型,默认为Skip-Gram模型。每个单词的向量维度是200,训练的窗口大小为5就是考虑一个词前五个和后五个词语(实际代码中还有一个随机选窗口的过程,窗口大小<=5)。不使用NEG方法,使用HS方法。-sampe指的是采样的阈值,如果一个词语在训练样本中出现的频率越大,那么就越会被采样。-binary为1指的是结果二进制存储,为0是普通存储(普通存储的时候是可以打开看到词语和对应的向量的)。其中值得注意的是输出文件vectors.bin中存放的就是所有的单词,单词的后面就是跟的这个单词的词向量。
步骤4、找到平台网站上的控件描述文字;
为了开发人员的使用方便,所有的平台在官方网站上都有对一个控件的描述,这些描述足够让一个原本没有知识的人认识区分出这些控件,所以在本发明中我们使用这些描述来做词向量的处理,以下是Android和IOS的官网控件地址:
Android平台:https://developer.android.com/reference/android/widget/Button.html
IOS平台:
https://developer.apple.com/ios/human-interface-guidelines/ui-controls/text-fields/
将这些获取到的空间描述以控件名称为文件名存放。
步骤5、将这些描述分词之后根据3中的向量表依次转化为词向量,进而转化为句向量;
把步骤4中所得到的空间描述文本分别依次放入stanford的分词工具中,经过分词、去除停止词、还原词根等步骤之后得到了每个控件的单词序列。
获取每一个控件的句向量。实际上句向量的原理很简单,也就是计算词向量的平均值。具体来说也就是把这个控件的每一个单词所对应的词向量直接相加,再除以单词的长度所得到的就是句向量。在一个很大的维度上,这个句向量能够看做保持了所有单词的特点,没有损失任何信息而且易于计算。
步骤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)
其中,√表示根平方计算,∑表示求和计算,^表示次方计算。
对于每一个控件,计算其与另一个平台上所有控件的距离,将这些距离进行排序就可以得到这个控件的最相似控件。对两个平台上的所有控件进行上述操作就可以得到我们想要的控件对应表。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于词向量的多平台控件对应方法,其特征在于:包括如下步骤:
步骤1:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;
步骤2:使用stanford工具对步骤1所得的英文文档进行分词得到单词序列;
步骤3:对步骤2所得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;
步骤4:找到平台网站上的控件描述文本;
步骤5:将步骤4得到的控件描述文本使用stanford工具分词之后得到每个控件的单词序列;在步骤3中的向量表示中找到每个单词获取这个单词的词向量,对一个句子中的所有词向量求均值得到句向量;
步骤6:对于每一个控件,计算其句向量与另一个平台上所有控件句向量的距离,并对计算得到的距离进行排序,得到该控件的最相似控件。
2.根据权利要求1所述的多平台控件对应方法,其特征在于:所述步骤1中英文文档的来源包括(1)平台官网上的所有介绍;(2)各大网站上的定义;(3)从各种渠道搜索得到的对某个控件的整理资料;(4)在国外网站上搜索博客或者论坛,获取与控件相关的网页的内容。
3.根据权利要求1所述的多平台控件对应方法,其特征在于:所述步骤2具体为:
(1)通过stanford工具中的Analyzer工具去除停止词;
(2)通过stanford工具中的StanfordCoreNLP工具对经步骤(1)去除停止词的英文文档分别进行分词、词性标注、断句以及词元化,得到各个单词的原型和词性;(2))各个单词的原型序列即为得到的单词序列。
4.根据权利要求1所述的多平台控件对应方法,其特征在于:所述步骤5中的句向量计算方法为计算词向量的平均值:将每个单词所对应的词向量直接相加,再除以单词的长度即为所求的句向量。
5.根据权利要求1所述的多平台控件对应方法,其特征在于:所述步骤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)
其中,√表示根平方计算,∑表示求和计算,^表示次方计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012347.1A CN106844339B (zh) | 2017-01-09 | 2017-01-09 | 一种基于词向量的多平台控件对应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012347.1A CN106844339B (zh) | 2017-01-09 | 2017-01-09 | 一种基于词向量的多平台控件对应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844339A true CN106844339A (zh) | 2017-06-13 |
CN106844339B CN106844339B (zh) | 2020-04-28 |
Family
ID=59117055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710012347.1A Active CN106844339B (zh) | 2017-01-09 | 2017-01-09 | 一种基于词向量的多平台控件对应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844339B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213515A (zh) * | 2018-07-12 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN112328248A (zh) * | 2019-10-28 | 2021-02-05 | 杭州衣科信息技术有限公司 | 一种基于异步容灾服务系统的iOS平台界面设置方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573046A (zh) * | 2015-01-20 | 2015-04-29 | 成都品果科技有限公司 | 一种基于词向量的评论分析方法及系统 |
CN105718441A (zh) * | 2016-01-13 | 2016-06-29 | 南京大学 | 一种查找不同平台间功能相似ui组件的方法和装置 |
CN105955965A (zh) * | 2016-06-21 | 2016-09-21 | 上海智臻智能网络科技股份有限公司 | 问句信息处理方法及装置 |
-
2017
- 2017-01-09 CN CN201710012347.1A patent/CN106844339B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573046A (zh) * | 2015-01-20 | 2015-04-29 | 成都品果科技有限公司 | 一种基于词向量的评论分析方法及系统 |
CN105718441A (zh) * | 2016-01-13 | 2016-06-29 | 南京大学 | 一种查找不同平台间功能相似ui组件的方法和装置 |
CN105955965A (zh) * | 2016-06-21 | 2016-09-21 | 上海智臻智能网络科技股份有限公司 | 问句信息处理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213515A (zh) * | 2018-07-12 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN109213515B (zh) * | 2018-07-12 | 2021-10-29 | 创新先进技术有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN112328248A (zh) * | 2019-10-28 | 2021-02-05 | 杭州衣科信息技术有限公司 | 一种基于异步容灾服务系统的iOS平台界面设置方法 |
CN112328248B (zh) * | 2019-10-28 | 2021-08-17 | 杭州衣科信息技术股份有限公司 | 一种基于异步容灾服务系统的iOS平台界面设置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106844339B (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861939B (zh) | 一种融合词向量和主题模型的领域实体消歧方法 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN107679039B (zh) | 用于确定语句意图的方法和装置 | |
CN109190049B (zh) | 关键词推荐方法、系统、电子设备和计算机可读介质 | |
CN109960728B (zh) | 一种开放域会议信息命名实体识别方法及系统 | |
US20170004129A1 (en) | Natural Language Relatedness Tool using Mined Semantic Analysis | |
Pasupat et al. | Mapping natural language commands to web elements | |
CN111444320A (zh) | 文本检索方法、装置、计算机设备和存储介质 | |
US9213690B2 (en) | Method, system, and appartus for selecting an acronym expansion | |
CN103823857B (zh) | 基于自然语言处理的空间信息检索方法 | |
CN111611452B (zh) | 搜索文本的歧义识别方法、系统、设备及存储介质 | |
US20100114560A1 (en) | Systems and methods for evaluating a sequence of characters | |
Jabbar et al. | An improved Urdu stemming algorithm for text mining based on multi-step hybrid approach | |
AU2018226420B2 (en) | Voice assisted intelligent searching in mobile documents | |
US20230042683A1 (en) | Identifying and transforming text difficult to understand by user | |
CN104699797A (zh) | 一种网页数据结构化解析方法和装置 | |
CN103106211B (zh) | 客户咨询文本的情感识别方法及装置 | |
CN112860919A (zh) | 基于生成模型的数据标注方法、装置、设备及存储介质 | |
Plu et al. | A hybrid approach for entity recognition and linking | |
CN116258137A (zh) | 文本纠错方法、装置、设备和存储介质 | |
Zhao et al. | A novel chinese relation extraction method using polysemy rethinking mechanism | |
Alrajhi et al. | Automatic arabic part-of-speech tagging: Deep learning neural lstm versus word2vec | |
Prakash Hiremath | Approaches to named entity recognition in indian languages: A study | |
Khan et al. | A clustering framework for lexical normalization of Roman Urdu | |
CN110032619A (zh) | 一种基于深度学习的分词器训练方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |