中文分词及词袋分类

       中文分词(Chinese Word Segmentation) 指将汉字序列切分成单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在中文里,“词”和“词组”边界模糊。中文分词是文本挖掘的基础,利于电脑自动识别语句含义。

       现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。

      字符串匹配

该方法又叫机械分词法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;常用的几种机械分词方法如下:
1)正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向);
3)最少切分(使每一句中切出的词数最小);
4)双向最大匹配法(进行由左到右、由右到左两次扫描)
还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。

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

      统计分词法

从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
另外一类是基于统计机器学习的方法。首先给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。我们知道,汉语中各个字单独作词语的能力是不同的,此外有的字常常作为前缀出现,有的字却常常作为后缀(“者”“性”),结合两个字相临时是否成词的信息,这样就得到了许多与分词有关的知识。这种方法就是充分利用汉语组词的规律来分词。这种方法的最大缺点是需要有大量预先分好词的语料作支撑,而且训练过程中时空开销极大。
到底哪种分词算法的准确度更高,目前并无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,都需要综合不同的算法。例如,海量科技的分词算法就采用“复方分词法”,所谓复方,就是像中西医结合般综合运用机械方法和知识方法。对于成熟的中文分词系统,需要多种算法综合处理问题。

      分词中的歧义

歧义是指同样的一句话,可能有两种或者更多的切分方法。主要的歧义有两种:交集型歧义和组合型歧义。 在歧义中还有一个难题,是真歧义,这就需要结合上下文其他的句子来判断。例如:苹果可以是苹果手机也可以是水果的那个苹果。

词表


       分词过后转换成词袋以便后期分析使用。

离散词袋:

1.One-hot(0,1)表示,稀疏问题严重,内存占用大。

2.Bag of words 各个词的词向量相加和。

3.TF-IDF考虑权重的词向量

4.Bi-gram和N-gram 考虑词前后顺序,缺点是词表膨胀快。

连续词袋:

word2vec词向量训练工具

sense2vec针对词语多义性,精度不高

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文新闻评论分类任务是一个文本分类任务,需要将输入的文本分成不同的类别。而结巴分是一种中文分词技术,将中文文本分成一个个单独的语,便于后续的文本处理和分析。 在这个任务中,我们可以使用结巴分库对输入的文本进行分,将每个语作为特征,然后使用机器学习模型进行分类。具体来说,我们可以先将输入的文本进行结巴分处理,然后将得到的语列表作为特征,使用袋模型或 TF-IDF 等方法进行特征提取,再使用分类器对文本进行分类。 以下是一个简单的示例代码,展示了如何使用结巴分库对文本进行分: ```python import jieba # 定义一个函数,用于对输入的文本进行分处理 def data_preprocess(corpus): data_set = [] for text in corpus: # 使用 jieba 分库对文本进行分 word_list = jieba.lcut(text) # 将分好的文本添加到列表中 data_set.append(word_list) return data_set # 使用示例 corpus = [ "这是一篇关于机器学习的文章。", "这是一篇关于自然语言处理的文章。", "机器学习和自然语言处理都是人工智能的重要分支。" ] data_set = data_preprocess(corpus) print(data_set) ``` 该代码定义了一个`data_preprocess`函数,用于对输入的文本进行分处理。在函数内部,使用了 jieba 分库的 `lcut` 函数对每一条文本进行分处理,将分好的文本添加到一个新的列表中,最后返回处理后的列表。在示例中,我们使用该函数对一个包含三篇中文文章的语料进行了分处理,并输出了处理后的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值