zoukankan      html  css  js  c++  java
  • 文本分类学习(一):开篇

    今天开始,就要认真开始对待文本分类,在此之前只是稀疏的看过一些博客,了解一下贝叶斯分类。之所以要学习文本分类,是因为我做的毕业设计就是关于文本分类和机器学习的。突然感觉到时间不太够用了,而摆在我面前的实际上是一个很浩大的工程,不得不抓紧时间开始研究。至于为什么毕业设计会选择文本分类算法,因为觉得现在机器学习很热门,不会点都不好意思说自己是搞计算机科学的,其次我想把自己的毕业设计可以和工作结合,并充分发挥作用。

    很庆幸自己搞过算法,高中数学还算不错,这些是学习文本分类的优势吧。如果可以我想把自己的学习和研究成果发表成论文,并且将代码在Git上开源。

    其实自己到目前为止对文本分类的概率依然不是很清晰,只是大概知道这么些东西:

      

      1.首先待分类的文本我们需要把它变成计算机能认识的东西,计算机能认识啥?(从底层来说只认识0和1)我们当然不能把一大段文字交给计算机。文本是由一些列词组成的,于是我们可以把文本变成一系列词的组合,在此之间需要对文本进行分词 ,(这和我之前学习的搜索引擎的分词是一样的,可以直接拿来用了,O(∩_∩)O哈哈~)。比如这篇文章进行分词之后:("今天","开始","就要".......)这就是词向量,也就是文本的特征向量。在这之后还需要对词进行加权重,这样可以突出某些词的重要性,在这篇文章中显然"文本","分类"要比"今天","开始"更能代表文章的含义。关于文档向量就不细说了,毕竟只是开篇~

          2.构造训练集,事先我们得准备好很多很多个已经分好类的文本组成训练集,当然对于所有的算法是训练集越大,分类的效果越好。

      3.选择分类算法,构造分类器。就我目前知道的分类器有很多,比如决策树,贝叶斯分类器,KNN分类,SVM支持向量机等等,还有adaboost增强训练算法。但是在网上,一些测试结果中都说SVM算法的效果是最好的,所以就先拿SVM开刀了,貌似SVM还是一个挺复杂的算法(难在它的数学知识,比如高维空间,核函数,很好奇是个什么东西)。

      

      4.分类待分类文本。

    千里之行始于足下,同志们开始马不停蹄的探索和学习吧。

  • 相关阅读:
    匿名对象、栈空间和堆空间,String的两种实例化方式的比较,"=="和"equals()"的区别
    间接调用父类私有成员方法、通过抽象类可以达到不需要实现接口所有方法的目的
    this关键字、构造快和静态块
    java可变参数的支持和foreach输出
    java-循环结构体
    switch和if else的区别和应用
    作用域对象
    JavaWeb1
    JavaScript 表单编程
    好久不见
  • 原文地址:https://www.cnblogs.com/dacc123/p/8665125.html
Copyright © 2011-2022 走看看