博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LDA模型应用实践-希拉里邮件主题分类
阅读量:4554 次
发布时间:2019-06-08

本文共 1515 字,大约阅读时间需要 5 分钟。

#coding=utf8import numpy as npimport pandas as pdimport refrom gensim import corpora, models, similaritiesimport gensimfrom nltk.corpus import stopwordsdf = pd.read_csv("./input/HillaryEmails.csv")# 原邮件数据中有很多Nan的值,直接扔了。df = df[['Id', 'ExtractedBodyText']].dropna()def clean_email_text(text):    text = text.replace('\n'," ") #新行,我们是不需要的    text = re.sub(r"-", " ", text) #把 "-" 的两个单词,分开。(比如:july-edu ==> july edu)    text = re.sub(r"\d+/\d+/\d+", "", text) #日期,对主体模型没什么意义    text = re.sub(r"[0-2]?[0-9]:[0-6][0-9]", "", text) #时间,没意义    text = re.sub(r"[\w]+@[\.\w]+", "", text) #邮件地址,没意义    text = re.sub(r"/[a-zA-Z]*[:\//\]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i", "", text) #网址,没意义    pure_text = ''    # 以防还有其他特殊字符(数字)等等,我们直接把他们loop一遍,过滤掉    for letter in text:        # 只留下字母和空格        if letter.isalpha() or letter==' ':            pure_text += letter    # 再把那些去除特殊字符后落单的单词,直接排除。    # 我们就只剩下有意义的单词了。    text = ' '.join(word for word in pure_text.split() if len(word)>1)    return textdocs = df['ExtractedBodyText']docs = docs.apply(lambda s: clean_email_text(s))doclist = docs.valuesstopwords = set(stopwords.words('english'))texts = [[word for word in doc.lower().split() if word not in stopwords] for doc in doclist]dictionary = corpora.Dictionary(texts)corpus = [dictionary.doc2bow(text) for text in texts]lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=20)print lda.print_topics(num_topics=20, num_words=5)

  

转载于:https://www.cnblogs.com/pengwang52/p/7688625.html

你可能感兴趣的文章
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>
springboot 端口号
查看>>
使用AChartEngine画动态曲线图
查看>>
安卓项目五子棋代码详解(四)
查看>>
urllib 学习一
查看>>
bzoj4196 [Noi2015]软件包管理器——树链剖分
查看>>
kafka源码阅读环境搭建
查看>>
UI设计
查看>>
androidtab
查看>>
Windows Phone 自定义弹出框和 Toast 通知
查看>>
如何生成静态页面的五种方案
查看>>
php 事件驱动 消息机制 共享内存
查看>>
剑指offer 二叉树的bfs
查看>>
LeetCode Maximum Subarray
查看>>