移动端所生成大数据的多元用途

2019-09-10 07:22王海
学习与科普 2019年22期
关键词:日志语料库文档

王海

摘 要:在本次研究中,笔者从统计自然语言处理的角度,对移动端生成的异常日志做了一个系统分析。按照实际情况对统计自然语言处理原理进行了阐述。然后,利用统计自然语言处理原理对异常日志做大数据处理应用进行了论述,以供参考。

概述

随着自2010年来,移动网络的迅猛发展,从2G到3G再到4G,还有未来可期的5G。更快捷的移动网络不仅让用户得到了很多互联网服务,而且移动端本身也可以上传各种类型的数据及内容到云端,以供互联网服务提供商进行大数据分析。本文就论述移动端所生成大数据的多元用途、大数据技术处理,以及由此所衍生的技术范畴。

质量分析

通常系统自带应用,如电话、短信等等。以及丰富繁多的第三方应用,如:微信、支付宝等等。衡量系统自带应用和第三方应用这两类应用质量的技术指标有:

1.崩溃率,崩溃即是应用发生了严重的异常,系统强制将应用退出。崩溃率就是,一个应用一天发生的崩溃次数,除以该应用的一天内的启动次数。

3.用户界面的刷新速率。

这三个技术指标,实际上对应着三类异常的发生概率。当三类异常发生时,会产生系统日志,那么,如何收集分散在各地的用户手头上的手机内的异常日志呢?这就需要上报机制,通过移动网络上传到云端。

通过将移动端的崩溃日志,无响应日志上报到云端,就可以找到产生崩溃和无响应的原因,并定位在客户端代码中的不良代码段。把不良代码段进行优化修改,通过验证就可以在下个版本发布出去,那么下个版本的移动端的软件质量就得到了提升。

应用发生空指针异常并崩溃时生成的日志

如果一个应用的日活跃数为一百万,崩溃率为1%,那么云端每天收集到的崩溃日志的份数为:一百万 x 1% = 一万。日活跃数一百万还只是相对较小规模,即便如此每天产生一万份日志,人工也是无法及时处理的。所以就需要借助大数据技术的处理能力。

首先是把日志做分类处理,以便于开发人员分门别类的分析产生异常的原因,因为发生异常的原因有多种,所以产生的异常日志的内容样式也是有多种。这时就需要借助大数据技术的分类算法,来对数量繁多的异常日志进行分类处理了。实际上这里提到的大数据技术,就是统计自然语言处理。接下来的这个段落就是介绍如何将统计自然语言处理运用到异常日志的分类处理。

当今的自然语言处理方式,就是使用數学统计的方式。让计算机处理自然语言,就是在自然语言这种上下文相关的特性建立数学模型。这个数学模型就是在自然语言处理中常说的统计语言模型(Statistical Language Model),它是今天所有自然语言处理的基础。

举个例子,如下这两句话:

△美联储主席昨天告诉媒体7000亿美元的救助资金将借给上百家银行、保险公司。(句一)

△联储美主席昨保险天救助告诉媒体7000亿美上百家银行元资金的将借给、公司。(句二)

统计模型的出发点很简单,并不是理解这句话的语法语义来判别是否合理,而是看它的可能性大小如何。至于可能性就用概率来衡量。句一很通顺好理解,它的出现概率大致是10-20。句二是病句无法理解,它的出现概率大致概率是10-50。因此,句一的出现的概率远大于句二。

这个方法更普遍而严格的描述是:假定S表示某一个有意义的句子,由一连串特定顺序排列的词w1, w2, …, wn组成,这里n是句子的长度。我们想知道S在文本中出现的可能性,也就是数学上所说的S的概率P(S)。因此,需要有个数学统计模型来估算。既然S = w1,w2,…, wn,那么不妨把P(S)展开表示:

P(S) = P(w1,w2,…, wn)

利用条件概率的公式,S这个序列出现的概率等于每一个词出现的条件概率相乘,于是P(S) = P(w1,w2,…, wn)可展开为:

P(S) = P(w1,w2,…, wn)

= P(w1) P(w2 | w1)P(w3 | w1, w2) … P(wn | w1,w2,…, wn-1)

其中P(w1)表示第一个词w1出现的概率;P(w2 | w1)是在已知第一个词的前提下,第二个词的概率;以此类推。不难看出,词wn的出现概率取决于它前面的所有词。

为了减少计算量,就假设任意一个词wi出现的概率只同它前面的词 wi-1有关,于是问题就变得很简单了。这种假设在数学上称为马尔可夫假设。现在S出现的概率就变得简单了:

P(S) = P(w1,w2,…, wn)

= P(w1) P(w2 | w1)P(w3 | w2) … P(wn | wn-1)

此公式对应的统计语言模型是二元模型(Bigram Model)

接下来的问题就是如何估计每个词出现的条件概率P(wi | wi-1)。根据它的定义:

P(wi | wi-1)=P(wi-1,wi)/P(wi-1)

因为有了大量数字化文本,也就是专业人士讲的语料库(corpus),只要数一数wi-1, wi这对词在统计的文本中前后相邻出现了多少次#( wi-1, wi),以及wi-1本身在同样的文本中出现了多少次#(wi-1),然后用#(wi-1, wi)和#(wi-1)这两个数分别除以语料库的大小#,即可得到二元组的相对频度。

根据大数定理,只要统计量足够,相对接频度就等于概率,联合概率和边缘概率就可以这样表达:

P(wi-1,wi)=(wi-1,wi)/# P(wi-1)=(wi-1)/#

再把联合概率P(wi-1,wi)和P(wi-1)边缘概率带入上面的条件概率公式:

P(wi | wi-1)=(wi-1,wi)/(wi-1)

上述的推导过程,还是明确的说明了现代自然语言处理的方式就是使用数学统计的方式。更是一种思维方式的阐述,我们再做自然语言处理的很多细分领域的工作时,都是基于历史已有的语料资源,利用数学统计知识,来估算现有情况和历史相符合的概率大小。

如果要借助统计自然语言处理的方式,对异常日志这一自然语言的特殊子类进行分类,就要做建立异常日志的特有语料库。利用典型类型的异常日志作为语料库的具体实例内容,作为“崩溃、应用无响应、内存溢出错误”这三类异常日志类型的基准,移动端所上报的异常日志和异常日志语料库中的基准,做上述的相似性概率计算,即可得出和哪个类型的异常日志基准相似概率最大,即算作哪个类型的异常日志分类。

这个异常日志分类的数据处理方式,是有监督的处理方式,因为基于异常日志语料库中的基准日志作为标签。通常在提升移动端应用的质量过程中,需要及时修复用户遇到最多的软件异常缺陷。这个需求场景下,就需要把相同位置发生的异常都收集整理到一起组成一个集合,再对多个集合中的异常日志数量做排序,就可以得到用户遇到次数最多的异常。

那么如何将相同位置发生的异常都收集整理到一起组成一个集合呢?同样要利用统计自然语言处理的大数据处理方式,即聚类,放到统计自然语言处理这个范畴内,就是主题模型。

我再回到统计自然语言处理领域探讨主题模型,假如有一篇文章文本,通过里面的词,来确定它是什么类型的文章,如果文章中出现很多体育类的词,比如,篮球,足球之类的,那么主题模型就会把它划分为体育类的文章。主题模型,顾名思义就是文章和主题的对应关系,纳入统计的概念讲就是文章和主题的对应概率计算。显然文章由众多词所组成,也就延伸为:文章-主题-词的关系及相应的概率问题。

LDA(Latent Dirichlet Allocation)的定义:

△是实现主题模型的一种无监督的方法。在训练时不需要手工标注的训练集,需要的是文档集和指定主题的个数。

△是一种典型的词袋模型,它认为一篇文档是由一组词组成的集合,词与词之间没有顺序和先后关系。

△是一种主题模型,它可以将文档集中的每篇文档按照概率分布的形式给出。

△一种典型的词袋模型,它认为一篇文档是由一组词组成的集合,词与词之间没有顺序和先后关系。

LDA的数学解释是:同一主题下,某个词出现的概率,以及同一文档下,某个主题出现的概率,两个概率的乘积,可以得到某篇文档出现某个词的概率。

现有的是词和文章,那么主题是如何冒出来的?这是我比较困惑的。但实际上LDA的输出结果只是对主题模型进行分类,并没有给出具体的主题模型的类别,如:体育、财经这样的具体主题类型并没有给出。

LDA的输入是文档,输出有两项:

△一个评估,多少主题对应一个文档,实际上是概率

△另一个评估,一个主题生成多少词,实际上也是概率

LDA的核心就是这个公式:

P(词 | 文档) = P(词 | 主题)P(主题 | 文档)

数学表达式:

P(w | d) = P(w | t) * P(t | d)

针对异常日志这样的自然语言,就需要把其中发生异常日志的位置字段做高权重运算。这样就可以按照“位置字段”对异常日志进行聚类,生成异常日志的主题模型。

通过上报异常日志数据,对日志数据进行分类和聚类的处理,再解决重点的缺陷,最后通过发布新版本这样的流程,就可以快速高效的提升应用的质量,提升用户体验的同时也就更加圆满的落地了业务。否则在一个崩溃、无响应频发的应用内,业务流程都用可能无法运行通畅,更是无法谈论商业价值了。

这就是一个运用大数据技术,高效提升移动端应用质量的一个范例。

展望,通过移动端应用生成的大数据,还可以进行:

·用户行为分析,哪些位置、樣式、色彩的图标或按钮会比较显著的吸引用户产生点击行为。可以记录用户的点击操作路径,就能够通过产品设计层面,规划出更为符合大众直觉的页面层级。

·商业信息分析,对于电商类移动端应用,可以通过移动端上报的数据,整理分析得出店铺的访购率,客单价

参考文献:

Android全埋点解决方案 王灼洲 著 ISBN:978-7-111-62149-2

统计学习方法 李航 著 ASIN:B01M8KB8FF

刘韵,张遥.大数据管理:概念、技术与挑战[J].数码世界,2016,(6):16~16.

猜你喜欢
日志语料库文档
浅谈Matlab与Word文档的应用接口
高效管理日志文件用命令行就可以
有人一声不吭向你扔了个文档
轻松编辑PDF文档
读扶贫日志
基于语料库翻译学的广告翻译平行语料库问题研究
雅皮的心情日志
雅皮的心情日志
运用语料库辅助高中英语写作
Word文档 高效分合有高招