上下文:我正在分析安妮·弗兰克(Anne Frank)日记的情绪,并从正文中选择了NLP的主要内容。在每个句子中,我都得到了该句子的情感,并将该情感与该句子中存在的每个同时出现的实体组合配对。
因此,如果句子是:“爱丽丝很伤心,但扎克很高兴,马克很高兴”,情绪:很高兴(尽管nltk实际上给出了分数)。
我希望它看起来像: (爱丽丝,扎克):开心 (爱丽丝,马克):开心 (扎克·马克):开心
冗余/不希望的: (马克,爱丽丝):开心
我给出后一个示例,因为itertools的排列可以做到这一点,但是它不会选择两个并且知道相反的情况是相同的。
我该怎么做?
到目前为止,我有:
import nltk
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
sentiments = []
for sentence in sent_list:
sentiment = sid.polarity_scores(sentence)
ent_list = []
for entity in unique_chars:
if entity in sentence:
ent_list.append(entity)
sentiments.append((ent_list,sentiment))
在这种情况下,unique_chars为['Mark','Zach','Alice']。