美文网首页
文本挖掘

文本挖掘

作者: 雨一流 | 来源:发表于2017-08-04 15:28 被阅读0次

    文本挖掘现在是无处不在啊,之前在工作中涉及到一些文本挖掘的问题,但都不是很深入。最近在复习机器学习算法,看到贝叶斯分类,其中有一类就涉及到文本分类。总值涉及到文本挖掘的根本就是分词然后统计词频,然后根据概率公式判别这些词是否属于某一类,归根到底还是一个量化计算的问题。

    最基础的问题就是数据格式问题,向量、数据框、列表这三个在应用过程中都有涉及到,R语言含有很多函数,可以轻松帮我们搞定这些问题。

    一、获取数据

    library(RODBC)

    db <- odbcConnect(dsn="inspur", uid="inspur_detail", pwd="inspur", believeNRows=FALSE )

    cin = sqlQuery(db, "SELECT A.COMMODITY_NAME from B2C_SN_CINFO_201702 A where ROWNUM < 1000")

    调取了999天商品信息数据,想观察一下这些商品信息数据有哪些出现频次比较高的词语

    二、分词

    library(Rwordseg)

    cin$COMMODITY_NAME<-as.character(cin$COMMODITY_NAME)

    cin_seg<-segmentCN(cin$COMMODITY_NAME) 分词函数segmentCN针对的是字符型数据

    执行完分词语句后,分词数据以列表的形式被储存

    在这里统计词频的时候 txtChar <- unlist(cin_seg)  unlist将数据编程向量或者数字向量

    data <- as.data.frame(table(txtChar))  将所分词转化为数据框的形式

    wordcloud(data$txtChar,data$Freq)

    在R语言中使用Rwordseg包的segmentCN函数在分词时,如果出现下面这个错误:

    Error in .jcall(analyzer, "S", strfunc, X) :

    java.lang.NullPointerException

    解决方法:

    text<-enc2utf8(text) #转utf-8,有些格式它不支持

    text<-text[Encoding(text)!='unknown']#清除无法识别的字符

    word.message<-segmentCN(text)#分词

    OK,这样的话既可以了。

    三、数据清洗

    推荐使用  http://blog.csdn.net/duqi_yc/article/details/9817243

    相关文章

      网友评论

          本文标题:文本挖掘

          本文链接:https://www.haomeiwen.com/subject/jwgvlxtx.html