[原创] 在腾讯云的轻量应用服务器Lighthouse上用Squid开启HTTP代理服务

前段时间我看到腾讯云的促销广告,其“轻量应用服务器”首年的费用才85元(配置:1核CPU,2GB内存,50GB磁盘,带宽4Mbps,流量包500GB/月),可谓相当便宜,于是入手一台,安装了Ubuntu系统,用于一些简单的测试场景。

轻量应用服务器(Lighthouse)是新一代面向中小企业和开发者的云服务器产品,具备轻运维、开箱即用的特点,适用于小型网站、博客、论坛、电商以及云端开发测试和学习环境等轻量级业务场景,相比传统云服务器更加简单易用,并通过一站式融合常用基础云服务帮助用户便捷高效的构建应用,是您使用腾讯云的最佳入门途径。 

阅读更多

[原创] 过劳死和穷死,你希望哪一个先来?(二)

努力活着」
当你有一个机会可以过上朝九晚五的轻松生活,我劝你考虑清楚要不要抓住,打鸡血并不适合每一个人。

♫ 前言
 

    当几位拼多多员工悲伤离世、拼多多退出央视春晚红包合作项目的新闻已经逐渐被人们淡忘,而郑爽代孕的新闻却飞遍大街小巷抓尽眼球的时候,你是否依旧还记得996的苦?
阅读更多

[原创] 过劳死和穷死,你希望哪一个先来?(一)

最近又有两位拼多多的员工去世,而这距离上一个商汤科技的一位技术岗员工英年早逝才刚过了几周。
你没看错,是两个拼多多的员工!其中最近的一个,是昨天(2021年1月9日)才跳楼自杀的!

拼多多的工作强度就不说了,只要你是一个互联网人,一定会听说有多可怕。996算什么?太小儿科了好吧?
拼多多希望员工是个“本分”的人:当拼多多的员工月工时达到300小时,其系统会显示“您已本分”。有没有觉得这个词让人特别不舒适?把人当没有感情的动物看待吗?
大家可以算一下除去休息日,每天要工作多少个小时?没达到这个时长的员工就是不“本分”?有没有刷新你的世界观人生观价值观?
2020年10月,拼多多董事长黄铮在公司5周年讲话时号召全员开启“硬核奋斗模式”,多位员工证实,买菜业务线的员工此前实行超级大小周(工作13天休一天)后来演变成全无休,每天工作时长约12小时。
阅读更多

[原创] 如何把别人共享的Google Drive目录完整拷贝到自己的Google Drive里

假设别人共享了一个Google云端硬盘(Google Drive)的目录,里面有很多大文件,你想把这个目录拷贝到自己的Google Drive里,那么,把它们全部下载到本地、再上传到自己的Google Drive里的做法未免太傻了一点——不仅速度慢,而且太耗流量。

不通过本地中转的“云拷贝”是一个好办法。
Google Drive Copy Folder就是这样一个Google Drive web app,它可以把你有权限访问的Google Drive目录,完整拷贝到你自己的Google Drive指定目录下。
但是要注意,这不是Google官方开发的工具,对安全性有顾虑的人请谨慎审视。
阅读更多

[原创] 使用Apache DataFu中的Coalesce()简化Apache Pig的三元运算符

来看这个例子。有数据文件 1.txt,内容为:

a[\t][\t]c
[\t]f[\t]g
h[\t]k[\t]
[\t][\t][\t]
其中 [\t] 表示制表符(tab),并不是真的在文件中写了 [\t]
在Pig命令行交互模式下加载这个文件,并把其中为空(NULL)的列替换成一些数字:

A = LOAD '1.txt' AS (col1: chararray, col2: chararray, col3: chararray);
B = FOREACH A GENERATE (col1 IS NOT NULL ? col1 : '1') AS col1, (col2 IS NOT NULL ? col2 : '2') AS col2, (col3 IS NOT NULL ? col3 : '3') AS col3;
DUMP B;

输出:

(a,2,c)
(1,f,g)
(h,k,3)
(1,2,3)

代码非常简单:如果第一列col1为空则替换为1,如果第二列为空则替换为2,如果第三列为空则替换为3。
这里使用了三元运算符 ? : 来做这个判断,写法非常丑陋。
阅读更多

[原创] 推荐一款编写数学公式的国产神器:AxMath,可与LATEX双向转换

latex

我一直都很佩服那些可以直接用LATEX语法打出各种复杂数学公式的人,反正我是记不住,而且也真的不想去记LATEX语法。
比如这个公式:
cauchy's inequality

有的人能直接用LATEX手写出来:
\left( \sum_{i=1}^n{a_ib_i} \right) ^2\leqslant \left( \sum_{i=1}^n{a_{i}^{2}} \right) \left( \sum_{i=1}^n{b_{i}^{2}} \right) , a_i,b_i\in \mathbb{R}
这还算简单的了,更复杂的公式大神们都可以直接手写LATEX。
就问你服不服。
在下自愧脑容量不足。
所以当我要输入数学公式的时候,MathType这个功能强大的可视化数学公式编辑器就是我认为最方便易用的软件。
阅读更多

[原创] selenium-java的wait.until(ExpectedConditions)编译出错问题

代码示例:

wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();

在升级了pom.xml中的selenium-java版本到3.141.59后,代码编译出错了(挂在第一行),错误信息:

无法将类 org.openqa.selenium.support.ui.FluentWait<T>中的方法 until应用到给定类型;
[ERROR]   需要: java.util.function.Function<? super org.openqa.selenium.WebDriver,V>
[ERROR]   找到: org.openqa.selenium.support.ui.ExpectedCondition<org.openqa.selenium.Alert>
[ERROR]   原因: 无法推断类型变量 V
[ERROR]     (参数不匹配; org.openqa.selenium.support.ui.ExpectedCondition<org.openqa.selenium.Alert>无法转换为java.util.function.Function<? super org.openqa.selenium.WebDriver,V>)

[原创] 使用 fastText 做中文文本分类(5)

查看本系列文章合集,请看这里

前面说的模型训练、预测过程,是用 fastText 可执行程序完成的。fastText提供了Python的接口,同样的功能也可以用Python实现。如果数据量比较小,单机做文本分类没啥问题。但我的数据量比较大,几十G的文本数据,单机加载模型、预测分类太耗资源了,而且速度慢。
并行这种事嘛,交给Map-Reduce job来做是最合适不过了,不过,要在Hadoop集群上安装fastText的Python包是不可能的,所以我只能找一下,fastText的模型怎么用Java加载,从而在M-R job中并行地去做预测。
阅读更多

[原创] 使用 fastText 做中文文本分类(4)

查看本系列文章合集,请看这里

 开始训练第一个文本分类模型
标注好的数据,其格式为:

__label__科技 月 10 日 网通 社从 高合 汽车 获悉 华人 运通 微软 2020 世界 人工智能 大会 云端 峰会 WAIC 2020 上 达成 战略 合作 依托 微软 小冰 人工智能 技术 高合 汽车 上 落地 全球 首个 主动式 人工智能 伙伴 HiPhiGo 用户 提供 更好 交通 出行 体验 人工智能 交通 行业 创新 融合 发展 探讨 成立 联合 智能 计算 实验室 智能 汽车 载体 智捷 交通 多个 领域 展开 深度 合作 人工智能 前瞻 技术 研发 推动 智慧 出行 社会 持续 发展 微软 亚洲 互联网 工程院 院长 王永东 微软 华人 运通 合作 使 人工智能 技术 切实可行 落地 场景 得以 转化 真实有效 生产力 发挥 更大 价值 微软 华人 运通 携手 推进 人工智能 新兴 科技 汽车 智慧 智慧 出行 领域 广泛应用 产业 升级 社会 持续 发展 注入 新 活力 华人 运通 董事长 丁磊 此次 合作 顶级 人工智能 企业 智能 汽车 公司 强强 联手 AI 多项 领先 技术 全球 汽车行业 首次 量产 落地 世界 内 技术 领先 性 首款 智能 汽车 高合 HiPhi 有条不紊 推进 全球 首条 车路 协同 自动 驾驶 智能化 城市道路 示范 项目 盐城 开通 试运行 再 全球 首个 车路 城 一体化 5G 无人驾驶 交通 运营 样板 上海 张江 未来 公园 成功 落地 华人 运通 以人为本 人性化 需求 出发 人性化 智慧 打造 智能 汽车 智捷 交通 智慧 城市 三智 战略 各项 业务 稳步 推进 高合 首款 量产 车 HiPhi 2020 年底 小批量 试生产 2021 年 上市 交付

按 fastText 的指南,把这份数据按大概 9:1 的比例,分成training集和validation集,然后开始训练模型:

./fasttext supervised -input labeled-data_train -output model

其中,labeled-data_train 是training集文件,model 是输出模型的文件名前缀。
经过一段时间的等待(速度很快),当前目录下就生成了模型文件:model.binmodel.vec
阅读更多

[原创] 使用 fastText 做中文文本分类(3)

查看本系列文章合集,请看这里

为 training 数据做标注,这可能是一个艰巨的任务,也可能是一个有捷径的任务。
有时候,我们可以依据一些已知的规则来标注文本,比如不同的数据是从不同的来源获取到的,从来源可以知道它们所属的类别,这是一个捷径。不过我这里不具备这样的条件。
我的数据来源是网上的各种新闻,不是某些专业领域的数据,这种比较常见的文本分类任务,可以利用国内的几大云服务商提供的免费接口来完成。阿里云、腾讯云都有这样的接口。
以腾讯云为例,其“人工智能→自然语言处理”产品提供了文本分类功能:

文本分类接口能够对用户输入的文本进行自动分类,将其映射到具体的类目上,用户只需要提供待分类的文本,而无需关注具体实现。
该功能基于千亿级大规模互联网语料和LSTM、BERT等深度神经网络模型进行训练,并持续迭代更新,以保证效果不断提升。
目前已提供:
● 通用领域分类体系,包括15个分类类目,分别是汽车、科技、健康、体育、旅行、教育、职业、文化、军事、房产、娱乐、女性、奥运、财经以及其他,适用于通用的场景。
● 新闻领域分类体系,包括37个一级分类类目,285个二级分类(详细请见 类目体系映射表),已应用于腾讯新闻的文章分类。
更多垂直领域的分类体系即将推出,敬请期待。
默认接口请求频率限制:20次/秒。
该API每天有50万次免费调用额度,用来标注数据够用了:
tencent cloud nlp free resource
如果你对这个接口的分类结果准确性有疑虑的话,可以亲自拿一些新闻的文本试一试,就会发现它的效果真的不错,完全可以用来当作人工标注的结果了,毕竟是大厂出品嘛。
阅读更多

[原创] 使用 fastText 做中文文本分类(2)

查看本系列文章合集,请看这里

做好文本预处理,才能输入fastText训练一个效果好的模型出来。

 原文示例
有时我们拿到的源数据是很粗糙的,带有很多会影响模型效果的内容,例如下面这样:

<p>罗望子,是豆科酸豆属唯一的种,是热带乔木,原产于东部非洲,包括马达加斯加落叶森林,但已被引入热带亚洲、拉丁美洲和加勒比海。柽柳是中国海南省三亚的一种城市树木。罗望子最适合生长在温度高、日照长、气候干燥、干湿季节分明的地区。</p><p><img src="http://p0.qhimg.com/t014b83dc78c7cc5000.jpg?size=741x320"/><br /></p><p>罗望子富含糖、乙酸、酒石酸、甲酸、柠檬酸等成分,主要用于调味品、饮料、果酱等食品领域。吃一点罗望子有很多好处。当我们吃罗望子时,罗望子中含有的多糖是一种非常好的抗光物质。当我们吃这种物质时,它可以防止紫外线辐射伤害皮肤。通常吃一点罗望子,饭前吃一点罗望子可以增进食欲,改善我们的饮食质量。在炎热的夏日,吃一点罗望子可以生津止渴,清热解毒,降低中暑的风险。</p><p><img src="http://p1.qhimg.com/t01ecdbbc26c329a78b.jpg?size=533x409"/><br /></p><p>罗望子种子含有丰富的抗氧化物质。多吃罗望子籽可以延缓人体衰老,保持皮肤湿润有光泽。罗望子种子还含有一些清热解毒、消炎的物质,可以帮助我们的人体抵抗一些有害细菌,保护我们的健康。

这里面不仅带有URL、大量的HTML标签,而且还有标点符号等,这些都要清洗掉。
阅读更多

[原创] 使用 fastText 做中文文本分类(1)

查看本系列文章合集,请看这里

 什么是“文本分类”

它是图书馆学, 信息学和计算机科学中的一个问题。其任务是将一个文档分配到一个或者多个类别中。

举例:

文本 类别
瑞幸咖啡今日发布声明称,瑞幸咖啡公司将于6月29日在纳斯达克停牌,并进行退市备案。声明表示,在国内消费市场方面,瑞幸咖啡全国4000多家门店将正常运营,近3万名员工仍将一如既往的为用户提供优质产品和服务。公司衷心感谢广大消费者的支持厚爱,并再次为事件造成的恶劣影响向社会各界诚挚道歉。 财经
明朝中后期西南沿海一个重要的问题就是倭寇的骚扰,这个问题本来是有希望被当时的浙江总督用和平的方法解决掉的,但是中途就出了个王本固这个插曲。 历史

其中,“类别”是事先定义好的。一段文本可以属于多个类别,例如,第2个例子可以同时属于“历史”和“明朝”这两个类别。
阅读更多