每周分享-第16期

我会将我每周看到的文章、文档、趣闻中比较有意义有趣的分享在这里,你可以点击标题查看原文,该周分享于每周星期五分享,我将会同步发布在博客以及微信公众号,微信公众号为:trickbox,欢迎关注。

因为微信公众号无法支持外链,所以点击正文下面的阅读原文可以访问我的博客进行查看原文。

新闻

1、VMware近期以48亿美元收购了两家公司

近日,全球最大的虚拟化服务商VMware以21亿美元收购Carbon Black和以27亿美元收购Pivotal,其中的Carbon Black公司主要提供安全服务为主,并有自己的一套框架和产品线,而在我查询到的资料中,Carbon Black公司有多个产品涉及到了云服务安全。

而收购的另一家公司Pivotal则是一家大数据公司,该公司主要方向是研发能在所有客户所在的云服务器上运行的软件以及平台的开放标准,该公司的目的是要成为云计算领域的Linux。

2、星巴克的金融帝国

该篇文章的作者在研究星巴克财务报告的时候,发现了其中星巴克储蓄卡以及APP余额总和负债约为16亿美元,而这16亿美元能代表什么?就相当于是全球所有客户在星巴克中存了16亿美元,换个思维来说,星巴克这是从客户那里获取了免费的借贷。

与Paypal不同,Paypal的负债余约为200亿美元,Paypal的客户就是Paypal的债卷人,但是与星巴克不一样的是Paypal可以随时将余额兑换为法定货币,而星巴克则没有兑换法币,兑换为咖啡是对债卷人的承诺,所以Paypal需要随时保证其资金池中有大量的现金来维护其业务正常运转。

而星巴克则更像一种预支付购买的方式,所以星巴克则完全可以将该负债的金额进行投资,即使亏损也不会影响到正常的运转,并且星巴克每年都会发布一个负债永久丢失,这部分是星巴克客户的储值卡到期后,该金额将会失效,而这部分的负债永久丢失则是星巴克的纯利润。

3、将CPU嵌入到内存设备中

2019年8月19日,法国硬件公司UPMEN宣布,他们成功的将CPU嵌入到内存中,这样的做法在于数据中心和应用程序变得越来越数据密集,处理它们会受到内存和处理内核之间数据移动的能源成本以及它们之间有限带宽的限制。

而从文章中了解到该类设备目前主要针对的客户人群为以AI和ML研究方向的人群,而现在针对于手机的AI处理要求、计算机的AI处理要求提高,不排除以后该类型的硬件设备证明优于现有的硬件设备,而平民化。

4、谷歌建议使用“隐私沙盒”来开发以隐私为重点的广告

8月23日,Google宣布了一项名为“ 隐私沙盒”的新计划,这是一套开放标准,从根本上增强网络隐私,该标准主要提出了一些增强隐私保护的标准方法和接口,其中包括下面的三项:

  • 按类别跟踪用户,而不是单独跟踪 :将广告投放到大型相似人群中,而不会单独识别数据。
  • 不让广告商跟踪特定用户的情况兴趣定位:将访问的网站内容和个性化使其关联,而无需广告商跨网站跟踪特定用户。
  • 检测并防止欺诈行为:例如,解决虚假交易和伪造广告活动

但该标准还在初始阶段,目前Google正在寻求出版商,广告商,网络和技术社区,开发人员以及隐私权倡导者的想法和反馈。

5、流行Javascript库开始在终端显示广告

funding是一个JS流行库,但是在2019年8月19日发布的14.00版本中,开发者宣布安装该库的时候,将向终端输出一个广告,但是该举动导致了社区巨大的反响,其中有人支持,也有人不支持。

而著名的主机服务商Linode则是该项目的第一批签约者,但是该服务商面对巨大的压力,最终在其Twitter上宣布退出该项目的签约。

这也让我想到了另外一个项目OpenCollective,该项目用于输出捐赠请求,而不是广告,这是常见的一种非商业性广告,但同样为广告,该项目则在开源社区中越来越流行,并加入到了更多的开源项目中。

6、博通收购赛门铁克企业安全业务

2019年8月8日,博通正式宣布,将以107亿美元收购杀毒软件厂商赛门铁克旗下企业安全业务,该计划将在2020年1月完成收购。

而博通本身持续在网通应用相关业务发展,但在目前网路连接越来越重视安全防护情况下,博通此次的收购让软件安全防护技术资源与自身的业务进行结合,能在软硬件整合发挥更大效益。

7、可自动修复的生物混凝土

该文章是一篇早期的文章,但是我觉得非常有趣,就发布了出来,该文章指出传统混凝土的裂缝是一种普遍现象,需要在裂开之前进行维护和修复,而代尔夫特大学的微生物学教授Henk Jonkers发明了一种名为“生物混凝土”的产品。

该产品将产生石灰石的细菌以及乳酸钙以胶囊的形式均匀的和混凝土浇筑在一起,正常情况下该产品细菌可以睡眠200年,而如果混凝土产生的裂缝,那么空气和水将激活该细菌,然后细菌以乳酸钙作为其营养素来产生石灰石,进而来自动修复混凝土的裂缝。

8、著名Cam Scanner扫描应用中发现了恶意代码

如果你不熟悉CamScanner软件,但你看到上图中的图片中的LOGO,你可能会听过或者用过该软件,该软件主要用于将纸质文档扫描至手机并形成电子档。

但近日研究人员发现其安卓免费版的应用中隐藏着一个Trojan Dropper模块,可能允许远程攻击者在用户不知情的情况下秘密下载和安装恶意程序,目前Google以将其在应用商店下架。

9、DVD 还没死,Netflix 租出了第 50 亿张 DVD

在现在,家里大部分的人都是使用的流媒体进行观看,比如盒子、类似ChromeCast的投影设备等,而说起DVD,现在只有很少的人在使用DVD观看音像,但就在2019年8月27日,Netflix在DVD业务的官方Twitter上面宣布,Neflix官方宣布他们租出了第50亿张DVD。

可能有很多人在想Netflix不是流媒体服务商吗?Netflix确实是现今美国市场份额最大的流媒体服务商,但是Netflix也是靠DVD租凭起家的,并且通过线上租凭打败了当时美国影视的三大连锁店。

但即使这么多年过去了,Netflix的2019年第二季度财务报告显示该DVD业务依旧为该公司共享了4600万美元的利润。

10、Microsoft将使exFAT支持Linux

微软开发的exFAT文件系统是十多年前在2006年推出的,并且该文件系统一直是作为私有专利在使用,作为FAT系列文件系统中FAT32的继承者,该文件系统广泛的被闪存设备使用。

本月28日,微软官方宣布将开发在Linux内核中包含用于支持USB和SD卡的exFAT文件系统,并且该代码将以GPLv2的许可证进行发布。除此之外,微软还提供了用于的exFAT技术规范来促进开发的需求。

资源

1、用F#100行代码写出一个Excel:该教程用100行F#语言写了一个简单功能的excel

2、salsify:由斯坦福大学研究的开源实时互联网视频系统

3、Airgeddon:用于Linux系统审计无线网络的多用途Bash脚本

4、IPRotate:BurpSuite的插件,使用AWS API Gateway请求,来达到每次BurpSuite的请求能以一个新的IP进行请求

5、NetNewsWire:Mac平台下开源的RSS订阅器

6、PHPStan:PHP的静态BUG分析工具

中文文章无字典新词发现

该文章主要基于《基于改进互信息和邻接熵的微博新词发现方法》[1],以及博客文章《互联网时代的社会语言学:基于SNS的文本数据挖掘》[2]

我参考其两篇文章并用Nodejs实现了其算法,当然,我提供了我实现的代码[3],该代码包含了高于ES5的语法,所以如果你需要运行其代码可能需要使用到Babel转换,该代码提供了基于ES6的import语法导出的接口,你可以直接使用。

该文章主要是针对于文章进行算法运算后,可以做到不基于任何词典进行发现中文新词,中文分词相对于英文分词来说是非常困难的,首先英文分词有空格来分隔每个单词,并完全能够准确切割,但是中文分词来说是非常困难的,比如说"所以如果你需要运行其代码可能需要使用"这段话,让计算机很难区分到底是两个字为一个词还是三个字为一个词。

所以基于上述的问题,国内有非常多的人在着手解决,有很多则是使用机器学习进行训练,采用大量的单词数据进行训练,而还有一部分则是自然语言处理(NLP),而本文章以及参考的文章都是属于NLP范围。

目录

文章主要的算法围绕着下面的三个点进行阐述,而下面的三个点也对应了相应的顺序,并在之后对三个点作出详细的解释以及代码分解后的演示:

  1. N-Gram算法
  2. 互信息
  3. 邻接熵

N-Gram算法

N-Gram算法的基本思想在于将待处理的语料,按照预定大小N的滑动窗口进行切分,按照窗口进行切分后的语料称为一个gram,并统计所有gram的词频率,比如下面的文本,因为词的基本单位为2个字符,所以我将起始值设置为2,最大的宽度为3,即切分文本最长为3个字符组成字符串,通过N-Gram算法,可以很容易的将一段文章切分为词:

原始文本:国内有非常
窗口大小为2的切分结果:国内、内有、有非、非常
窗口大小为3的切分结构:国内有、内有非、有非常

统计词频的意义在于一篇文章的主题在其文章中会多次出现,所以通过控制其词频率,即可以筛选出一批不合格的词,还可以为后期的筛选输入优质的备选词。比如该链接的文章主题为"防敏感信息泄露",然后该"信息泄露"词在整个文章中出现了14次,而我挑选了一个非主题词"场景"只在整篇文章中出现了两次,这个样的单词很明显是属于不需要的词,因为该词与当前文章的关联不高,即使发现出来新词也毫无意义。

互信息

互信息:互信息的作用在于判断一个词在预料中的内部凝固程度,即这个词是偶然拼在一起的还是确实是一个完整的词,而计算互信息实际上就是计算词的整体概率除以词的多种组合的概率,比如北京京后这两个词,北京明显对比京后更像是一个词,而京后这个词更像是偶然拼接到一起的。

比如直接借鉴参考文中的数据,如果“电影”和“院”真的是各自独立地在文本中随机出现,它俩正好拼到一起的概率会有多小。在整个 2400 万字的数据中,“电影”一共出现了 2774 次,出现的概率约为 0.000113 。“院”字则出现了 4797 次,出现的概率约为 0.0001969 。如果两者之间真的毫无关系,它们恰好拼在了一起的概率就应该是 0.000113 × 0.0001969 ,约为 2.223 × 10-8 次方。但事实上,“电影院”在语料中一共出现了 175 次,出现概率约为 7.183 × 10-6 次方,是预测值的 300 多倍。类似地,统计可得“的”字的出现概率约为 0.0166 ,因而“的”和“电影”随机组合到了一起的理论概率值为 0.0166 × 0.000113 ,约为 1.875 × 10-6 ,这与“的电影”出现的真实概率很接近——真实概率约为 1.6 × 10-5 次方,是预测值的 8.5 倍。计算结果表明,“电影院”更可能是一个有意义的搭配,而“的电影”则更像是“的”和“电影”这两个成分偶然拼到一起的。

而通过上面的方式,然后结合其N-Gram分词后的结果,然后计算其互信息,就能够得到一批内部凝固程度高的词,其公式为:

邻接熵

邻接熵:邻接熵的作用在于判断一个词是否是完整词,汉字很难去区分到底是否为完整的词,而邻接熵可以很好的解决这个问题,而邻接熵是基于信息熵来判断,信息熵能够反映一个事情的结果能带来多大的信息量,如果一个已发生的结果概率为p,那么信息熵就为-log(p),而p越小则信息量越大,比如说有一段下面的预料:

原始:说四川省今天天四川省今天听四川省后天

整理后:
说四川省今
天四川省明
听四川省后

这个时候判断四川是否是一个完整的词,可以先列出两边的字并组成一个列表,大概结果如下:

左:[说,天,听]
右:[省,省,省]

而从上面来看,明显可以看出其左边的列表信息量比右边的列表信息量大很多,因为左边的列表有三个不一样的字,而右边则三个一样,所以反向来思考,则可以理解为该词四川左边属于一个完整词开始,而右边则很有可能存在还存在一个字会将四川这个词构造得更完整。而从上面的文本中确实也是这样,因为在这篇语料中四川省更像一个完整的词。

而通过上面的方式,然后结合其互信息筛选后的结果,然后再计算其邻接熵,就能够得到一批整体度很高的一批词,其公式为:

左邻接熵:

右邻接熵:

阀值

从上面三个步骤中都可以设置其阈值,通过N-Gram中的词频来进行设置阈值可以达到让一些偶然出现在文章中的词去除掉,因为这个词在文章中意义不大,即使我们筛选到,而通过互信息则可以筛选出一批内部凝固程度很高的词,最后在通过其设置邻接熵的阈值,可以筛选出一批完整度高的词。

对于邻接熵,在我代码实现的时候,我做了如果不满足我的邻接熵阈值,那么则向相应的方向进行扩展1个字,共扩展4个字,如果还是不满足则丢弃,这样的好处是在于尽量可能的去挖掘去完整的词。

最后附上参考文中的算法流程图,结合上面的信息能够很明白的看懂这张图:

mbn-gram

Footnotes
  1. 基于改进互信息和邻接熵的微博新词发现方法》于2016年发表于计算机应用,作者为:夭荣朋, 许国艳, 宋健. 

  2. 互联网时代的社会语言学:基于SNS的文本数据挖掘》该文章为《基于改进互信息和邻接熵的微博新词发现方法》初版,作者为:Matrix67 

  3. WordsGuess》是基于互信息和邻接熵实现的新词发现工具 

每周分享-第15期

我会将我每周看到的文章、文档、趣闻中比较有意义有趣的分享在这里,你可以点击标题查看原文,该周分享于每周星期五分享,我将会同步发布在博客以及微信公众号,微信公众号为:trickbox,欢迎关注。

因为微信公众号无法支持外链,所以点击正文下面的阅读原文可以访问我的博客进行查看原文。

新闻

1、三星手机三款设备获得STIG认证

SITG是美国国防信息管理局为商用移动设备制定的一套《安全技术实施指南》,如果通过了其规范,则意味着美国国防部以及其下属组织将可以使用这些设备介入安全环境中。
而近期,三星宣布旗下的Galaxy s10全系列(包含5G版)、Galaxy s9以及Galaxy Note9通过其SITG规范。

2、2019年有望成为数据泄露最糟糕的一年

2019年下半年的数据泄露事件数量在2019年上半年同比增长了54%,并且这些数据泄露的数据数量增加了52%,但今年上半年有超过3800个数据泄露事件被报告,其中只有8个暴露了超过32亿条记录,占截至到8月的2019年所有记录的80%。

3、Windows 记事本上线微软应用商店

自从记事本推出以来,这些年来并未发生太大变化。然后在2018年5月,微软宣布他们正在为UnixMac EOL角色添加急需的支持。从那时起,微软推出了一系列新的现代功能,例如环绕搜索,文本缩放,以及更好的UTF-8支持

微软在Windows 10 Insider Build 18963 发布说明中宣布Windows 10 Notepad现在将通过Microsoft Store分发,Windows 10发布周期之外,并允许开发人员尽快推出新的更新和修复。

4、研究发现晚上短时间玩手机可能更易入睡

据国外媒体报道,一项针对老鼠的最新研究表明,偶尔深夜玩手机可能更容易入睡,夜间短暂的手机光线照射并不一定会扰乱你的生物钟,包括睡眠习惯。

这项研究声明白鼠实验并不能完成代表人类,但有一点是很清楚的,长期夜间暴露在灯光下,以及由此导致的睡眠中断,可能对人体健康非常不利。也就是说,人们不能以这项研究为借口,用智能手机通宵看视频。

5、2019年高温已经超过了以往的记录

随着现代的人类活动导致的长期全球变暖,例如燃烧化石燃料用于能源和运输,砍伐森林用于农业和其他目的,都是导致变暖的原因,根据数据统计在记录中前20个最热的年份,只有一个是发生在2000年之前,这也就意味着2000年后,全球大力发展的同时,也让地球的气候正在以一种不可思议的速度上升。

点击该新闻标题,可以查看全球的气候数据,该网站并将1921年-1969年的气候数据与1970-2018年的气候数据制作成了图表,可以非常直观的看见之间的对比。

6、澳大利亚法院裁定手机不是电脑

该事情起因是因为澳大利亚联邦警察以《犯罪法》中的3LA条例获得了一份逮捕令,用于解锁一名男子车中的三星金色手机,但是该男子声称这部电话不属于他的,并且不知道手机的解锁密码。

而在之后时间里,联邦法院裁定联邦警察不能授权进行解锁其手机,这是因为手机不是联邦“犯罪法”所定义的计算机或数据存储设备。

因为在该法律中没有定义计算机的概念,而是将数据存储设备定义为“包含供计算机使用的数据的设备”,而移动电话的主要目的是用于通讯的设备。

7、黑客公布IOS-12.4越狱漏洞

8月19日早晨,知名的IOS黑客Pwn20wnd发布了针对于IOS12.4的越狱漏洞,并且该漏洞可能会影响到IOS当前版本以及更旧的版本。

除此之外,该Pwn20wnd还提到,该漏洞利用代码可能包含在为iPhone用户开发的恶意软件之中,并且可能已经有人在利用这个漏洞。

8、Chrome不再支持FTP协议

近期Chrome将逐步淘汰FTP协议,宣称该协议因安全问题而放弃和浏览器中FTP的使用率低,目前谷歌Chrome的FTP剩余功能仅限于显示目录列表或通过未加密的连接下载资源。

而在计划中2020年第二季度也就是计划的Chrome82版本,将彻底删除FTP相关的代码和资源。

9、Apple Card今天面向所有美国客户推出

在早些时候,Apple发布了Apple card,但是一直没有在任何地区开放使用,直到在2019年8月20日,官方宣布其产品Apple card正式对全美的用户发放使用,除此之外一起开放的还有Apple Card的奖励计划,该奖励计划力度非常大,会将每一笔消费金额的2%返利给消费者,如果是在Apple的自身的应用商店、服务消费,那就将以3%进行返利给消费者,并且该3%适用于通过App Store的内购。

除此之外,与传统卡相比,Apple Card更符合现代的信息安全设计,其卡上没有卡号、CCV号码以及有效期和签名,所以对比传统卡更加的安全。

10、雪球网12 万人数据被泄露

8月21日左右,网上流传称雪球网数据泄露,涉及12万人的数据只卖75美元,包含姓名,身份证,手机,账号/邮箱,密码,持股前3支,持股数,交易风格。对此雪球回应称,不会以任何方式将个人信息泄露给第三方,对此问题已进行核实,并且雪球网还称,会持续提升对用户信息的保护能力。

资源

1、Balsamiq mockups:一款支持多平台的原型设计工具,风格偏手绘风

2、OpenDrop:一款开源的数据传输项目,该项目特点是能与Apple产品中的AirDrop协议兼容。

3、httpd-asm:在X86汇编中的静态服务器

4、Mayan EDMS:一个开源的文档管理系统。其主要目的是存储,内审和分类文件,并且它还可以OCR,预览,标签,签名,发送和接收文件。