基于词典的情感分析

本文探讨了基于词典的情感分析方法,通过利用情感词典和文本处理技术,对文本进行情感极性和强度的判断。这种方法在理解用户情绪、社交媒体监控等领域具有广泛应用。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
"""
author = 'suxuer'
date =

"""
import jieba
import jieba.posseg as pseg
import sys
import importlib

print("加载用户词典...")
importlib.reload(sys)
#sys.setdefaultencoding('utf8')     #py没有这个

#下载需要分词的文件
jieba.load_userdict('G:/project/python_pachong/src/emotion_dict/pos_all_dict.txt')
jieba.load_userdict('G:/project/python_pachong/src/emotion_dict/neg_all_dict.txt')

#分词,返回List
def segmentation(sentence):
	seg_list = jieba.cut(sentence)
	seg_result = []
	for word in seg_list:
		seg_result.append(word)
	return seg_result

# 分词,词性标注,词和词性构成一个元组
def postagger(sentence):
	pos_data = pseg.cut(sentence)
	pos_list = []
	for w in pos_data:
		pos_list.append((w.word, w.flag))
	print (pos_list[:])
	return pos_list

# 句子切分
def cut_sentence(words):
	#words = words.decode('utf8')
	start = 0
	i = 0
	token = 'meaningless'
	sents = []
	#根据标点符号将句子切分
	punt_list = ',.!?;~,。!?;~… '			#.decode('utf8')
	#print "punc_list", punt_list
	for word in words:
		#print "word", word
		if word not in punt_list:   # 如果不是标点符号
			#print "word1", word
			i += 1
			token = list(words[start:i+2]).pop()
			#print "token:", token
		elif word in punt_list and token in punt_list:  # 处理省略号
			#print "word2", word
			i += 1
			token = list(words[start:i+2]).pop()
			#print "token:", token
		else:
			#print "word3", word
			sents.append(words[start:i+1])   # 断句
			start = i + 1
			i += 1
	if start < len(words):   # 处理最后的部分
		sents.append(words[start:])
	return sents

def read_lines(filename):
	fp = open(filename, 'r',encoding=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值