python list转string_使用python进行新闻文档聚类(潜在语义分析)

在本文中,我将解释如何使用潜在语义分析(LSA)从一组新闻文章中聚类和查找类似的新闻文档。

LSA是一种NLP技术,用于找出一组文档中隐藏的概念或主题。

数据读取

首先导入一些必要的Python库:

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport sysimport nltk# nltk.download('stopwords')from nltk.corpus import stopwords# from bs4 import BeautifulSoup as Soupimport json
716f8bb999854a049a3d5d575320efb5

我的机器学习样本数据:

4b5db3bc8ce8460bb131642a2a5d7748

以下Python代码用于在字符串列表中加载和存储数据,这部分完全取决于数据类型:

def parseLog(file): file = sys.argv[1] content = [] with open(file) as f: content = f.readlines() content = [json.loads(x.strip()) for x in content] # print(content)  data = json.loads(json.dumps(content)) k=0# preprocessing  content_list = [] for i in data: string_content = "" if "contents" in i: for all in i["contents"]: if "content" in all: # print(str(all["content"])) string_content = string_content + str(all["content"]) content_list.append(string_content)
946ea6b0ac66411ba48a45a13f793756

content_list包含字符串列表中的完整数据。因此,如果有45000篇文章,content_list有45000个字符串。

数据预处理

现在我们将使用pandas来应用一些机器学习中的预处理技术。首先,我们将尝试尽可能地清理文本数据。想法是使用regex replace(" [^a-zA-Z#] ", " ")一次性删除标点、数字和特殊字符,它将替换除空格以外的所有字符。然后我们将删除较短的单词,因为它们通常不包含有用的信息。最后,我们将所有文本都小写。

 news_df = pd.DataFrame({'document':content_list})  # removing everything except alphabets` news_df['clean_doc'] = news_df['document'].str.replace("[^a-zA-Z#]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值