【NLP学习笔记1】分词和词向量

数据整理

jieba分词

(附上参考链接,里面有很多测试样例)

不同分词模式

在这里插入图片描述
主要围绕两个函数:jieba.cut(), jieba.cut_for_search()
jieba.cut()
第一个参数是需要进行分词的字符串。
第二个参数控制是否启用全模式:
若启用,参数为“cut_all=True”,表示选择全模式。特征:词之间会有重复的部分,从最短词到仍具有完整语义的最长词都会打印出来。
若缺省或选择 False ,则表示选择精确模式。特征:无重复,从左到右呈现具有完整语义的最长词。
jieba.cut_for_search()
参数是需要进行分词的字符串。搜索引擎模式特征:词之间有重复的部分,会呈现相邻之间能组成的有完整语义的词,最短词到最长词都有。
在这里插入图片描述
在这里插入图片描述

自定义词典

在这里插入图片描述

不足

测试的时候发现它识别不出完整的成语:
在这里插入图片描述

去停用词

首先需要下载些停用词的文本,GitHub上都有,我下的是百度、哈工大、川大的停用词文本。
具体操作学习的是这篇博客。
进行停用词的去除,需要先加载停用词:

path3 = "D:/stopwords_u.txt"    #停用词txt
stopwords = [line.strip() for line in open(path2, encoding="utf-8").readlines()] #加载停用词

继而可以根据停用词进行储存和词频统计:

words = jieba.lcut(txt)     #前一步的分词
counts = {}                 #计数{word,frequency}
for word in words:
    if word not in stopwords:          #不在停用词表中
        if len(word) == 1:        #长度为1的话,不储存
            continue
        else:                #不是停用词且词长度不为1
            counts[word] = counts.get(word, 0) + 1 #词均用数组下标进行标识

热点事件自动识别

(附上参考的论文)
该论文主要从突发词识别(采用加权突发词聚类算法)的基础出发,再在对应时间窗上识别对应热点事件、测度热度值等。
首先初始化为0-1矩阵:
在这里插入图片描述
不断进行迭代运算类间相似性,同时合并相似性最大的两个子类,直到满足终止条件。
在这里插入图片描述
最终能得到一定时间内权重最大或较大的词,继而可以据此实现热点事件的进一步识别。

该论文还涉及到一些惩罚函数等式子,目前还没看懂…

基于词向量的固定表征

(附上参考链接)
在前一步的分词中已经把数据集分成各个具有完整语义的词。为了分析出该数据集的整体感情色彩,需要分析这些词。方法有词频统计、概率统计等。尤其是相近语义或类型的词,是否把它们归为一类,在文中不同地方出现语义是否会有所变化,这些都会影响分析结果的准确性。这时利用词向量间的运算(求余弦等)可以计算出相对应的值,可用于分析计算对应词的属性。

Word2Vec模型(不足:只利用了局部信息)

(附上学习链接)
这个模型主要通过滑动窗口的方式进行多次输入输出,以完善一个较为准确的词向量。如下,每次取窗口中前两个词进行输入,在词向量表中经过计算后,更新第三个词的向量值(即输出后的词向量表已被更新)。
在这里插入图片描述
视频中还提到两种具体的方式:
一是取窗口中间的词作为要输出的词。(多对一)
在这里插入图片描述
二是取中间的词作为输入,其余的分别作输出。(一对多)
在这里插入图片描述
(这些窗口滑动计算的过程也是深度学习的过程)

此外,为提高准确性,该预处理模型还需要加入一些负样本,以在计算的过程中将词向量表更新得更准确和符合原文本。如下,根据选好的滑动窗口中的词,规定当输出词不是原窗口中该输出的词的时候,得到的结果为0.
在这里插入图片描述

GloVe(改良:能利用全局信息)

参考了大佬的博客b站上的视频
首先需要建立一个n×n的共现矩阵(词汇表×词汇表),全部初始化为0,表示这些词之间尚未有联系。
接着用滑动窗口的方法统计词i与词j的共现次数。共现矩阵构建好后变可计算共现频率:
在这里插入图片描述
进一步计算共现频率比:
在这里插入图片描述
在此基础上优化词向量函数:在这里插入图片描述
最后据此确定一个加权函数:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值