LLM proj - 审稿大模型

常用数据处理

主要是四种方式:正则表达式、AC自动机、困惑度过滤低质文本、最小哈希算法实现文本去重

1. 正则表达式,去做一些模式匹配

ex:

论文的评审内容有时会存在大量列举reference(参考文献)的情况

这些reference会占据大量的评审内容篇幅

且多数情况下仅为参考文献的标题、年份等无意义信息

比如将数据集中,每条评审中reference部分给替换成""

2. AC自动机词库匹配

应用场景:

  1. 从大量文本中匹配出预设词库中的敏感词。

  2. 从大量文本中判断是否存在预设词库中的某些词。

传统的低效做法是:遍历词库,对于词库中每个词都在目标文本中查询一遍。

AC自动机的方法是,对于词库中的内容构建一个前缀树,对于目标文本只需要过一遍就能知道是否存在词库中的词

EX:

  1. 构建树

通过这些模式字符串的公共前缀来进行构造

  1. 在相应节点定义接收态。

每当能构成一个模式,那么这个模式对应的最后一个节点就是接收态,图中红色就是接收态,

每个接收态会存储其对应的回溯长度

3.为树的每个节点定义失败路径机制。

失败路径机制:

位于当前节点无法再进一步往下匹配时,将指向其"节点路径的最大后缀同值节点"(如下图的橙色箭头),

如果 不存在"节点路径的最大后缀同值节点",则指向根节点(如下图的紫色箭头代表指向根节点)。

例如"she"最大后缀就是he,刚好树种有对应其他位置的he,就是他们的同值节点,比如当she走完之后发现没法再进行匹配时,就会调到另一个e上继续做匹配

然后还会拷贝失败路径对应接受态,也就是另一个e的回溯长度,2

这样有个好处,会把长路径中蕴含的短路径(模式)也可以记录到

比如在匹配aasherhsy时,前两个a,匹配不到,均是从根节点回到自身,从s开始,一直匹配到she,然后回溯,此时到e时由于存储了两个回溯长度,一个回溯三次,一个回溯两次,所以把she 、he都会算进去,she后匹配不到r,然后就跳转到最大后缀同值节点上,就是另一个e,再往下,刚好可以匹配到r,r是接收态,所以会再次回溯,her也匹配到了,r往后匹配不到了,也没有最大后缀同值节点,于是就跳转回根节点,以此类推。

3. 困惑度过滤低质文本

就是利用一些早期的LM,通过去计算loss,来得到文本的困惑度,困惑度越高就越容易不是一个通顺的句子

LM的loss就是,分解到每一步,每一步都是以前面生成token为依据,生成当前token的概率然后取log。 每一步求和,取负数,求平均。

困惑度的计算方式是

就是每一步的生成概率累乘起来然后开T次方(文本长度)

有:ppl = exp(loss)

关于loss的计算方式,label就是原始文本错一位即可,比如"我爱上学",label就是"爱上学",就是每个token的next token,就是label

计算结果示例:

可以看到语句不通顺的句子,困惑度非常高

困惑度这个指标其实不好设定相关的阈值,一般来说是,取一批样本,计算完困惑度之后按困惑度进行倒排,然后通过人为判定,取一个分位点,按照分位点对应的值再做筛选

4. 最小哈希算法实现文本去重

文本去重一般使用Jaccard相似度

就是交集的token数除以并集的token数。

但是这种方法在计算多文本以及长文本的时候计算量太大,速度慢

于是有一种近似的方法,就是minhash

步骤:

  1. 首先构造一个矩阵

类似于一个词袋模型

(这里看来,每个文本对应的向量就是[1,1,1,1], [0,1,1,1], [1,0,0,1])

  1. 行打乱

每个文本记录第一个1出现的位置对应的行号,S1S2S3分别是0,0,2,此时S1向量就是[1]

第二次打乱

S1S2S3分别是0,1,0,此时S1的向量就是[0,0]

循环进行

假设打乱了三次,S1,S2,S3分别得到一个三维向量

计算相似度

两两相似度就是,看对应位置是否相等,相等就是1否则为0,然后除以向量长度

假设原始向量长度是2000,那么我们可以通过这种方式降维到256,512等,通过这种minhash的方式来近似jaccard的结果

但是这种方式在计算的文档数过多时,还是不够快

于是在minhash基础上再引入LSH,LSH指Locality Sensitive Hashing(局部敏感哈希)

通过给minhash产生的向量进行分块,先从第一个块开始计算,若两个向量第一个块开始相似度就不够高,那么就不用再计算下去了,相当于做了一个快速的初筛

相关推荐
浊酒南街5 分钟前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程12 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
学术头条17 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
Schwertlilien1 小时前
图像处理-Ch4-频率域处理
算法
IT猿手1 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
__lost1 小时前
MATLAB直接推导函数的导函数和积分形式(具体方法和用例)
数学·算法·matlab·微积分·高等数学
thesky1234561 小时前
活着就好20241224
学习·算法
ALISHENGYA1 小时前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战项目二)
数据结构·c++·算法
guogaocai1231 小时前
连续自成核退火热分级(SSA)技术表征共聚聚丙烯(PP)分子链结构
算法
DARLING Zero two♡2 小时前
【优选算法】Pointer-Slice:双指针的算法切片(下)
java·数据结构·c++·算法·leetcode