• 大小: 2.91MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: 其他
  • 标签:

资源简介

微博语料情感分析代码,希望大家互相学习,互相帮助。

资源截图

代码片段和文件信息

import jieba
import numpy as np
import codecs
import re

#打开词典文件,返回列表
def open_dict(Dict):
    path = ‘%s.txt‘ % Dict
    dictionary = codecs.open(path ‘r‘ encoding=‘utf-8‘)
    dict = []
    for word in dictionary:
        word = word.strip(‘\n‘)
        dict.append(word)
    return dict



def judgeodd(num):
    if (num % 2) == 0:
        return ‘even‘
    else:
        return ‘odd‘


#注意,这里你要修改path路径。
deny_word = open_dict(Dict = ‘foudingci‘)
posdict = open_dict(Dict = ‘positive‘)
negdict = open_dict(Dict = ‘negative‘)

degree_word = open_dict(Dict = ‘chengduci‘)
mostdict = degree_word[degree_word.index(‘extreme‘)+1 : degree_word.index(‘very‘)]#权重4,即在情感词前乘以4
verydict = degree_word[degree_word.index(‘very‘)+1 : degree_word.index(‘more‘)]#权重3
moredict = degree_word[degree_word.index(‘more‘)+1 : degree_word.index(‘ish‘)]#权重2
ishdict = degree_word[degree_word.index(‘ish‘)+1 : degree_word.index(‘last‘)]#权重0.5



def sentiment_score_list(dataset):
    seg_sentence = dataset.split(‘。‘)

    count1 = []
    count2 = []
    for sen in seg_sentence: #循环遍历每一个评论
        segtmp = jieba.lcut(sen cut_all=False)  #把句子进行分词,以列表的形式返回
        i = 0 #记录扫描到的词的位置
        a = 0 #记录情感词的位置
        poscount = 0 #积极词的第一次分值
        poscount2 = 0 #积极词反转后的分值
        poscount3 = 0 #积极词的最后分值(包括叹号的分值)
        negcount = 0
        negcount2 = 0
        negcount3 = 0
        for word in segtmp:
            if word in posdict:  # 判断词语是否是情感词
                poscount += 1
                c = 0
                for w in segtmp[a:i]:  # 扫描情感词前的程度词
                    if w in mostdict:
                        poscount *= 4.0
                    elif w in verydict:
                        poscount *= 3.0
                    elif w in moredict:
                        poscount *= 2.0
                    elif w in ishdict:
                        poscount *= 0.5
                    elif w in deny_word:
                        c += 1
                if judgeodd(c) == ‘odd‘:  # 扫描情感词前的否定词数
                    poscount *= -1.0
                    poscount2 += poscount
                    poscount = 0
                    poscount3 = poscount + poscount2 + poscount3
                    poscount2 = 0
                else:
                    poscount3 = poscount + poscount2 + poscount3
                    poscount = 0
                a = i + 1  # 情感词的位置变化

            elif word in negdict:  # 消极情感的分析,与上面一致
                negcount += 1
                d = 0
                for w in segtmp[a:i]:
                    if w in mostdict:
                        negcount *= 4.0
                    elif w in verydict:
                        negcount *= 3.0
                    elif w in moredict:
                        negcount *= 2.0
                    elif w in ishdict:
                        negcount *= 0.5
                    elif w in degree_word:
                        d += 1
                if judgeodd(d) == ‘odd‘:
                    negcount *= -1.0
                    negcount2 += negc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        197  2017-05-07 21:36  Textming\.idea\encodings.xml

     文件        228  2017-05-07 21:28  Textming\.idea\misc.xml

     文件        268  2017-05-07 21:28  Textming\.idea\modules.xml

     文件        398  2017-05-07 21:28  Textming\.idea\Textming.iml

     文件      25496  2017-05-07 22:31  Textming\.idea\workspace.xml

     文件       6148  2016-10-26 19:06  Textming\Textming\.DS_Store

     文件        228  2017-05-07 20:46  Textming\Textming\.idea\misc.xml

     文件        268  2016-10-26 00:06  Textming\Textming\.idea\modules.xml

     文件        474  2017-05-07 20:46  Textming\Textming\.idea\Textming.iml

     文件      20770  2017-05-07 21:35  Textming\Textming\.idea\workspace.xml

     文件       1541  2016-10-26 17:10  Textming\Textming\chengduci.txt

     文件         74  2016-10-26 18:03  Textming\Textming\foudingci.txt

     文件     119538  2016-10-26 16:37  Textming\Textming\negative.txt

     文件      68600  2016-10-26 16:12  Textming\Textming\positive.txt

     文件       6099  2017-05-13 12:06  Textming\Textming\senti_python.py

     文件     303922  2014-02-17 20:18  Textming\yuliao\result.txt

     文件     640943  2017-05-13 12:31  Textming\yuliao\result2.txt

     文件    5644291  2014-01-19 13:45  Textming\yuliao\yuliaoku.txt

     文件       5182  2017-05-07 22:27  Textming\yuliao\yuliaoku_sample.txt

     目录          0  2017-05-15 15:34  Textming\Textming\.idea

     目录          0  2017-05-15 15:34  Textming\.idea

     目录          0  2017-05-15 15:34  Textming\Textming

     目录          0  2017-05-15 15:34  Textming\yuliao

     目录          0  2017-05-15 15:34  Textming

----------- ---------  ---------- -----  ----

              6844665                    24


评论

共有 条评论

相关资源