双向循环神经网络+条件随机场进行分词

前言

目前 NLP 领域的很多任务基本都会朝深度学习、注意力模型、半监督等方向发展,而且确实也取得了更好的效果,而有些也会把深度学习和传统机器学习结合起来,都能有不错的性能提升。这里讲一个用深度学习和机器学习结合来做分词。

关于分词

分词就是将一句话按照最合理的单词分开,英语一般就没有这个麻烦,因为英语词语都是空格隔开的,而中文就需要做额外处理。分词任务一般是nlp其他任务的基础,分词分得好不好将直接对后面的其他任务产生很大的影响。

传统做法

在此之前,先了解分词的一般做法:
* 基于词典正向最大匹配法,很简单的从左往右的规则匹配,类似的还有逆向最大匹配法。
* 基于词典最小切分法,通用是规则匹配,它使句子尽可能少单词数量。
* 基于n元文法的分词法,主要是通过大量语料统计单词或字的转换概率,并通过动态归划的算法算出最后最优的分词序列。
* 隐马尔科夫模型分词法,主要通过大量语料的观测序列和状态学习到参数,然后对观测序列进行隐含状态推测,也是需要解码的过程,解码完成及分词完成。
* 条件随机场分词法,通过大量语料学习到参数,这里需要设计很多特征函数和转移函数,条件随机场分词准确率很高,它比隐马尔可夫的精度高很多,因为条件随机场考虑了上下文。

关于LSTM

LSTM 是循环神经网络的一种变种,是处理序列的小能手,具体可以看前面的文章《LSTM神经网络》,而双向 LSTM 可以看前面文章《双向循环神经网络及TensorFlow实现》。

关于CRF

CRF是一种概率无向图模型,也是处理序列的小能手,具体可以看前面的文章《

你可能感兴趣的:(自然语言处理)