放牧代码和思想
专注自然语言处理、机器学习算法
    正处于一个非常忙的阶段,抱歉不会经常回应任何联络

标签:维特比算法

Michael Collins NLP公开课任务4 GLM
命名实体识别

Michael Collins NLP公开课任务4 GLM

hankcs阅读(721)评论(2)

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

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

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

hankcs阅读(1421)评论(0)

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

CRF++代码分析
机器学习

CRF++代码分析

hankcs阅读(2731)评论(8)

本文按照调用顺序抽丝剥茧地分析了CRF++的代码,详细注释了主要函数,并指出了代码与理论公式的对应关系。内容包括拟牛顿法的目标函数、梯度、L2正则化、L-BFGS优化、概率图构建、前向后向算法、维特比算法等。 背景知识请参考《条件随机场》。...

条件随机场
机器学习

条件随机场

hankcs阅读(4380)评论(1)

本文是《统计学习方法》第11章的笔记,在课本的基础上加入了自己的注释和理解。作为CRF的入门读物,著名的几篇英文教程难度稍高,还是李航博士的《方法》比较适合初学者。其拟牛顿法讲解可以直接与CRF++的代码对应,实为难得。我还单独写了篇《CR...

隐马尔可夫模型
机器学习

隐马尔可夫模型

hankcs阅读(2196)评论(2)

本文是《统计学习方法》第10章的笔记,用一段167行的Python代码实现了隐马模型观测序列的生成、前向后向算法、Baum-Welch无监督训练、维特比算法。公式与代码相互对照,循序渐进。 HMM算是个特别常见的模型,早在我没有挖ML这个坑...

HanLP自然语言处理包开源
自然语言处理

HanLP自然语言处理包开源

hankcs阅读(27994)

支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存...

CRF分词的纯Java实现
中文分词

CRF分词的纯Java实现

hankcs阅读(9128)评论(17)

与基于隐马尔可夫模型的最短路径分词、N-最短路径分词相比,基于条件随机场(CRF)的分词对未登录词有更好的支持。本文(HanLP)使用纯Java实现CRF模型的读取与维特比后向解码,内部特征函数采用 双数组Trie树(Double...

我的开源项目

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