放牧代码和思想
专注自然语言处理、机器学习算法

自然语言处理

Michael Collins NLP公开课任务4 GLM

Michael Collins NLP公开课任务4 GLM

hankcs阅读(316)评论(2)

最后一次练习,对应课程结尾的对数线性模型框架;于是又拿下一门课。在这次练习中,我们将使用感知机算法训练一个GLM应用到命名实体识别上。对输入实例,GLM使用如下三个组件完成解码: 一个函数生成所有可能的结果 一个全局特征函数 一个参数向量 ...

Michael Collins NLP公开课任务3 机器翻译

Michael Collins NLP公开课任务3 机器翻译

hankcs阅读(289)评论(0)

说是机器翻译,其实只涉及最最简单的两个模型:IBM1和2以及启发式改进,用来做文本对齐。代码见文末,包括附加题在内全部达到了预期目标。 文本对齐 文本对齐是这么一个问题,将母语翻译为外语时,给定一个长l的母语句子和长度m,估计一个长m的外语...

Michael Collins NLP公开课任务2 PCFG

Michael Collins NLP公开课任务2 PCFG

hankcs阅读(455)评论(0)

Micheal Collins在Coursera上的自然语言处理公开课,第二次任务。自然语言中的歧义令人忍俊不禁,只要你或者你的模型脑洞足够大。 语料库来自WSJ,但并不是乔姆斯基范式: 因为乔姆斯基范式中一元rule必须是叶子节点,修正方...

基于结构化平均感知机的分词器Java实现

基于结构化平均感知机的分词器Java实现

hankcs阅读(882)评论(0)

最近高产似母猪,写了个基于AP的中文分词器,在Bakeoff-05的MSR语料上F值有96.11%。最重要的是,只训练了5个迭代;包含语料加载等IO操作在内,整个训练一共才花费23秒。应用裁剪算法去掉模型中80%的特征后,F值才下降不到0....

200行Python代码实现感知机词性标注器

200行Python代码实现感知机词性标注器

hankcs阅读(934)评论(1)

译自Matthew的《A Good Part-of-Speech Tagger in about 200 Lines of Python》,本文用最精简的代码演示了如何写一个基于感知机的高性能词性标注器。以下是正文: 自然语言处理的最新技术...

HanLP极致简繁转换

HanLP极致简繁转换

hankcs阅读(612)评论(1)

谈起简繁转换,许多人以为是小意思,按字转换就行了。事实上,汉语历史悠久,地域复杂,发展至今在字符级别存在“一简对多繁”和“一繁对多简”,在词语级别上存在“简繁分歧词”,在港澳台等地则存在“字词习惯不同”的情况。为此,HanLP新增了“简体”...

word2vec原理推导与代码分析

word2vec原理推导与代码分析

hankcs阅读(2316)评论(6)

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

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

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

hankcs阅读(1202)评论(11)

本文是《基于互信息和左右信息熵的短语提取识别》的姊妹篇,文如其名,没什么新意。 谈起“新词识别”“新词发现”,有许多论文慷慨陈词:要设计丰富的特征模板、建立训练语料库、引入CRF、ME、SVM、神经网络等模型并综合起来、在某某的基础上加入某...

Python调用自然语言处理包HanLP

Python调用自然语言处理包HanLP

hankcs阅读(2871)

上次介绍了CSharp调用HanLP后,@阳志平 同学又问我Python的调用方法,于是写了此文档。在万能的Python面前,用JPype调个jar包是非常简单的,且无缝支持Python2.x/3.x + 32/64位 Windows/*n...

在CSharp中调用HanLP

在CSharp中调用HanLP

hankcs阅读(996)评论(4)

今天有用户想在CSharp里调用HanLP的API,遇到了些小问题。所以我干脆自己写了个指南,一步步演示IKVM与HanLP的集成方法,供广大C#程序员参考。本方法也可推广到用C#调用任何Java jar类库,并解决classpath的问题...

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机