前言
今天我们来聊聊如何用openai进行情感分析,判断用户评论的正负面性
准备工作
- Google 账号
- Openai 账号
- Openai 网址为 openai.com/
- Google Colab 网址为 colab.research.google.com/。
通过 Google Colab,用户可以创建和共享Jupyter笔记本,运行Python代码,访问云端计算资源,以及使用大量开源机器学习框架和库,而无需担心硬件或软件配置问题。而我们这里需要一点点的python 和 openai结合,当我们使用Google Colab 运行python时,可以不用担心配置环境。
注意,以上这些网站均为外网,当我们访问这些网站时,需要 "搭梯子",具体可以去网上看看教程
openAI
OpenAI GPT(Generative Pre-trained Transformer)模型的强大之处在于其在大规模文本数据上进行预训练,学习了丰富的语言知识。虽然 GPT 模型本身并没有专门为情感分析设计,但它可以用于该任务,因为它具有对自然语言的深刻理解。
在使用 GPT 进行情感分析时,可以利用以下几个功能:
- 语言理解: GPT 模型通过预训练学到了大量的语言知识,包括语法、词汇、上下文理解等。这使得它能够理解输入文本的含义,包括其中包含的情感色彩。
- 文本生成: GPT 可以生成与输入文本相匹配的自然语言文本。这对于生成情感分析的结果或解释性文本非常有用。
- 上下文感知: GPT 是一个上下文感知的模型,它可以考虑输入文本的整体上下文,而不仅仅是单个句子。这对于处理复杂的情感语境很重要。
- 生成性能: GPT 是一个生成模型,可以生成自然语言文本。这使得它在产生情感分析的结果时能够表达更加自然和多样的语言。
正文
- 首先进入openai网站,拿到我们的sdk。教程如下:
选择VPI
复制我们的API keys, 如果没有的话点击Create new secret key,这样我们就可以拿到我们的sdk了。
接下来我们进入Google Colab网站,将代码放进此网站运行。这个网站十分的方便,当我们使用Google Colab 运行python时,可以不用担心配置环境。
点击文件-> 新建笔记本 点击左上角 +代码
正文
输入 !pip install openai==0.10.2
,安装名为openai的安装包,版本号为0.10.2
当左下角出现Successfully时,说明安装成功。
输入:
python
import openai
# 设置 Completion 模型的引擎为 'text-davinci-003'
COMPLETION_MODEL = 'text-davinci-003'
# 设置 OpenAI API 密钥
openai.api_key = "这里输入你的sdk"
# 定义一个函数,用于获取模型生成的文本响应
def get_response(prompt, temperature=1.0):
# 调用 OpenAI 库的 Completion 模块,创建一个新的 completion(完成)任务
completions = openai.Completion.create(
engine=COMPLETION_MODEL,
prompt=prompt,
max_tokens=1024, # 生成的最大 tokens 数量
n=1, # 生成语句的数量
stop=None, # 停止词,这里设置为 None,表示不指定停止词
temperature=temperature # 控制生成文本的多样性,1.0 表示中等温度
)
# 打印生成的 completion 信息(可选)
print(completions)
# 从生成的选择中获取文本
message = completions.choices[0].text
return message
-
import openai
: 引入 OpenAI Python 客户端库,以便在 Python 中使用 OpenAI 提供的 API。 -
COMPLETION_MODEL = 'text-davinci-003'
: 设置使用的 GPT 模型的引擎为 "text-davinci-003",这是 DaVinci 模型系列的一个特定版本。 -
openai.api_key="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"
: 设置 OpenAI API 密钥,以进行 API 请求。 -
def get_response(prompt, temperature=1.0)
: 定义一个函数,用于获取模型生成的文本响应。函数接受两个参数:prompt
是生成文本的输入提示,temperature
是控制生成文本多样性的参数,默认值为 1.0。 -
openai.Completion.create(...)
: 调用 OpenAI 库的 Completion 模块,创建一个新的 Completion 任务。该任务包括使用指定引擎(模型)、输入提示、生成的最大 tokens 数量、生成语句的数量、停止词等参数。engine = COMPLETION_MODEL
: 指定使用的 GPT 模型引擎。prompt = prompt
: 提供生成文本的输入提示。max_tokens = 1024
: 指定生成的最大 tokens 数量。n = 1
: 指定生成语句的数量为 1。stop = None
: 停止词,这里设置为 None,表示不指定停止词。temperature = temperature
: 控制生成文本的多样性,1.0 表示中等温度。
-
print(completions)
: 打印生成的 Completion 任务的详细信息(可选,用于调试目的)。 -
message = completions.choices[0].text
: 从生成的选择中获取文本,这里取第一个选择的文本。 -
return message
: 将生成的文本作为函数的返回值。
接下来我们设计一下prompt:
提供一个包含用户评论及其情感标签的字符串变量 prompts
,然后通过将这个字符串与额外的评论连接,形成一个新的字符串变量 good_case
。使用模型对这些评论进行情感分析,并将判断结果填充到相应的位置。根据评论的内容,这个额外的评论是正面的,但是由于 情感:
部分没有具体的值,因此需要使用情感分析模型来确定情感标签。
我们来看看输出:
今天的内容就到这啦,如果你觉得小编写的还不错的话,或者对你有所启发,请给小编一个辛苦的赞吧