搜索神器Perplexity的详细使用方法(持续更新)

  大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。

  本文主要介绍了Perplexity的详细使用方法,希望对新手有所帮助。需要说明的是,Perplexity不需要上网工具,很方便新手和小白上手使用。Perplexity的官网链接为:https://www.perplexity.ai/
在这里插入图片描述

1. 为什么要讲Perplexity?

  虽然ChatGPT能够完成文章创作(创作故事、撰写新闻、编写论文)、代码辅助(编写代码、查找Bug)、回答各类问题。看似是无所不能,但作为一名深耕AI多年的从业者,客观的说ChatGPT的确是有史以来功能最为强大的聊天机器人,它各种实用功能于一身,而且能够在精细的提醒下修正错误信

### 计算困惑度 困惑度是在自然语言处理和机器学习领域中衡量模型预测能力的一个重要指标。该指标反映了模型对于测试数据集的不确定性程度,较低的困惑度意味着更好的模型性能[^1]。 具体而言,在给定一个由词序列组成的语料库的情况下,如果有一个概率模型可以估计这些词语出现的概率,则可以通过下述公式来定义困惑度: \[ \text{Perplexity} = P(w_1, w_2,...,w_n)^{-\frac{1}{n}}= \exp\left(-\frac{\sum_{i=1}^{n}\log(P(w_i|context))}{n}\right)\] 其中 \(P(w_i|context)\) 表示根据上下文条件下的单词\(w_i\) 的概率;而 \(n\) 则代表整个文本中的总词汇数。上述表达式实际上是对所有位置上的负对数似然取平均后再做指数运算的结果。 为了更直观理解如何实现这一过程,下面给出一段Python代码片段用于计算简单N元语法(N-gram)模型的困惑度: ```python import math from collections import defaultdict def calculate_perplexity(test_data, ngram_model): total_log_prob = 0.0 word_count = 0 for sentence in test_data: words = sentence.split() for i in range(len(words)-1): context = tuple(words[max(0,i-n+1):i]) if n>1 else () next_word = words[i+1] prob = ngram_model.get((context,next_word), 1e-8) total_log_prob += math.log(prob, 2) word_count += 1 avg_log_prob = total_log_prob / word_count perplexity = 2 ** (-avg_log_prob) return perplexity ``` 此函数接收两个参数:一个是作为输入的数据集`test_data`(通常是一系列句子),另一个是从训练集中构建好的N-Gram模型`ngram_model`。通过遍历每一个句子并累加各位置上目标字对应的条件概率值,最终得到整体困惑度得分。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herosunly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值