NPL实践系列:2、特征提取

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/suifeng2018/article/details/88186544

自然语言处理中,特征提取是十分重要的一环,而提取特征,主要是提取单词的特征,比如读音,和语义。这就涉及到了分词的问题。

1、基本文本处理技能

1.1 分词相关的概念

​ 分词指的是将一个单词序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
现有的分词方法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

1.2三类分词方法

1.2.1 基于字符串匹配的分词方法

​ 基于字符串匹配的分词方法又称机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。

​ 按照扫描方向的不同,字符串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,可以分为单纯分词方法和分词与词性标注相结合的一体化方法。常用的字符串匹配方法有如下几种:
(1)正向最大匹配法(从左到右的方向);
(2)逆向最大匹配法(从右到左的方向);
(3)最小切分(每一句中切出的词数最小);
(4)双向最大匹配(进行从左到右、从右到左两次扫描)
​ 这类算法的优点是速度快,时间复杂度可以保持在O(n),实现简单,效果尚可;但对歧义和未登录词处理效果不佳。

1.2.2 基于理解的分词方法

​ 基于理解的分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

1.2.3 基于统计的分词方法

​ 基于统计的分词方法是在给定大量已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法主要的统计模型有:N元文法模型(N-gram),隐马尔可夫模型(Hidden Markov Model ,HMM),最大熵模型(ME),条件随机场模型(Conditional Random Fields,CRF)等。
​ 在实际的应用中,基于统计的分词系统都需要使用分词词典来进行字符串匹配分词,同时使用统计方法识别一些新词,即将字符串频率统计和字符串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。

1.3 词、字符频率统计

可以利用一下现成的工具类库进行词频的统计,如Python中的collections.Counter模块。

2、语言模型

2.1 语言模型中unigram、bigram、trigram的概念;

基于统计的分词方法中常用的N元文法模型称为N-gram模型,具体的,一元分词模型为unigram、二元分词模型为bigram、三元元分词模型为trigram。
具体原理分析可看参考文章第二篇,讲的很透彻。

2.2 unigram、bigram频率统计

3、文本矩阵化

步骤有:
分词(可采用结巴分词来进行分词操作,其他库也可以);去停用词;构造词表。
每篇文档的向量化。

参考文章链接:
https://blog.csdn.net/flysky1991/article/details/73948971
https://blog.csdn.net/mbx8x9u/article/details/78749363

猜你喜欢

转载自blog.csdn.net/suifeng2018/article/details/88186544
今日推荐