运用机器学习进行文本分析以及心理模型构建的引述

运用机器学习进行文本分析以及心理模型构建的引述

5 1 月, 2020 阅读 1323 字数 2782 评论 0 喜欢 0

        微信和网站都很久没更新了,实在是最近没啥干货可以写的。最近在研究大数据相关内容,主要以自然语言处理(NLP)以及心理模型的预测为主,可能作为硕士毕业论文的方向。

        首先就是要爬取大量数据,大数据讲究数据量要大,时间跨度要大,获取人群要大。新浪微博作为国内规模最大的微博平台,有庞大的微博数据以及个人信息,自然成为中文文本分析的首先需要获取的语料平台。使用新浪微博开放平台自带的API是一个很不错的选择,但是2018年后,新浪API进行了协议更新,以个人名义得到的API是没法获取他人的相关微博信息。具体的说明请看:https://open.weibo.com/wiki/微博API,当然,您要是大佬,有钱,可以联系微博客服买到企业API,那样可以获得微博全网数据,还是可以的,我等穷屌丝就还是用爬虫技术来获取数据得了。本系列文章也是伴随我边学习边进步的一个见证,计算机大佬可以自行绕道。

        运用爬虫抓取微博数据有两个方法,第一个是一些商业平台的爬虫,另一个是自己搭建服务器写爬虫。作为一个科研狗,又穷又没关系的话就只能自己搭建服务器编写爬虫程序。商业平台推荐,八爪鱼采集器(https://www.bazhuayu.com),Gooseeker(http://www.gooseeker.com)等等,具体使用方法请百度,这些商业平台其实获取微博数据的成本并不高,也可以去试试,但是我反正就喜欢自己弄,

        今天首先介绍下搭建爬虫服务器并且获取大数据进行文本处理NLP的一些基本流程以及相关软件的简简简简介。

    第一,一台服务器(或者24小时不断电的电脑也成)。你可以把服务器就当城24小时不断电的电脑来理解吧。由于爬虫容易被封IP,所以搞一个可以换IP的服务器还是很有必要的。同时,微博是国内的平台,服务器买国内的最好,我等学生党可以买阿里云学生机,腾讯云学生机,这两个大厂天天搞竞争,反正性价比超级高咯。阿里云学生机配置:1核CPU、2GB内存、5M峰值带宽、40GB系统盘(硬盘)、每月1000G高速流量,价格,每月9.5元(https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.12825654.7y9jhqsfz.77.e9392c4aBurFPm&aly_as=PRoN1eyr);腾讯云学生机配置:1核CPU、2G内存、1Mbps带宽、50GB高性能云盘,每月10元(https://cloud.tencent.com/act/campus),国内还有很多服务器提供商,比如说:京东云、滴滴云、美团云、天翼云等等,服务器价格都不贵,买一个月爬数据足够了。具体的推荐,下回再填坑

    服务器系统选什么?

    随便你呀。Windows和Linux系统都成,但是个人推荐用Linux系统,最好是Centos7以上,linux系统没有想象中那么可怕,只不过是我们平时使用windows视窗系统习惯了,看到要写代码才能运行程序就懵逼了,其实还是不会那么可怕啦。具体使用教程,后面一个一个来讲。

    第二,爬虫语言。我用的是Python语言,不是最新的语言就是最好的,Python3.6以上就好,用太新的语言,到时候网上教程不多,出了问题人都是懵的。其次,爬虫还可以使用JAVA语言,并且JAVA语言的使用性能更好一些,但是感觉java有点臃肿,懒得麻烦,我这种穷人,买的服务器性能低,到时候跑不动就尴尬了。下面主要以Python语言来讲哈,Python语言的话也可以运用于数据分析,最主要是后面的很多大数据算法,用Python实现很方便。推荐下常用的IDE,Python语言安装之后自己带了一个shell,很简单,但是一些扩展还是不行呢,你装好Python语言之后,在CMD(windows系统)或者ssh(linux系统)输入python就会进入到自带的IDE,退出是输入exit()哈。比较主流的是PyCharm,这个里面有社区版本,免费的,专业版本是需要收费的。具体使用教程,下次再讲。

    第三,数据库选择。你爬取的数据要存在哪里呢?excel吗,不科学呢。常用的数据库有MySql、MongoDB,这两个数据库还是比较广的,最广的还是Mysql,毕竟很多网站后台的数据库都是MySql,同样,也不要使用太高的版本。MongoDB是一个比较新的数据库软件,是一个分布式文件储存数据库,什么是分布式文件储存数据库?下次给你看下数据库的文件就知道了。

    第四,爬虫框架。Scrapy是用的很广泛的一个爬虫框架,当然安装这个的话,还是需要基于Python语言的。还有模拟登陆,chrome模拟浏览等等插件,都是基于Python语言的。所以,用Python吧。

    第五,文本清洗。我们知道微博数据大多不是完整的句子,有的时候就一个表情,一个图片,一个词。有的时候微博很多都是转发的内容,里面包含了很多符号,例如:转发@,多次转发//,表情[]等等,这些都是没用的,那么就需要使用文本清洗,剔除无效内容。

    第六,中文分词。中文的语法非常复杂,计算机不是人,没有认知功能,不知道怎么理解,所以首先需要将微博文本进行分类,比如:我是浩之守望,这个句子计算机理解起来就不太方便,到底是“我是-浩之守望”还是“我是浩之-守望”呢?所以需要使用一些专门的算法来进行分词,并且标注词性词义。简体中文中使用很广泛的有“jieba中文分词”,“NLPIR系统”,“THULAC分词”,小众一点的“中科院心理所文心(TextMind)系统”,这些系统都是可以免费获取以及非商业使用的,同时都在github上开源了。Github是啥?你想要什么类型的语言代码,在这里都可以找得到,反正就是优秀就行了。怎么使用的话,我也可以下次讲。

    第七,文本分类。根据获取的词性和词类,需要对文本进行分类,上面提到的那些开源的软件基本上都可以做到,其他的,比如说决策树、随机森林、支持向量机啥的,下回一并讲。

    第八,情感分析。对于微博获取的数据,进行舆情分析和监控的话,需要进行文本的情感分析,现如今主要还是使用正负情绪进行分类,使用的算法我现在还不知道,后面研究好了再讲。

    第九,预测模型。运用分好类的语料可以构建一个心理模型,并且进行线下的匹配,这样,可以通过机器学习的方法,进一步掌握人的心理状况。

    第十,填坑。上面说到的东西都是我自己的理解以及查阅相关资料得到的,但是本人学识一般般,如果说得不对的地方,还请大佬轻点喷。

        反正,这是一个系列的开篇,我要边学习边更新,希望大家可以多多交流交流。欢迎访问我的个人网站:https://panwenhao.com

        我是浩之守望,我为自己代言。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

© 2024 守望小站. Powered by WordPress

湘ICP备16008095号-1

湘公网安备 43010202000590号