- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个滑动窗口来评估对话中话语分组的情绪,目标是:
Statement 1: Neutral
Statement 2: Positive
Statement 1+2: Neutral
Statement 3: Negative
Statement 1+2+3: Neutral
etc...
然后我可以非常简单地将分类转换为整数值,然后为最终的“对话”情感分类得出整个语句分组的平均值。
这是我的话语列表:
conversation = [
"Hi, how are you?",
"I'm not doing very well, thanks for asking. How about you?",
"It is the best of times and the worst of times.",
"I'm not sure what to make of that.",
"Do you have any plans for the weekend?",
"Not yet, I'm still deciding.",
"How about you?",
"I'm planning to go hiking on Saturday."]
这是我的例程-
#Define the size of the sliding window
window_size = 5
sentiment_scores = []
for i in range(len(conversation) - window_size + 1):
# Get the window of utterances
window = conversation[i:i+window_size]
print("this is the conversation with window",conversation[i:i+window_size])
# Add one or two utterances from the previous window to the beginning of the current window
if i > 0:
window = conversation[i-1:i+window_size]
# Add one or two utterances from the next window to the end of the current window
if i < len(conversation) - window_size:
window = conversation[i:i+window_size+1]
print("This is the window when a conversation has been added", window)
# Join the utterances in the window into a single string
text = " ".join(window)
# print(text)
# Use the OpenAI completion class to evaluate sentiment for the window
response = openai.Completion.create(
engine="text-davinci-003",
prompt = f"classify the sentiment of this text as Positive, Negative, or Neutral: {text}\nResult:",
temperature=0,
max_tokens=1,
n=1,
stop=None,
frequency_penalty=0,
presence_penalty=0
)
# Extract the sentiment score from the response
sentiment = response.choices[0].text.strip()
print(sentiment)
# Add the sentiment score to the list
sentiment_scores.append(sentiment)
print(sentiment_scores)
不幸的是,返回的内容不正确,因为我显然没有按照我上面描述的方式在话语中分层。使用我的一个调试打印,这就是我所看到的:
This is the window when a conversation has been added ['Hi, how are you?', "I'm not doing very well, thanks for asking. How about you?", 'It is the best of times and the worst of times.', "I'm not sure what to make of that.", 'Do you have any plans for the weekend?', "Not yet, I'm still deciding."]
Neutral
['Neutral']
This is the window when a conversation has been added ["I'm not doing very well, thanks for asking. How about you?", 'It is the best of times and the worst of times.', "I'm not sure what to make of that.", 'Do you have any plans for the weekend?', "Not yet, I'm still deciding.", 'How about you?']
Neutral
['Neutral', 'Neutral']
This is the window when a conversation has been added ['It is the best of times and the worst of times.', "I'm not sure what to make of that.", 'Do you have any plans for the weekend?', "Not yet, I'm still deciding.", 'How about you?', "I'm planning to go hiking on Saturday."]
Neutral
['Neutral', 'Neutral', 'Neutral']
This is the window when a conversation has been added ['It is the best of times and the worst of times.', "I'm not sure what to make of that.", 'Do you have any plans for the weekend?', "Not yet, I'm still deciding.", 'How about you?', "I'm planning to go hiking on Saturday."]
Neutral
['Neutral', 'Neutral', 'Neutral', 'Neutral']
如您所见,我的逻辑似乎正在评估所有语句。
然后我可以非常简单地将分类转换为整数值,然后为最终的“对话”情感分类得出整个语句分组的平均值。
如有任何想法或帮助,我们将不胜感激。
最佳答案
我是这样解决问题的:
# Define the size of the sliding window
window_size = 3
# Define the conversation as a list of utterances
conversation = [
"Hi, how are you?",
"I'm not doing very well, thanks for asking. How about you?",
"It is the best of times and the worst of times.",
"I'm not sure what to make of that.",
"Do you have any plans for the weekend?",
"Not yet, I'm still deciding.",
"How about you?",
"I'm planning to go hiking on Saturday."
]
sentiment_scores = []
for i, utterance in enumerate(conversation):
# Define the window based on the current utterance
if i < window_size:
window = conversation[:i+1]
else:
window = conversation[i-window_size+1:i+1]
print (window)
# Join the utterances in the window into a single string
text = " ".join(window)
# Use the OpenAI completion class to evaluate sentiment for the window
response = openai.Completion.create(
engine="text-davinci-003",
prompt = f"classify the sentiment of this text as Positive, Negative, or Neutral: {text}\nResult:",
temperature=0,
max_tokens=1,
n=1,
stop=None,
frequency_penalty=0,
presence_penalty=0
)
# Extract the sentiment score from the response
sentiment = response.choices[0].text.strip().split('\n')[0]
print(sentiment)
# Add the sentiment score to the list
sentiment_scores.append(sentiment)
关于python - 使用滑动窗口评估文本分组的情绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75559316/
目前,由于生成变量的评估,我的Makefile遇到了问题。我降低了复杂性,仅保留了导致问题的基本要素。 读取Makefile时, $(LIST)被评估为文件列表。 在步骤1中,其中一个文件被删除。 在
为什么这 eval 没有调用alert("Summer") ? eval('(caption="Summer";alert(caption))'); 和《夏天》里的台词有关系吗? 最佳答案 Uncau
我正在努力让以下工作正常进行。最初似乎可以工作,但不知何故它停止工作了 var setCommonAttr = "1_row1_common"; var val = document.getEleme
eval('({"suc":true})') 以上错误,应该是: eval('{"suc":true}') 为什么? 最佳答案 当尝试评估时,解释器会看到大括号并认为它是一个 block 开头。将其括
我的页面 A 发出了 ajax 调用并引入了片段 B。该片段被添加到 DOM 中,并且该片段中的所有脚本都经过了评估。在该代码片段中,我有 2 个脚本标签: function doOptions()
这里是javascript代码: var test = { "h" : function (a) {return a;}, "say" : "hello" }; 第一次运行: test
我正在查看一些工作代码,并遇到了这一行: eval("\$element = \"$element\";"); 我真的很困惑为什么任何 PHP 开发人员都会写这一行。除了给自己设置一个变量之外,这还有
谁能帮我解决以下问题: 我有这样的代码: if(cond1 && cond2 && .. && cond10) 这里,cond1 是昂贵的操作,其输出是 boolean 值。 现在我的问题是,当 co
**摘要:**华为AppCube应用魔方顺利通过信通院评估,被认证为具备 “低代码开发平台通用能力”的企业服务平台。 本文分享自华为云社区《华为AppCube通过中国信通院“低代码开发平台通用能力要求
我正在尝试通过 PHP 从图像的 EXIF 数据中获取焦距。 这是我目前得到的代码: $exif = exif_read_data("$photo"); $length10 = $exif['Foca
我想使用id =“key”将一个类添加到元素中,但是为什么不起作用?我是js的初学者:这是代码: audio.classList.add('yellow'); 这是错误: null is not an
这是我的 XML: QueWay Password Recovery 现在我想用 php 用 xpath 选择文本“QueWay”。到目前为止我所拥有的一切都很好: $xml =
使用下面的代码,即使我输入的数字大于 18,我也会得到这个结果。 运行:你今年多大? 21你还没有达到成年年龄!构建成功(总时间:3 秒) 我是java新手,正在尝试自学,有人可以帮忙吗? impor
我正在阅读 http://www.cran.r-project.org/doc/manuals/R-lang.pdf手册第 4.3 章,我就是不明白。也许有人可以给我一个快速的解释,为什么 R 的行为
在这个实现中,每次都会评估 hand 并返回另一个列表吗? foreach (Card card in hand.Cards) { } 我们应该用下面的实现替换上面的实现吗? var cards =
我正在制作 LINQ lambda 表达式: Expression> add = (x, y) => x + y; 但现在我将如何评估它,比如说找到 2+3? 最佳答案 这应该适合你: var su
我正在制作一个语言解释器,我已经到了需要评估 if 语句的地步。起初我认为这很简单,我能够让我的解释器评估简单的 if 条件,10 == 10 但是当我试图让它评估更复杂的条件时, 10 == 10
我正在尝试以下代码,该代码向 RDD 中的每一行添加一个数字,并使用 PySpark 返回 RDD 列表。 from pyspark.context import SparkContext file
在阅读了很多关于 Lisp eval-when 运算符的文档后,我仍然无法理解它的用途,我知道使用这个运算符我可以控制表达式的计算时间,但我做不到找出任何可能适用的示例? 最好的问候,utxee. 最
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我是一名优秀的程序员,十分优秀!