写一段用python的nltk做中文情感分析的代码
时间: 2023-03-03 19:00:19 浏览: 259
以下是一个简单的使用Python NLTK库进行中文情感分析的代码示例:
首先,需要安装中文分词器,例如jieba库。使用以下命令可以安装jieba库:
```
pip install jieba
```
接下来,需要导入必要的库并加载情感词典。假设我们使用的情感词典为NTUSD(台湾大学情感词典),可以使用以下代码加载情感词典:
```
import jieba
import pandas as pd
sentiment_df = pd.read_csv('path/to/ntusd.csv', encoding='utf-8')
sentiment_dict = {}
for index, row in sentiment_df.iterrows():
sentiment_dict[row['詞語']] = row['分數']
```
加载完情感词典后,可以编写一个函数来计算句子的情感得分:
```
def get_sentiment_score(sentence):
words = jieba.lcut(sentence)
sentiment_score = 0
for word in words:
if word in sentiment_dict:
sentiment_score += sentiment_dict[word]
return sentiment_score
```
该函数首先使用jieba库对输入句子进行分词,然后计算分词后每个词的情感得分,并将所有词的情感得分相加得到句子的总情感得分。最后,函数返回句子的情感得分。
使用该函数,我们可以对一组句子进行情感分析:
```
sentences = ['这部电影真的很好看', '这个产品质量很差']
for sentence in sentences:
score = get_sentiment_score(sentence)
if score > 0:
print(sentence + '的情感得分为:积极')
elif score < 0:
print(sentence + '的情感得分为:消极')
else:
print(sentence + '的情感得分为:中性')
```
以上代码将输出以下结果:
```
这部电影真的很好看的情感得分为:积极
这个产品质量很差的情感得分为:消极
```
该示例仅仅是一个简单的中文情感分析代码,实际上,中文情感分析面临着许多挑战,例如分词精度、情感词典的覆盖范围等等。因此,在实际应用中,需要根据具体情况对中文情感分析算法进行适当的调整和优化。
阅读全文