今天才算是真正开始走了一小步。
初衷是学习Bert,然后发现自己有很多不懂的地方,所以开始学习word Embedding相关知识
好多都是曾经接触过的,离散形式的就不讲啦,各种方法的发展过程以及优缺点可以参考这篇博客(资源侵删)
【NLP-01】词嵌入的发展过程(Word Embedding)
(我天 我竟然还没看到word2vec那里 崩溃 明天继续看)
主要是看到LDA了,正好我之前报告的两篇文章都是LDA相关以及改进的,所以我想要不去实现一下吧。
主要参考的是这篇博客,写的很详细,基本上对应了文本挖掘的各个流程。
用scikit-learn学习LDA主题模型
然后涉及到停用词的地方,博主又放了一个另一个博客,我觉得也挺好的,就也放上来吧。
中文文本挖掘预处理流程总结
停用词表网上有很多,下面是一个常用停用词表的链接,包括百度、哈工大之类的
中文常用停用词表
也可以自己添加停用词表,一般停用词表后面会转换为list,将新的停用词append进去就好,不会的话网上也可以找到相关代码。
后面跑程序知道某个章节属于哪个主题之后,我想知道这个主题具体是什么,这个是LDA没办法给出的? 我在网上没有找到,所以我想用tf-idf看一下这一章的关键词是什么。
一种是上面博客那样的 用sklearn中的包来做,但我觉得有点麻烦,然后查了一下,发现jieba也可以做关键词抽取,而且只用一行代码。
给两个链接
TF-IDF算法详解及sklearn代码实现
鬼吹灯文本挖掘3:关键词提取extract_tags和使用sklearn TfidfTransformer 计算TF-IDF矩阵
之后还遇到一些小的问题,然后把解决过程放上来
- 首先是编码的问题,先看一下with open()文件的时候,有没有加上encoding=‘utf-8’
解决Python报错UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 658: illegal multibyte - 在做关键词提取的时候,出现module ‘jieba’ has no attribute ‘analyse’
解决办法:添加 import jieba.analyse as analyse
module ‘jieba’ has no attribute ‘analyse’ - 绘制词云图的时候怎么去掉一些停用词
wc = WordCloud(font_path = ’ xxx‘, stopwords = stopwords)
WordCloud词云图去除停用词的正确方法 - 怎么确定lda主题的个数
怎么确定LDA的topic个数? - 里面有一个CountVectorizer()不太理解,特别是他的输出结果,然后去看了一下
sklearn——CountVectorizer详解
先就酱吧 明天再学习了更
完美