作家
登录

使用python+机器学习方法进行情感分析(详细步骤)

作者: 来源: 2018-01-04 17:36:48 阅读 我要评论

  • best_words = set([w for w, s in best_vals])  
  • return best_words 
    1. word_scores_1 = create_word_scores()  
    2. word_scores_2 = create_word_bigram_scores() 

    3. 把选出的┞封些词作为特点(这就是选择了信息量丰富的特点)

    1. def best_word_features(words): return dict([(word, Truefor word in words if word in best_words]) 

    三、检测哪中特点选择办法更优

    见构建分类器,考验分类精确度,选择最佳分类算法

    第一步,载入数据。

    要做情感分析,重要的是要稀有据。

    文本是已经分词去停用词典商批评论,情势大年夜致如下:[[word11, word12, ... word1n], [word21, word22, ... , word2n], ... , [wordn1, wordn2, ... , wordnn]]

    这是一个多维数组,每一维是一条评论,每条评论是已经又该评论的分词构成。

    我用pickle 存储了响应的数据,这里直接载入即可。

    第二步,使积极文本的数量和消极文本的数量一样。

    1. from random import shuffle  
    2. shuffle(pos_review) #把积极文本的分列随机化  
    3. size = int(len(pos_review)/2 - 18)  
    4. pos = pos_review[:size 
    5. neg = neg_review 

    我这里积极文本的数据正好是消极文本的2倍还多18个,所认为了均衡两者数量才如许做。

    1. def pos_features(feature_extraction_method):  
    2. posFeatures = []  
    3. ....  
    4. negFeatures.append(negWords)  
    5. return negFeatures 

    这个须要用特点选择办法把文本特点化之后再付邮攀类标签。

    第四步、把特点化之后的数据数据瓜分为开辟集和测试集

    1. train = posFeatures[174:]+negFeatures[174:]  
    2. devtest = posFeatures[124:174]+negFeatures[124:174]  
    3. test = posFeatures[:124]+negFeatures[:124] 

    这里把前124个数据作为测试集,中心50个数据作为开辟测试集,最后剩下的大年夜部分数据作为练习集。

    在把文本转化为特点表示,并且瓜分为开辟集和测试集之后,我们就须要针对开辟集进行情感分类器的开辟。测试集就放在一边临时不管。

    开辟集分为练习集(Training Set)和开辟测试集(Dev-Test Set)。练习集用于练习分类器,而开辟测试集用于考验分类器的精确度。

    为了考验分类器精确度,必须比较“分类器的分类结不雅”和“人工标注的┞俘确结不雅”之间的差别。

    所以:

    • 第一步,是要把开辟测试集中,人工标注的标签和数据瓜分开来。
    • 第二步是使悠揭捉?练集练习分类器;
    • 第三步是用分类器对开辟测试集琅绫擎的数据进行分类,给出分类猜测的标签;第四步是比较分类标签和人工标注的差别,计算出精确度。

    一、瓜分人工标注的标签和数据

    二到四、可以用一个函数来做

    1. def score(classifier):  
    2. classifier = SklearnClassifier(classifier) #在nltk 中应用scikit-learn 的接口  
    3. classifier.train(train) #练习分类器  
    4. pred = classifier.batch_classify(testSet) #对开辟测试集的数据进行分类,给出猜测的标签  
    5. return accuracy_score(tag_test, pred) #比较分类猜测结不雅和人工标注的┞俘确结不雅,给出分类器精确度 

        推荐阅读

        Linux下使用sudo进行赋权

      进修怎么在保护 root 暗码的安然性的同时,为可托用户付与所治理的收集功能和特定办事的权限。我比来写了一个简短的 Bash 法度榜样来将 MP3 文件大年夜一台收集主机的 USB 盘中拷贝到另一台收集主机上去。拷贝出来的>>>详细阅读


      本文标题:使用python+机器学习方法进行情感分析(详细步骤)

      地址:http://www.17bianji.com/lsqh/40229.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)