Comment Analyzer¶
根据评论分析词频,保存词云。
用法¶
得到词云
生成评论分析器实例¶
brands = ['vivo', 'oppo', 'mi', 'huawei', 'apple', 'SMARTISAN']
from taobao_crawler.analyzer.comment_analyzer import CommentAnalyzer
comm_analyzer = CommentAnalyzer(db)
comm_analyzer.set_brand(brands)
CommentAnalyzer(db)
中的 db
参见 DB
得到各品牌评论词汇频率比例¶
comm_analyzer.frequency_run()
得到各品牌评论词汇超平均值比例¶
comm_analyzer.times_run()
数据示例¶
[('顶多', 20.856220399929835),
('谁家', 20.856220399929835),
('真没想到', 20.856220399929835),
('炸裂', 20.856220399929835),
('比安卓好', 20.856220399929835),
('有所改善', 20.856220399929835),
('老师', 20.856220399929835),
('直板', 20.856220399929835),
('恭维', 20.856220399929835),
('亲亲', 20.856220399929835)]
类属性¶
-
class
analyzer.comment_analyzer.
CommentAnalyzer
(db, brand_name=('vivo', 'oppo', 'mi', 'huawei', 'apple', 'SMARTISAN'))¶ Bases:
object
利用NLP分析评论,词频得到词云
-
__init__
(db, brand_name=('vivo', 'oppo', 'mi', 'huawei', 'apple', 'SMARTISAN'))¶ 参数: - db – 一个 pymongo.MongoClient.db 的实例
- brand_name – 所研究的所有品牌名
-
brand_to_id
(brand)¶ 通过品牌名得到其下商品
参数: brand – list, 所研究的所有品牌名 返回: iteration, 遍历该品牌下所有商品(dictionary)的iteration
-
draw_freq_wordcloud
(string, color_mask_address, write_file_address)¶ 保存词云
参数: - string – string, 用以生成词云的字符串
- color_mask_address – 背景图片地址
- write_file_address – 图片保存地址
-
draw_more_wordcloud
(most, color_mask_address, write_file_address)¶ 绘制超越平均词频倍数的词云
参数: - most – dictionary {词汇,该词汇频率与平均频率比例}
- color_mask_address – 背景图片地址
- write_file_address – 图片保存地址
-
get_counter
(string)¶ 生成计数器(Counter),表示该字符串中各词汇的频次
参数: string – dictionary {词汇:该词汇频率与平均频率比例} 返回: Counter{词汇:该词汇频率与平均频率比例}
-
get_most
(times, k)¶ 得到倍数词典中最高倍数的前k个词汇
参数: - times – dictionary {词汇,该词汇频率与平均频率比例}
- k – 选取词汇频率最高倍数中前k个
返回: list, [(词汇,比例)]
-
get_ratio
(c)¶ 生成频率(Counter),得到该词汇的出现频率
参数: c – Counter 计数器(Counter),表示该字符串中各词汇的频次 返回: dictionary{词汇:该词汇频率与平均频率比例}
-
get_times
(r0, r, hold)¶ 生成频率(Counter),得到该词汇的出现频率
参数: - r0 – dictionary 表示该字符串中各词汇的频率
- r – dictionary 表示所有评论中各词汇的频次
- hold – float 阈值, 当比例超过该值时输出
返回: dictionary{词汇:该词汇频率与平均频率比例}
-
id_to_comment
(item_id)¶ 通过商品ID得到其评论情感评分
参数: item_id – string, 商品ID 返回: string, 该ID商品所有评论
-
run
()¶ 运行函数 得到各品牌评论词云
-
set_brand
(brand_name)¶ 更改品牌名称
参数: brand_name – list, 品牌名称
-