计算机组成原理哪本书比较好,学计算机组成原理需要什么基础

  计算机组成原理哪本书比较好,学计算机组成原理需要什么基础

  昨晚我在雪地里发现了这个图书馆。我很开心。来说说我开心的原因吧。我本科毕业设计是文本挖掘,是用R语言做的。我发现R语言对文本处理特别不友好,功能强大的库也不多,尤其是中文文本。况且我那时候也没学过机器学习算法。所以,我很头疼,只好用一个可视化软件RostCM。但是一般可视化软件最大的缺点就是不能调整参数,很死板,精度不高。现在学习完机器学习算法,想继续学习文本挖掘。所以前半个月我开始用python学习文本挖掘。很多人推荐我从《python自然语言处理》这本书开始。经过半个月的学习,本科毕业的时候可能会有一些基础知识。看完这个感觉没多大进步。此外,nltk库用于英语文本挖掘。英文文本挖掘和中文差别很大,或者说学完英文文本挖掘再做中文完全是愚蠢的。于是就停了,觉得太没效率了。然后在网上搜索python如何挖掘中文文本的文章,最后找到了库snownlp。这个库是中国人开发的python类库,专门挖掘中文文本。里面已经有算法了,需要自己调用函数。根据不同的文本建立一个语料库真的很方便。我只介绍这个库的具体应用,不介绍相关的算法原理,因为算法原理是可以自学的。因为我在学习这个库的时候查了很多资料,发现很少有或者根本没有这个库的例子,很多都是官网对这个库的简介的转载,所以今天就把我的学习记录下来了。

  先简单介绍一下这个库中可以做什么文本挖掘。Snownlp主要可以用于中文分词(算法是基于字符的生成模型)、词性标注(原理是TnT,3-gram隐马)、情感分析(官网Mu有介绍原理,但是表示购物的评论准确率高,其实是因为它的语料库主要是关于购物的,所以你可以自己建立相关领域的语料库来代替原来的。准确率也相当不错)、文本分类(原理是朴素贝叶斯)、拼音转换、繁简转换、文本关键词提取(原理是TextRank)、摘要提取(原理是TextRank)、句子切分和文本相似度(原理是BM25)。官网有更多关于这个库的信息。在看我的文章之前,我建议你看一下官网,里面有一些基本的命令。官方网站链接:https://pypi.python.org/pypi/snownlp/0.11.1.

  下面正式介绍示例应用程序。主要是对中文文本的情感分析。今天,我从JD.COM网站收集了249条关于笔记本的评论作为练习数据。因为我只是想练习,所以就没再收了。然后手动标记每个评论的积极情绪。情绪积极是指评论代表了什么态度,是积极的还是消极的。以下是一个示例:

  其中-1表示贬义,1表示正义。由于snownlp都是unicode编码的,所以注意数据是否是unicode编码的非常重要。因为是unicode编码,所以不需要去掉中文文本中包含的英文,因为会转码成统一的代码(补充一下,我对编码问题还不是特别清楚,这里就不说了,请熟悉的伙伴多指教)。软件本身的默认代码是Ascii,所以第一步是将软件的默认代码设置为utf-8。代码如下:

  1.更改软件的默认代码。

  导入系统

  重新加载(系统)

  sys.setdefaultencoding(utf-8 )

  2.然后准备数据。

  导入熊猫作为pd #加载熊猫

  Text=pd.read_excel(uF:/自然语言处理/注释text.xlsx ,header=0) #读取文本数据

  0=text.iloc [:0] #提取所有数据

  1=[I . decode( UTF-8 )for I in text 0]#上一步提取的数据不是字符而是对象,所以在这一步转码为字符。

  3.训练语料库

  从snownlp导入情感#加载情感分析模块

  sensition . Train( e:/anaconda 2/lib/site-packages/snownlp/sentient/neg . txt , e:/anaconda 2/lib/site-packages/snownlp/sentient/pos . txt )#训练语料库,将路径改为本练习中我没有建立语料库,使用的是默认的,所以我把路径写在了情感模块下。

  情操.保存( d:/py script/sentient . marshal )#这一步是保存上一步的训练结果。如果以后语料库没变,下次就不用再训练了。直接用就可以了,所以一定要保存。你可以决定把它保存在哪里,但是你应该把 snownlp/seg/_ _ init _ _。py `。

  4.做预测。

  从snownlp导入SnowNLP

  Senti=[snownlp (i)。text1] #中I的sentients遍历每个注释以做出预测。

  5.验证准确性。

  预测结果为正概率,正概率大于等于0.6。我觉得可以判断为正面情绪,小于0.6的判断为负面情绪。所以概率大于等于0.6的评论标签下面赋1,概率小于0.6的评论标签下面赋-1,方便后面和实际标签对比。

  纽森蒂=[]

  因为我感觉:

  如果(i=0.6):

  newsenti.append(1)

  否则:

  newsenti.append(-1)

  Text[predict]=newsenti #将新的预测标签添加到一列文本中,因此现在第0列文本是注释文本,第1列是实际标签,第2列是预测标签。

  计数=0

  对于in range (len (text.iloc [:0]): #遍历所有标签,比较预测标签和实际标签,如果相同,则判断正确。

  if text.iloc[j,2]==text.iloc[j,1]:

  计数=1

   print 的准确度是:% f %(float(counts)/float(len(text))#输出此预测的准确度。

  运行结果是:

  准确率还可以,但是不高,因为我考虑的是时间,而且我也只是练习,所以没有自建这方面的语料库。如果我建立一个相关的语料库,替换掉默认的语料库,准确率会高很多。因此,语料库非常关键。如果想正式挖掘文本,建议自建语料库。在没有建立新语料库的情况下,83.9357%的准确率是不错的。

  这些是我这次的学习笔记。我想与你分享它们。如有不足之处,请批评指正。我还是一个刚刚涉足数据挖掘、机器学习、文本挖掘等领域的快乐金毛。我有很多模糊的知识,但是我对这个数据挖掘很感兴趣。希望能在这方面多交些朋友,共同学习进步。

  来自:博客

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 从大学开始学计算机,通过大学计算机你学到了什么
  • 从大学开始学计算机,通过大学计算机你学到了什么,写给正在读计算机专业的同学 该如何学习
  • 计算机语言有哪几类,属于计算机程序设计语言的是,计算机语言有哪几类,属于计算机程序设计语言的是哪些
  • 计算机二级是按通过率还是按分数,计算机二级合格的分数
  • 介绍一下计算机语言,主要计算机语言类型,简述计算机语言
  • 计算机编程语言有哪些种类,计算机编程语言分哪三类
  • 计算机的教程,学计算机教程好吗,计算机的教程,学计算机教程怎么样
  • 计算机语音种类,属于计算机高级语音
  • 计算机二级python题库有多少套题,二级python考试题库
  • 计算机中汇编语言是一种,汇编语言与计算机系统组成答案
  • 计算机中常用的编码有哪几种,什么是计算机编码-常用的编码有哪些
  • 计算机编程关键字,编程语言的关键字
  • 计算机发展历史简述文,计算机的历史特点,计算机发展历史简述文,计算机的历史价值
  • 计算机cv专业是什么,cv计算机视觉入门难吗
  • Win10局域网共享看不到其他计算机,win10共享电脑其他电脑无法显示
  • 留言与评论(共有 条评论)
       
    验证码: