码农场

放牧代码和思想
专注自然语言处理、机器学习算法
    This thing called love. Know I would've. Thrown it all away. Wouldn't hesitate.

最新发布 第16页

word2vec原理推导与代码分析
自然语言处理

word2vec原理推导与代码分析

阅读(33121)评论(57)

本文摘录整编了一些理论介绍,推导了word2vec中的数学原理;并考察了一些常见的word2vec实现,评测其准确率等性能,最后分析了word2vec原版C代码;针对没有好用的Java实现的现状,移植了原版C程序到Java。时间和水平有限,...

基于信息熵和互信息的新词识别
自然语言处理

基于信息熵和互信息的新词识别

阅读(17341)评论(11)

本新词发现模块已经集成到HanLP中开源。 本文是《基于互信息和左右信息熵的短语提取识别》的姊妹篇,文如其名,没什么新意。 谈起“新词识别”“新词发现”,有许多论文慷慨陈词:要设计丰富的特征模板、建立训练语料库、引入CRF、ME、SVM、神...

EM算法及其推广
机器学习

EM算法及其推广

阅读(11926)评论(12)

本文是《统计学习方法》第九章的笔记,注解了原著的部分公式推导,补充了另一个经典的双硬币模型,并且注释了一份数十行的EM算法Python简明实现。 如果概率模型的变量都是观测变量(数据中可见的变量),则可以直接用极大似然估计,或者用贝叶斯估计...

提升方法
机器学习

提升方法

阅读(7888)评论(3)

本文是《统计学习方法》第8章提升方法的笔记,整合了《机器学习实战》中的提升树Python代码,并添加了注解和PR值计算代码。《方法》重理论,但不易理解,《实战》重实践,但缺乏理论基础,特别是AdaBoost算法的解释、提升树与加法模型的关系...

手算RSA
信息安全

手算RSA

阅读(6258)评论(1)

RSA加密算法的地位无需赘述,其代码实现也多如牛毛,但徒手计算的能力仍然是有趣并有用的,这是内在修养。本文关注的是面向手工的计算方法,虽然拓展欧几里得算法不过三五行代码,但给你一支笔和一张纸,如何迅速地算出可靠结果呢? 援引《图解密码技术》...

Java动态修改Enum实例
Java

Java动态修改Enum实例

阅读(10438)评论(6)

众所周知,enum类型实例数量是固定的,甚至还被用来设计单例。但有时候仍然存在需要动态增加Enum实例的场景,这也并非一定是设计失败,也可能是增加灵活性的实际需求,比如一些web框架,再比如HanLP  中的动态用户自定...

OSX app逆向入门
信息安全

OSX app逆向入门

阅读(6120)评论(3)

换到OSX快两个月了,装了个Hopper,回忆起N年前破解某游戏的美好时光,不禁手痒难耐,忍不住拿了某常用Android模拟器试刀。在Windows下已经有人用各种手法干掉了它,OSX上估计还算首次吧。 该模拟器未注册时付费功能按钮是锁定的...

我的作品

HanLP自然语言处理包《自然语言处理入门》