- 博客(35)
- 收藏
- 关注
原创 【NLP论文阅读】-Building End-to-End Dialogue Systems Using Generative Hierarchical Neural Network Models
该表中MAP是HRED-bid +SubTle的结果,可看出MAP回答更加通用性,产生这种现象的原因:由于数据稀缺,模型产生最常见的回答语句。同时回答通常与U1,U2采用相同的标点符号和代词2,阻碍了回答的多样性和主题性。产生这种现象的原因是:基于 MAP (beam search)输出的指标(如余弦相似度、BLEU、Levenshtein 距离)将主要偏向于输出与测试语篇中相同数量的标点符号和代词的模型,而不是相似语义内容(如名词和动词)的模型。预训练对模型的优化效果比改变网络结果的优化效果更大。
2023-11-01 17:05:25
118
原创 【NLP论文阅读】—— A Neural Conversation Model
同时根据初步的结果显示,该模型尽管优化了一个错误的目标函数也能够对话的不错;此外,该模型既能从已有的训练集中提取信息同时也能从嘈杂的电影字幕等数据集提取信息,在以往的对话模型中,由于提问与回答之间的映射复杂,使得语言模型拘泥于狭窄的域之间,同时也要进行大量的特征工程。该模型帮助解决了这些问题。本文提出的模型是基于seq2seq,能够进行end2end的训练,因此相较于以往的研究只需要更少的handcraft rules。
2023-10-31 14:35:24
106
原创 【dp】最长上升子序列
dp[i]表示从0~i中的最大递增子序列,因此遍历时只需要查找在i之前比num[i]小的数。当数据规模增大时,传统方法就会出现超时,因此采用堆栈的方法对递增子序列查找进行优化。该方法的时间复杂度为O(n*n)
2023-10-30 16:06:05
164
原创 【NLP论文】——Attention is all you need 注意力
相较于单次使用model维度的参数query,key,value输入到attention function中,使用h次不同的,学习过的线性计算query,value,key到d_k,d_k,d_v维度,更加有效。Q,K,V分别为query,key,value的矩阵。Multi-head attention 允许模型关注来自不同位置的表示不同子空间的信息。因为当d_k 增大时,Q*K增大,使得softmax的梯度逐渐变小,因此使用。查询和键使用兼容性函数计算值的权重,值的加权和构成输出。
2023-10-29 17:55:59
76
原创 NLP基础内容
在中文中,通常以字或词作为 token。,也称为表征,(representation),这个向量可以用于后续计算,用来表示该句子在连续向量空间中的一个点。token本身不可计算,需要将其映射到一个连续向量空间,才可以进行后续运算,这个映射的结果就是该token对应的embedding。这种编码通常用于降维、特征提取、特征表示等任务,旨在从高维度的输入数据中提取有用的特征,并将其转换为更简洁、更可表达的形式。,使得具有相似语义的单词在向量空间中的距离较近,而语义不相似的单词在向量空间中的距离较远。
2023-10-24 11:49:14
60
原创 [leetcode] 279完全平方数
例如:dp[0]=0,dp[1]=1,dp[2]=2,dp[3]=3,dp[4]=1。dp[i]的最差情况为i,表示由i个1组成。dp[i]表示组成i的平方项数目。遍历2~sqrt(i)
2023-04-18 23:15:47
54
原创 【人工智能】cuda使用学习笔记
原文链接:https://blog.csdn.net/bruce_zhao1407/article/details/109580835。版权声明:本文为CSDN博主「溪午不闻钟_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。注意:Driver API和Runtime API可以不同,具体应用要看使用场景。查看运行时API 版本的前提是已将在电脑上安装了CUDA Toolkit。右上角的CUDA Version便是CUDA Driver API版本。
2023-04-18 21:07:47
140
原创 【跟着李沐学代码】从零开始线性回归
梯度下降:通过不断沿着反梯度方向更新参数求解。随机采样b个样本来近似整个样本集上的损失。步长太大:错过最优解(不断震荡)n:学习率:步长的超参数。
2023-04-18 14:22:59
39
原创 Leetcode 79. 单词搜索
输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
2023-02-19 17:24:27
67
原创 leetcode 55.跳跃的游戏
用回溯算法从后往前推判断是否可行,从0处开始判断,如果当前点能够走到pos位置,则继续回溯判断pos点之前的节点能否走到pos点,依次类推。无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。算法小白五分钟写出来,巨大的成就感(呜呜呜)判断你是否能够到达最后一个下标。谁懂,感觉一秒钟从蠢逼变成天才。
2023-02-17 11:32:57
47
原创 JAVA HashMap使用
hash.containsKey() 检查 hashMap 中是否存在指定的 key 对应的映射关系。hash.containsValue() 检查hashMap中是否存在value的对于关系。leetcode:两数之和。
2023-02-11 17:26:24
176
原创 【栈】 学习记录
栈的基本操作//基本数据结构//创建栈//摧毁栈s.n=0;s.top=-1;//出栈//入栈//判断是否为空栈//判断是否栈满。
2023-02-04 22:16:13
48
原创 双指针学习
每次都用一个”最重的“和一个”最轻的“进行配对,如果二人重量小于Limit,则此时的”最轻的“上船,即(left++)。由于本题只要求计算出最小船数,所以原数组是否被改变,和元素索引位置都不考虑在内,所以可以先对于给定数组进行排序,再从数组两侧向中间遍历。快指针每次增长一个,慢指针只有当快慢指针上的值不同时,才增长一个(由于是有序数组,快慢指针值不等说明找到了新值)。用于判断链表是否有环,快指针每次增加两个,慢指针每次增加一个,如果慢指针遇到快指针则说明有环。,快指针(fast),慢指针(slow)。
2023-02-03 12:09:57
51
原创 2351. 第一个出现两次的字母
如果 a 的 第二次 出现比 b 的 第二次 出现在字符串中的位置更靠前,则认为字母 a 在字母 b 之前出现两次。pos代表搜索到目前为止最先出现重复字母的位置,因此在迭代过程中只需要查找pos前面的字母是否有先重复出现的。字母 'c' 是第一个出现两次的字母,因为在所有字母中,'c' 第二次出现的下标是最小的。第二个字母第二次出现的位置若小于则更新pos为该字母第二次出现的位置,否则不更新。只有字母 'd' 出现两次,所以返回 'd'。字母 'b' 在下标 1 和 4 处出现。
2023-01-01 16:03:04
85
原创 P8781 [蓝桥杯 2022 省 B] 修建灌木
爱丽丝在每天傍晩会修剪一棵灌木,让灌木的高度变为 00 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。灌木每天从早上到傍晩会长高 11 厘米, 而其余时间不会长高。在第一天的早晨, 所有灌木的高度都是 00 厘米。循环修建灌木丛,灌木可以长到 的最大高度是从当前修建开始到下一次再修建所间隔的天数。修建间隔呈对称分布,因此只用计算一半的灌木丛最大高度,另一半边相同。
2022-12-28 00:12:50
553
原创 P8783 [蓝桥杯 2022 省 B] 统计子矩阵
对于 100 \%100% 的数据, 1 \leq N, M \leq 500,0 \leq A_{i j} \leq 1000,1 \leq K \leq 2.5\times10^81≤N,M≤500,0≤Aij≤1000,1≤K≤2.5×108.给定一个 N \times MN×M 的矩阵 AA,请你统计有多少个子矩阵 (最小 1 \times 11×1, 最大 N \times M)N×M) 满足子矩阵中所有数的和不超过给定的整数 KK。大小为 1 \times 11×1 的有 1010 个。
2022-12-25 22:46:26
1124
原创 P8715 [蓝桥杯 2020 省 AB2] 子串分值
向右遍历直到第一个相同的字符的字母个数为 right=2。ababc中的第二个a举例 ,向左遍历直到第一个相同的字符的字母个数为 left=1。计算公式为:num=(left+1)*(right+1)首先从左边有效的第一个字母开始:ba,bab,bac。因此可以从向左遍历,和向右遍历,找到最近的相同的字母。共有3+2+1=6 个 即(1+1)*(2+1)=6。原理:只有在子串中的个数为1时,才对子串有贡献度。因此 第二个a有贡献度的字串为。暴力枚举(只有40%的通过率)第二个字母开始:ab,abc。
2022-12-21 20:44:07
258
原创 P8706 [蓝桥杯 2020 省 AB1] 解码
在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 + 出现次数的形式。Java的String类容量很大能够满足字符串的扩张要求,因此结果保存在String字符串中;(只填充n-1个的原因为:当识别为字符时直接加入到s2中,若填充n个就会出现重复的一个)为了方便表达,小明不会将连续的超过9个相同的字符写成简写的形式。现在给出简写后的字符串,请帮助小明还原成原来的串。使用s1记录输入的字符串,s2记录输出的字符串。输出一个字符串,表示还原后的串。
2022-12-18 21:33:49
534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人