前言
整体索引在此 书蕴——基于书评的人工智能推荐系统
思路
因为数据是爬虫爬下来的,具体内容被写入到了excel表里,所以文本预处理分为2块。一个是从excel中获取数据,然后去掉文本中所有的html标签,最后整理成txt文档中一行一条评论的形式。另一个是对文本去停用词、分词,处理成一个词一个空格的形式,便于word2vec训练模型。
代码与解释
pre_process_format.py
1 | import re |
代码使用了openpyxl包,主要是读取数据,因为excel第一行是表头,第二行第7列开始才是评论主体,所以行号列号需要稍微规定一下。
读取一个cell的数据,使用正则表达式"<[^>]+>"替换所有html标签为空格,然后替换所有换行为空格,最后写入文本时,在末尾加上换行符即可。
pre_process_segment.py
1 | import os |
做的是原始数据的去停用词和分词处理,使用了jieba分词,去掉了标点,停用词使用的google英文停用词和csdn某博客提供的中文停用词。
后期会考虑使用tf-idf来动态去除停用词。
总结
其实后来训练了word2vec模型发现,很多结果不尽人意,比如“中”这个字没有去除掉,而这个字单独出现意味着它表示英文中的 in,应当放入停用词当中。
是的,停用词表不一定简单的使用别人列出来的,知乎上查到的比较合理的做法:去除其中很常见的停用词,然后使用tf-idf或者人工筛选去除另一部分。 因为我们是每一本书一个模型来迭代获取书评标签,所以没办法为每一本书人工筛选,后期再使用tf-idf筛选一波吧。先做出一个快速原型才是重中之重。