CN110334204B - 一种基于用户记录的习题相似度计算推荐方法 - Google Patents
一种基于用户记录的习题相似度计算推荐方法 Download PDFInfo
- Publication number
- CN110334204B CN110334204B CN201910444120.3A CN201910444120A CN110334204B CN 110334204 B CN110334204 B CN 110334204B CN 201910444120 A CN201910444120 A CN 201910444120A CN 110334204 B CN110334204 B CN 110334204B
- Authority
- CN
- China
- Prior art keywords
- exercise
- exercises
- target
- user
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于用户记录的习题相似度计算推荐方法,本发明通过利用item2vec思想和卷积神经网络各自优点,将两者有效的结合起来,解决目前习题推荐中由于题目包含大量公式符号内容结构复杂,语义曲折从而难以匹配类似题型的问题,并能够在自然语言处理的角度,将习题进行分词,学习习题具体的语法含义,在词义上匹配类似题型。最终让习题推荐***更好的推荐更匹配的相似题型,提升习题推荐质。
Description
技术领域:
本发明属于软件领域,具体涉及一种基于用户记录的习题相似度计算推荐方法。
背景技术:
最常用的基于机器学习的方式做文本相似度检测的算法TIIDF,LSA,LDA等方法在数据格式,清洗做的比较到位的情况下可以取得一定的准确性,但是这个仅仅在较弱语意上的相似,因此在实际的推荐使用中效果不是非常好,推荐的题目基本都是非常相似的(属于一个意思的题目),这里如何提高算法在语意层面的理解,真正获取习题语意上的相关性是非常重要的,这里基于深度学习的算法被很多场景使用,基于LSTM,CNN的模型,能在一定程度上对句子的语意进行学习和表示,因此利用深度学习的算法在进行文本相似度匹配在效果上比传统的机器学习方法要好一些,但是由于习题与原始文本句子有非常大的不同,语句意思更为曲折变幻,多种文本参杂(数学符号和公式等),而这些在模型上基本都是被过滤掉的,这样对句子的匹配准确度会大大降低。现有的基于深度学习的方式也很难取得令人满意的结果。
名词解释:
word2vec:是谷歌2013年提出的词嵌入模型,实际上是一种浅层的神经网络模型,有两种网络结构,分别为CBOW和Skip-gram。本专利主要使用到word2vec的网络模型为Skip-gram。
item2vec:主要是将word2vec的方法用到推荐***中,将商品项作为word2vec里面的单词,将用户一次购买的商品项集合作为word2vec里面的句子。
skip-gram网络模型:是由输入层,映射层,输出层组成的神经网络,是通过目标单词推测语境,即输入一个目标单词,得到上下文单词。
softmax:为归一化指数函数,将多个神经元的输出映射到(0,1)区间内,可以视为概率。
交叉熵:作为模型的损失函数,主要计算实际输出和期望输出的差异距离。即交叉熵值越小,实际输出和期望输出就越接近。
一次练习:即以客户某一时间段内做的习题的集合或客户一次所做的设定数量的习题。
同一类型习题:即两个习题是一个学科或一个知识点下的同种形式的习题。
发明内容:
本发明公开了一种基于用户记录的习题相似度计算推荐方法;本发明能较好的应对习题内容结构复杂导致相似度计算不当使得习题推荐出现不准确的问题,有效的提高习题推荐准确度。
为了达到此发明目的,本发明采用以下技术方案:
一种基于用户记录的习题相似度计算推荐方法,包括以下步骤:
步骤一、将每一个习题作为一个语句进行分词处理,得到习题中分词的词嵌入向量,再将每个习题所有词的词嵌入向量按照习题中词语出现的先后语序连接为一个矩阵,得到代表习题信息的习题矩阵,使用卷积神经网络模型对习题矩阵进行处理:卷积神经网络模型采用不同尺寸的过滤器进行卷积,得到多个输出特征,将输出特征的结果进行池化处理,拼接为一个向量vector1;
步骤二、将习题作为一个整体,计算习题之间的相似度:将习题本身作为一个词,将各个用户一次做过的习题的集合作为一个句子;计算两个习题在同一习题的集合中同时出现的概率作为两个习题的相似度;最终得到每个习题本身的嵌入向量,即向量vector2;
步骤三、将vector1和vector2拼接得到最终的向量vector,通过向量vector进行训练得到训练好的模型;
步骤四、向训练好的模型输入用户所做的最近一个习题,输出结果为题库中所有习题对应用户所做的习题是同一类别的概率即为推荐概率,对结果中所有的习题的概率进行排序处理,选取推荐概率最大的a个用户还未做过的习题展示给用户完成推荐任务;a为设定的习题推荐数。
进一步的改进,所述步骤一包括如下步骤:
步骤一、使用第三方库jieba中文分词组件对每个习题进行分词,对得到的分词使用word2vec的skip-gram网络模型进行训练,将习题中的每个词映射成一个d维词向量,将每个习题中所有分词的词向量按照在习题中的语义顺序进行连接,得到一个代表习题矩阵;取词数最大的习题,词数为n;将每个习题处理为n*d矩阵,词数小于n的习题进行补0操作,使得输入的数据保持维度一致;使用卷积模型学习习题矩阵,设置2*d,3*d,5*d三个尺寸且每个尺寸分别使用三个过滤器进行卷积操作,将输出特征进行最大池化操作;将处理的九个输出特征的结果拼接成一个包含习题语义信息的向量vector1。
进一步的改进,所述步骤二包括如下步骤:
用skip-gram网络模型得到每个习题的嵌入向量:首先将用户一次练习中所做的习题作为一个集合,设用户一次练习中所做的习题数量为S,习题分别为W1,W2,W3……WS;选中当前目标习题Wi,使用skip-gram网络模型输出和当前目标习题Wi在一个习题集合共现的其他习题即正样本;模型的训练要使得在所有习题集合中目标习题Wi与用户一次练习中其余习题两两共现的条件概率最大,即最大;
其中ui是目标习题Wi的向量,vj是和目标习题Wi同时出现在集合中的习题
的向量;I代表包含所有习题的题库;k表示输入题库的习题;Wj表示在用
户一次练习的习题中与目标习题Wi不同的习题;
运用负采样的方法,即随机抽取多个与目标习题Wi不在同一集合的习题即负样本来进行输出的优化,降低模型的训练计算量;最终得到习题本身的嵌入向量表达:向量vector2。
进一步的改进,所述步骤三包括如下步骤:
将向量vector1和向量vector2拼接得到最终的向量vector,将向量vector输入到一个全连接的神经网络中,然后通过最终的向量vector进行学习训练:以同一类型习题作为一个训练集合,若干训练集合作为一个训练集,输入目标习题,期望输出的习题为和目标习题属于同一类型习题的其他习题,使得输出为与前目标习题是同一类型的其他习题的概率最大,与当前目标习题不是同一类型的其他习题的计算出来的概率最小,得到训练好的模型。
进一步的改进,训练的过程中采用负采样的方法进行加速训练,即对于一个目标习题的输入,随机抽取出e个并非和目标习题出现在同一集合的习题即负样本来对参数的更新过程进行优化,减小计算量,加快网络的训练速度。
本发明的有益效果:本发明能较好的应对习题内容结构复杂导致相似度计算不当使得习题推荐出现不准确的问题,有效的提高习题推荐准确度。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的具体实施方式一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是步骤一的流程示意图。
图2是本发明的最终流程示意图。
具体实施方式:
下面结合附图对本发明的具体实施例作进一步详细描述,应当理解,此处所描述的实施方式用于说明和解释本发明,并不用于限定本发明。
实施例1
本发明具体步骤图1和图2所示:
1)首先采用第三方库jieba中文分词对每个习题进行分词,对得到的分词用word2vec的skip-gram网络模型进行训练,从而将每个词映射成一个d维词向量。将习题的所有分词的词向量进行连接,得到一个代表习题的矩阵。取词数最大的习题,词数为n。将每个习题处理为n*d矩阵,词数小于n的习题进行补0维持输入的维度。最终将所有的习题表示为n*d矩阵。接下来用卷积神经网络学习习题矩阵,设置2*d,3*d,5*d三个尺寸分别三个过滤器进行卷积操作,并将输出特征用最大池化操作输出最大值。将处理九个输出特征的结果进行拼接成一个包含习题语义信息的向量vector1。
2)将习题作为一个整体,通过item2vec的思想用skip-gram网络模型试图得到每个习题的嵌入向量,将用户一次所做的习题作为一个集合,设用户本次所做的习题数量为S,习题为W1,W2,W3……WS。我们选中当前目标习题Wi,那么需要skip-gram网络输出和当前目标习题在一个集合共现的其他习题即正样本,而未在一个集合中出现的习题为负样本。模型的训练要使得一个习题集合中两两共现的习题的条件概率最大。模型相应的目标函数如下:
其中ui是目标习题Wi的向量,vj是和目标习题Wi同时出现在集合中的习题的向量;I代表包含所有习题的题库;k表示输入题库的习题;
运用负采样的方法,即随机抽取多个不在当前集合的习题即负样本来进行输出的优化,每次只需要更新少量参数来加速训练,最终得到习题本身的嵌入向量表达:向量vector2。
3)将向量vector1和向量vector2拼接得到最终的向量vector,将向量vector输入到一个全连接的神经网络中,然后进行学习训练:输入目标习题,期望输出的习题为和目标习题属于一个类别的其他习题,具体为输入一个目标习题向量vector,经过多层神经网络和softmax函数归一化之后得到题库中每个习题与当前习题为同一个类型的习题的概率,模型的拟合目标是使和当前目标习题是同一类型的其他习题的计算出来的概率最大,使和当前目标习题不是同一类型的其他习题的计算出来的概率最小。训练完成之后模型能够根据目标习题向量计算出题库中其他习题和它是同一类型的概率即为推荐这些习题的概率。
习题的数量较大,如果采用正常采样训练方式会需要大量的计算和时间,这里采用负采样的思想进行输出的优化,具体措施为对于一个目标习题,随机选取若干个负样本(一般设置数量为3-7个),采用交叉熵的形式进行训练,从而完成模型的训练,该方式对比全数量习题的训练更加节约训练计算成本和训练时间。
4)将步骤3训练好的模型,输入用户所做习题样本,输出结果为所有习题对应该习题进行推荐的概率,这个概率代表和该习题属于同一类别的概率,对结果中所有的习题的概率进行排序处理,选取最大的a个用户还未做过的习题展示给用户完成推荐任务。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于用户记录的习题相似度计算推荐方法,其特征在于,包括以下步骤:
步骤一、将每一个习题作为一个语句进行分词处理,得到习题中分词的词嵌入向量,再将每个习题所有词的词嵌入向量按照习题中词语出现的先后语序连接为一个矩阵,得到代表习题信息的习题矩阵,使用卷积神经网络模型对习题矩阵进行处理:卷积神经网络模型采用不同尺寸的过滤器进行卷积,得到多个输出特征,将输出特征的结果进行池化处理,拼接为一个向量vector1;
步骤二、将习题作为一个整体,计算习题之间的相似度:将习题本身作为一个词,将各个用户一次做过的习题的集合作为一个句子;计算两个习题在同一习题的集合中同时出现的概率作为两个习题的相似度;最终得到每个习题本身的嵌入向量,即向量vector2;
用skip-gram网络模型得到每个习题的嵌入向量:首先将用户一次练习中所做的习题作为一个集合,设用户一次练习中所做的习题数量为S,习题分别为W1,W2,W3……WS;选中当前目标习题Wi,使用skip-gram网络模型输出和当前目标习题Wi在一个习题集合共现的其他习题即正样本;模型的训练要使得在所有习题集合中目标习题Wi与用户一次练习中其余习题两两共现的条件概率最大,即最大;
其中ui是目标习题Wi的向量,vj是和目标习题Wi同时出现在集合中的习题的向量;I代表包含所有习题的题库;k表示输入题库的习题;Wj表示在用户一次练习的习题中与目标习题Wi不同的习题;
运用负采样的方法,即随机抽取多个与目标习题Wi不在同一集合的习题即负样本来进行输出的优化,降低模型的训练计算量;最终得到习题本身的嵌入向量表达:向量vector2;
步骤三、将vector1和vector2拼接得到最终的向量vector,通过向量vector进行训练得到训练好的模型:将向量vector1和向量vector2拼接得到最终的向量vector,将向量vector输入到一个全连接的神经网络中,然后通过最终的向量vector进行学习训练:以同一类型习题作为一个训练集合,若干训练集合作为一个训练集,输入目标习题,期望输出的习题为和目标习题属于同一类型习题的其他习题,使得输出为与前目标习题是同一类型的其他习题的概率最大,与当前目标习题不是同一类型的其他习题的计算出来的概率最小,得到训练好的模型;
步骤四、向训练好的模型输入用户所做的最近一个习题,输出结果为题库中所有习题对应用户所做的习题是同一类别的概率即为推荐概率,对结果中所有的习题的概率进行排序处理,选取推荐概率最大的a个用户还未做过的习题展示给用户完成推荐任务;a为设定的习题推荐数。
2.如权利要求1所述的基于用户记录的习题相似度计算推荐方法,其特征在于,所述步骤一包括如下步骤:
步骤一、使用第三方库jieba中文分词组件对每个习题进行分词,对得到的分词使用word2vec的skip-gram网络模型进行训练,将习题中的每个词映射成一个d维词向量,将每个习题中所有分词的词向量按照在习题中的语义顺序进行连接,得到一个代表习题矩阵;取词数最大的习题,词数为n;将每个习题处理为n*d矩阵,词数小于n的习题进行补0操作,使得输入的数据保持维度一致;使用卷积模型学习习题矩阵,设置2*d,3*d,5*d三个尺寸且每个尺寸分别使用三个过滤器进行卷积操作,将输出特征进行最大池化操作;将处理的九个输出特征的结果拼接成一个包含习题语义信息的向量vector1。
3.如权利要求1所述的基于用户记录的习题相似度计算推荐方法,其特征在于,训练的过程中采用负采样的方法进行加速训练,即对于一个目标习题的输入,随机抽取出e个并非和目标习题出现在同一集合的习题即负样本来对参数的更新过程进行优化,减小计算量,加快网络的训练速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910444120.3A CN110334204B (zh) | 2019-05-27 | 2019-05-27 | 一种基于用户记录的习题相似度计算推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910444120.3A CN110334204B (zh) | 2019-05-27 | 2019-05-27 | 一种基于用户记录的习题相似度计算推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334204A CN110334204A (zh) | 2019-10-15 |
CN110334204B true CN110334204B (zh) | 2022-10-18 |
Family
ID=68140298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910444120.3A Active CN110334204B (zh) | 2019-05-27 | 2019-05-27 | 一种基于用户记录的习题相似度计算推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334204B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143604B (zh) * | 2019-12-25 | 2024-02-02 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频的相似度匹配方法、装置及存储介质 |
CN117688248B (zh) * | 2024-02-01 | 2024-04-26 | 安徽教育网络出版有限公司 | 一种基于卷积神经网络的在线课程推荐方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832453A (zh) * | 2017-11-24 | 2018-03-23 | 重庆科技学院 | 面向个性化学习方案的虚拟试卷推荐方法 |
CN109271401A (zh) * | 2018-09-26 | 2019-01-25 | 杭州大拿科技股份有限公司 | 一种题目搜索、批改方法、装置、电子设备和存储介质 |
CN109299380A (zh) * | 2018-10-30 | 2019-02-01 | 浙江工商大学 | 在线教育平台中基于多维特征的习题个性化推荐方法 |
CN109635100A (zh) * | 2018-12-24 | 2019-04-16 | 上海仁静信息技术有限公司 | 一种相似题目的推荐方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10275820B2 (en) * | 2017-01-31 | 2019-04-30 | Walmart Apollo, Llc | Systems and methods for utilizing a convolutional neural network architecture for visual product recommendations |
-
2019
- 2019-05-27 CN CN201910444120.3A patent/CN110334204B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832453A (zh) * | 2017-11-24 | 2018-03-23 | 重庆科技学院 | 面向个性化学习方案的虚拟试卷推荐方法 |
CN109271401A (zh) * | 2018-09-26 | 2019-01-25 | 杭州大拿科技股份有限公司 | 一种题目搜索、批改方法、装置、电子设备和存储介质 |
CN109299380A (zh) * | 2018-10-30 | 2019-02-01 | 浙江工商大学 | 在线教育平台中基于多维特征的习题个性化推荐方法 |
CN109635100A (zh) * | 2018-12-24 | 2019-04-16 | 上海仁静信息技术有限公司 | 一种相似题目的推荐方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110334204A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN110162593B (zh) | 一种搜索结果处理、相似度模型训练方法及装置 | |
CN111415740B (zh) | 问诊信息的处理方法、装置、存储介质及计算机设备 | |
CN107943784B (zh) | 基于生成对抗网络的关系抽取方法 | |
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
CN108363743B (zh) | 一种智能问题生成方法、装置和计算机可读存储介质 | |
WO2019153737A1 (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN109902177B (zh) | 基于双通道卷积记忆神经网络的文本情感分析方法 | |
CN110188272B (zh) | 一种基于用户背景的社区问答网站标签推荐方法 | |
CN108197109A (zh) | 一种基于自然语言处理的多语言分析方法和装置 | |
CN109977199B (zh) | 一种基于注意力池化机制的阅读理解方法 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN109726745B (zh) | 一种融入描述知识的基于目标的情感分类方法 | |
CN110516070B (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
CN111400455A (zh) | 基于知识图谱的问答***的关系检测方法 | |
CN109840328B (zh) | 深度学习商品评论文本情感倾向分析方法 | |
CN111552773A (zh) | 一种阅读理解任务中是否类问题关键句寻找方法及*** | |
CN113486645A (zh) | 一种基于深度学习的文本相似度检测方法 | |
CN110334204B (zh) | 一种基于用户记录的习题相似度计算推荐方法 | |
CN115270752A (zh) | 一种基于多层次对比学习的模板句评估方法 | |
CN110874392B (zh) | 基于深度双向注意力机制的文本网络信息融合嵌入方法 | |
CN110569355B (zh) | 一种基于词块的观点目标抽取和目标情感分类联合方法及*** | |
CN110969005B (zh) | 一种确定实体语料之间的相似性的方法及装置 | |
CN110852071A (zh) | 知识点检测方法、装置、设备及可读存储介质 | |
CN114625908A (zh) | 基于多通道注意力机制的文本表情包情感分析方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |