用Python编程一个用户评价系统,要求使用列表、字典、jieba库对自定义文本进行分词、使用add_word()、del_word()函数修改分词字典词语、将最终的评价结果以可视化图表形式呈现
时间: 2023-06-17 20:03:04 浏览: 56
好的,这个任务可以分为以下几个步骤完成:
1. 定义评价系统需要的列表和字典
2. 使用jieba库对自定义文本进行分词
3. 使用add_word()、del_word()函数修改分词字典词语
4. 将分词结果加入评价系统的列表中
5. 根据列表中评价结果的数量统计好评、中评、差评数量
6. 使用可视化库将结果以图表形式呈现
下面我们一步一步来完成这个任务。
首先,我们需要定义评价系统需要用到的列表和字典:
```python
# 定义评价系统需要的列表和字典
positive_words = ['赞', '好', '棒', '牛逼']
negative_words = ['差', '烂', '垃圾', '坑']
evaluation_dict = {'positive': 0, 'neutral': 0, 'negative': 0}
```
其中,`positive_words`和`negative_words`是用来标记评价是好评还是差评的词语列表,`evaluation_dict`是用来记录评价结果的字典,其中'positive'表示好评数量,'neutral'表示中评数量,'negative'表示差评数量。
接下来,我们可以使用jieba库对自定义文本进行分词:
```python
import jieba
# 对自定义文本进行分词
text = '这家餐厅真的很赞,菜品很好,服务也很棒'
words = jieba.cut(text)
```
分词后得到的结果是一个可迭代对象,我们可以使用for循环将分词结果输出:
```python
# 输出分词结果
for word in words:
print(word)
```
接下来,我们可以使用add_word()、del_word()函数修改分词字典词语:
```python
# 使用add_word()、del_word()函数修改分词字典词语
jieba.add_word('赞')
jieba.del_word('垃圾')
```
修改分词字典后,我们可以将分词结果加入评价系统的列表中:
```python
# 将分词结果加入评价系统的列表中
evaluation_list = []
for word in words:
evaluation_list.append(word)
```
现在,我们可以根据列表中评价结果的数量统计好评、中评、差评数量:
```python
# 根据列表中评价结果的数量统计好评、中评、差评数量
for word in evaluation_list:
if word in positive_words:
evaluation_dict['positive'] += 1
elif word in negative_words:
evaluation_dict['negative'] += 1
else:
evaluation_dict['neutral'] += 1
```
最后,我们可以使用可视化库将结果以图表形式呈现,这里我们使用matplotlib库来实现:
```python
import matplotlib.pyplot as plt
# 使用可视化库将结果以图表形式呈现
plt.bar(evaluation_dict.keys(), evaluation_dict.values())
plt.show()
```
完整代码如下: