机器学习的文本情感识别代码
时间: 2024-03-31 20:14:48 浏览: 14
以下是一个简单的Python代码示例,用于使用自然语言处理(NLP)和机器学习来识别文本情感:
```
import pandas as pd
import numpy as np
import re
import nltk
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 读取数据
data = pd.read_csv('data.csv')
# 数据清洗
data['text'] = data['text'].apply(lambda x: re.sub('[^a-zA-Z0-9\s]', '', x.lower()))
# 分词
nltk.download('punkt')
data['text'] = data['text'].apply(lambda x: nltk.word_tokenize(x))
# 特征提取
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(data['text'].apply(lambda x: ' '.join(x)))
# 模型训练
model = MultinomialNB()
model.fit(X, data['sentiment'])
# 预测新数据
text = "I love this product!"
text = re.sub('[^a-zA-Z0-9\s]', '', text.lower())
text = nltk.word_tokenize(text)
text = vectorizer.transform([' '.join(text)])
prediction = model.predict(text)
print(prediction)
```
这个示例使用了一个朴素贝叶斯分类器来识别文本情感。首先,数据被读取并清洗,然后使用NLTK库进行分词。接下来,使用CountVectorizer来提取文本特征,这将为模型提供有关文本的信息。最后,使用MultinomialNB分类器来训练模型并预测新数据的情感。