本发明属于知识服务领域,具体涉及一种基于交互式差分进化计算的用户知识需求获取方法。

背景技术:

在多数企业拥有庞大的知识数量和优质的知识资源的情况下,如何利用推送系统将知识主动推送给设计人员以提高企业生产效率是目前知识密集型企业关注的重点。在知识推送系统中,依据用户的任务和行为信息对产品设计人员进行推送。那么如何将合适的知识文档推送给新用户和如何将新的知识文档(即新项目)推送给需要的人的问题,即用户/项目(知识文档)冷启动问题,是知识推送系统发展的关键问题。现存的冷启动解决方案大多需要已知用户评分数据,而且只能解决用户、项目冷启动问题之一。对于产品设计领域的知识推送系统冷启动而言,由于用户-知识文档-评分数据的缺失,现有的冷启动解决方案并不适用。

技术实现要素:

有鉴于此,本发明提供了一种基于交互式差分进化计算的用户知识需求获取方法,能够在缺失用户-知识文档-评分数据的条件下,同时解决用户冷启动和项目冷启动问题。

实现本发明的技术方案如下:

一种基于交互式差分进化计算的用户知识需求获取方法,包括以下步骤:

步骤一、将知识文档转化为向量,构建向量数据库;

步骤二、将向量数据库中的向量聚为N类,从每类中随机抽取一个向量,得到N个种群向量,记为{xi(g)},其中xi(g)表示种群中第g代的第i个向

量,i=1,2,…,N;g=0,1,2,……;

步骤三、将种群向量对应的知识文档推送给用户,设置用户满意度指标为点击率,若用户对所推送的知识文档的点击率不小于80%,执行步骤六,若点击率小于80%,执行步骤四—步骤五;

步骤四、依次对第g代的N个种群向量分别进行变异、交叉得到新的N个向量{ui(g+1)};

利用贪婪算法从得到的{ui(g+1)}和{xi(g)}中选择得到下一代种群个体;

其中,f(ui(g+1))表示个体ui(g+1)的适应度值;

步骤五、利用余弦相似度算法依次计算N个g+1代种群向量与向量数据库中的向量的相似度,选取最相近的N个向量所对应的知识文档,交互次数累加1,执行步骤三;

步骤六、将当前的N个种群向量作为用户知识需求模型输出。

进一步地,所述知识文档包括pdf文档,word文档和txt文档。

进一步地,步骤一中,采用doc2vec(文本向量转化)技术将知识文档转化为向量。

进一步地,步骤二中,利用K-means方法将向量聚为N类。

有益效果:

本发明首次将进化算法与交互式方式结合来获取用户知识需求;根据用户的点击行为确定适应度函数并再次进行进化算子的计算,达到用户满意度时用户点击的文本数据,即可用来训练用户的知识需求模型,拟合用户的知识需求。本发明实现了在缺失用户-知识文档-评分数据的条件下,同时解决用户冷启动和项目冷启动问题。

附图说明

图1为本发明方法流程图。

具体实施方式

下面结合附图并举实施例,对本发明进行详细描述。

如图1所示,本发明提供了一种基于交互式差分进化计算的用户知识需求获取方法,包括以下步骤:

步骤一、利用自然语言处理技术对知识文档进行预处理,所述知识文档包括pdf文档,word文档和txt文档,所述预处理包括分词和去除停用词;然后利用doc2vec(文本向量转化)技术将预处理后的知识文档转化为向量。构建知识文档向量数据库,该向量数据库是底层处理的基础数据,知识文档是呈现给用户的数据。

步骤二、确定用户单次浏览条目数量N,设置交互次数初始值actNum=1。其中浏览条目数量N指呈现给用户的界面所示的知识文档个数。交互次数定义为:算法每生成一次推荐列表,便将知识文档推送给用户,用户对推荐的知识文档进行一系列的点击,利用差分进化算法处理用户点击过的知识文档并再次生成推荐列表。这样的一次算法推送-用户点击的过程成为一次交互。将向量数据库中的向量利用K-means方法聚为N类,从每类中随机抽取一个向量,得到N个种群向量,每个向量为一个个体,参与后续的进化算法计算,记为{xi(g)},其中xi(g)表示种群中第g代的第i个向量,i=1,2,…,N;g=0,1,2,……;

步骤三、将种群向量对应的知识文档推送给用户,设置用户满意度指标为点击率CTR(Click-Through-Rate),若用户对所推送的知识文档的点击率不小于80%,执行步骤六,若点击率小于80%,执行步骤四—步骤五;

步骤四、进行差分进化算子计算。其具体步骤为:

依次对第g代的N个种群向量分别进行变异操作得到中间体{vi(g+1)};

vi(g+1)=xr1(g)+F·xr2(g)-xr3(g)),i≠r1≠r2≠r3

其中,xr1(g)为第g代待变异向量,r1=1,2,…,N,xr2(g)和xr3(g)为第g代种群向量中两个不同的向量,r2=1,2,…,N,r3=1,2,…,N,r1≠r2≠r3,F为缩放因子,是一个常数;

对种群中的所有向量{xi(g)}及变异得到的中间体{vi(g+1)}进行个体间交叉操作得到新的N个向量{ui(g+1)};其中,ui(g+1)中的各元素uj,(g+1)根据下式得到,j=1,2,…,D,其中D为向量元素总数:

其中,CR为交叉概率,为设定值;vj,i(g+1)为中间体vi(g+1)的第j个元素,xj,(g)为xi(g)的第j个元素;若随机数rand(0,1)小于等于交叉概率CR,则第g+1代的第i个向量的第j个元素取中间体的第j个元素;反之,则取第g代的第i个向量的第j个元素;

利用贪婪算法从得到的{ui(g+1)}和{xi(g)}中选择得到下一代种群个体;

其中,f(ui(g+1))表示个体ui(g+1)的适应度值;

f(i)将进化算法的迭代过程与用户行为信息联系起来,用户对呈现的推荐列表进行点击,被用户点击过得文档对应适应度值1,未被点击的文本对应的适应度值为0。

步骤五、利用余弦相似度算法依次计算N个g+1代种群向量与向量数据库中的向量的相似度,选取最相近的N个向量所对应的知识文档,交互次数累加1,执行步骤三;

步骤六、将当前的N个种群向量作为用户知识需求模型输出,并输出当前交互次数。

上述步骤一—步骤六即为用户知识需求获取的具体过程,可以获知用户对哪些知识文档感兴趣。

本发明中,种群数量N、缩放因子F和交叉概率CR可根据实际数据集进行实验,在最小交互次数内达到用户满意度的参数组合(种群数量N、缩放因子F和交叉概率CR)即为最佳优化策略值。

当新用户进入系统时,可以通过本方法快速获取其知识需求,训练其知识需求模型,在后续的推荐过程中将合适的知识推送给新用户,以解决新用户冷启动问题。当新项目进入系统时,可以利用已经训练好的用户知识需求模型判断新项目(即新的知识文档)为哪些用户所需,并将新知识推送给合适的用户,以解决新项目冷启动问题。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...相关推荐

  1. dbpedia知识图谱java_一种基于DBpedia的水务领域概念知识图谱构建方法与流程

    本发明涉及的是领域知识图谱构建技术领域,涉及到一种基于DBpedia的水务领域概念知识图谱构建方法,特别涉及到一种基于Jaccard相似度算法与随机游走相似度算法结合的协同过滤模型框架,用于补全概念模 ...

  2. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  3. 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程

    本发明涉及语音识别技术领域,具体涉及一种基于维特比算法的花洒语音识别系统及方法. 背景技术: 随着生活水平的提高和住房条件的改善,很多家庭都安装了沐浴设施,花洒是其中最常见的淋浴装置.目前花洒产品多为 ...

  4. bim 模型web页面展示_一种基于BIM模型的Web端轻量化展示方法与流程

    本发明涉及基坑结构模型技术领域,尤其涉及一种基于bim模型的web端轻量化展示方法. 背景技术: 建筑信息模型(buildinginformationmodeling,bim)技术在土木工程领域快速推 ...

  5. 手机室内地磁定位软件_一种基于手机地磁和场景图像的室内定位方法与流程

    本发明属于室内定位领域,具体涉及一种利用地磁和场景图像搭建地图,并用卷积神经网络提取出位置特征,以粒子滤波算法进行动态定位的方法. 背景技术: 室内定位技术在现在的提高我们的日常生活便利中起着非常重大 ...

  6. ue4导入倾斜摄影_一种基于Smart3D倾斜摄影技术输出实际地形等高线的方法与流程...

    本发明涉及测绘技术领域,具体涉及一种基于Smart 3D倾斜摄影技术输出实际地形等高线的方法. 背景技术: 近年来无人机倾斜摄影技术在低空摄影测量领域得到了快速的发展,该技术通过在一个飞行平台上搭载多 ...

  7. python鱼眼图像识别_一种基于鱼眼摄像头的人脸识别锁以及识别方法与流程

    本发明涉及人脸识别领域,特别涉及一种基于鱼眼摄像头的人脸识别锁. 背景技术: 人脸识别具有用在门锁上存在一些不足.例如,门锁一般装在门上,其高度在安装时已经固定,针对不同身高的用户来说可能造成人脸图像 ...

  8. ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法

    一种基于芯片ft232h的usb接口电路的制作方法 [技术领域] [0001 ] 本实用新型涉及一种USB接口电路,具体涉及一种基于芯片FT232H的USB接口电路. [背景技术] [0002]USB ...

  9. android 绘画笔迹回放_一种基于可缩放矢量图形的安卓平台笔迹回放方法及装置与流程...

    本发明涉及笔迹显示领域,更具体地,涉及一种基于可缩放矢量图形的安卓平台笔迹回放方法及装置. 背景技术: 智能移动设备平台上的回放技术已遍布许多安卓(Android)软件中,比如:字帖类软件,画图类软件 ...

最新文章

  1. Spring AOP里面的几个名词的概念:
  2. 关于navicat提权的方法
  3. 前端学习(2824):数据绑定前的代码编辑器技巧
  4. 华为Mate 30 Pro曝光:双曲面刘海屏 支持3D人脸识别
  5. Web Session和Cookie
  6. 破解数字游戏 —— 概率篇
  7. java 字符串转换int_java IPV4字符串转int或long
  8. 摄像机标定的简单理解与纪要
  9. 服务器显示器超分辨率,不花钱就能让显示器分辨率翻番?不试你就亏了!
  10. 密码学RSA解密之Pollard_rho分解
  11. STM32系统定时器闪烁LED灯
  12. Java流及流操作示例
  13. 在线绘制流程图网站、思维导图网站总结
  14. 超级无敌qmail安装大法,详尽之极
  15. Python PEP8编码规范(中文版)
  16. 大数据Hive(七):Hive的开窗函数
  17. 数据结构与算法——左程云06
  18. 为何机房要升级动环监控系统?
  19. 山雨欲来风满楼——云计算趋势一览
  20. idm下载器是免费的吗?有哪些功能

热门文章

  1. 在有序旋转数组中找到最小值
  2. 机器学习笔记 (聚类) 层次聚类 Agglomerative Clutsering(Single-linkage、Complete-linkage,Group average)
  3. 机器学习笔记:triplet loss
  4. 深度学习核心技术精讲100篇(六十)-深度学习分类算法之神经网络
  5. Matlab并行运算
  6. Hadoop在Ubuntu下的安装配置(配置成功)
  7. Python100入门题 | 第001题
  8. 第8章 多项式回归与模型泛化
  9. neuroph轻量级神经网络框架
  10. 在Mybatis-spring上基于注解的数据源实现方案