CN110134390B - 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 - Google Patents

一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 Download PDF

Info

Publication number
CN110134390B
CN110134390B CN201910254122.6A CN201910254122A CN110134390B CN 110134390 B CN110134390 B CN 110134390B CN 201910254122 A CN201910254122 A CN 201910254122A CN 110134390 B CN110134390 B CN 110134390B
Authority
CN
China
Prior art keywords
user
control
users
similarity
value
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
Application number
CN201910254122.6A
Other languages
English (en)
Other versions
CN110134390A (zh
Inventor
邬惠峰
严义
陈佰平
赵建勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910254122.6A priority Critical patent/CN110134390B/zh
Publication of CN110134390A publication Critical patent/CN110134390A/zh
Application granted granted Critical
Publication of CN110134390B publication Critical patent/CN110134390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法,该方法包括:对可编程控制器图编程平台软件的所有用户根据其操作进行相似度分析,寻找出和当前用户相似度最高的N个用户,根据这N个用户对各个控件的评价计算出各个控件针对当前用户的推荐值,按推荐值高低排序向当前用户推送控件,本发明提高了可编程控制器图编程平台软件的用户使用图编程的开发效率。

Description

一种基于用户相似度的可编程控制器图编程控件的智能推送 功能的实现方法
技术领域
本发明属于计算机软件领域和工业控制领域,尤其涉及一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法。
背景技术
可编程控制器诞生于20世纪60年代末,是一种以微处理器为基础的新型工业控制装置,是计算机技术在工业控制领域的崭新应用。可编程控制器系统通常包括编程器和自动化控制设备两部分,编程器的主要作用是将可编程控制器的控制程序编译为可执行文件,下载到自动化控制设备中运行。目前,可编程控制器的编程器已经从功能单一的设备发展成为在PC中运行的可编程控制器开发平台软件。
作为解决信息过载问题的有效方法之一,推荐系统已经广泛应用在电子商务、数字图书馆和文章、电影、音乐等领域。推荐系统通过分析大量用户行为日志,给予不同用户个性化建议。但是在可编程控制器领域,目前还没有一款开发平台软件支持推荐系统。
发明内容
本发明的目的是提供一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法,在可编程控制器图编程平台软件中对所有用户根据其操作进行相似度分析,寻找出和当前用户相似度最高的N个用户,根据这N个用户对各个控件的评价计算出各个控件针对当前用户的推荐值,按推荐值高低排序向当前用户推送控件。
为了解决现有技术存在的技术问题,本发明的技术方案如下:
一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法,其特征在于,至少包括以下步骤:
步骤S1:获取并存储用户在可编程控制器图编程软件上的控件操作信息;
步骤S2:对所有用户操作信息进行相似度分析并获取与当前用户相似度最高的N个用户;
步骤S3:根据相似用户对各个控件的评价计算出各个控件相对当前用户的推荐值;
步骤S4:基于推荐值对控件进行高低排序并按照该排序向当前用户推送控件。
作为进一步的改进方案,在所述步骤S1中,在可编程控制器图编程软件中,以XML文件保存用户对控件的使用记录并通过对XML工作文件的数据解析获取用户的控件操作信息。
作为进一步的改进方案,在所述步骤S1中,控件操作信息存储在服务器中,还包括可编程控制器图编程软件与服务器建立通讯连接的步骤。
作为进一步的改进方案,在所述步骤S2中,用户相似度分析在服务器中进行并将结果信息发送给可编程控制器图编程软件。
作为进一步的改进方案,在所述步骤S3中,提取其中用户对控件的使用频率作为用户对控件评价。
作为进一步的改进方案,在所述步骤S2中,用户相似度分析进一步包括以下步骤:
步骤S21:统计用户适用控件的数据:分别统计用户使用不同控件和其对应的次数;
步骤S22:计算用户对每一个控件的TF值:计算控件在用户控件库中出现的频率,即TF值,计算方法如下:
Figure BDA0002013212080000021
其中
Figure BDA0002013212080000022
表示控件ci在库中出现的次数,Allsum表示用户使用过的控件总数;
步骤S23:计算整个控件集中每一个控件的IDF值:IDF值为“逆文档频率”,代表某个控件被使用的用户数,并与其成反比;计算方法如下:
Figure BDA0002013212080000031
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数;
步骤S24:以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
Figure BDA0002013212080000032
步骤S25:构建用户-控件评价矩阵;
步骤S26:计算用户与用户之间的相似度,根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高;计算公式如下:
Figure BDA0002013212080000033
其中raj为用户a对于控件Ci的评价,rbj为用户b对于控件Ci的评价;
Figure BDA0002013212080000034
表示用户a评价向量中非0值的控件,
Figure BDA0002013212080000035
表示用户b评价向量中非0值的控件。
作为进一步的改进方案,所述步骤S3中进一步包括以下步骤:
步骤S31:对当前用户相似度高的用户进行排序,并选出其中相似度最高的前N个用户;
步骤S32:根据相似用户对控件的评价计算各个控件的推荐值,计算方法如下:
Figure BDA0002013212080000041
其中ua为属于集相似度前N的用户集合中的用户,
Figure BDA0002013212080000042
Figure BDA0002013212080000043
为用户usern和用户
Figure BDA0002013212080000044
对其评价过的控件的的平均评价。
作为进一步的改进方案,所述步骤S4中进一步包括以下步骤:
步骤S41:根据推荐值对控件进行排序;
步骤S42:从排序队列中选择K个控件显示在编程软件平台操作界面,其中,K的取值由用户在编程软件平台自由设置。
采用本发明的技术方案,用户在使用可编程控制器图编程平台软件进行程序编程时,平台软件会根据控件针对用户的推荐值,按推荐值高低向用户推荐的控件,提高用户的编程效率。
附图说明
图1为本发明基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法的流程框图;
图2为实现本发明控件推荐方法的优选实施方式整体构架示意图;
图3为本发明中工程XML文件结构的示意图;
图4为本发明中工程XML文件中的控件信息的示意图;
图5为本发明中计算用户对控件的评价的示意图;
图6为本发明中用户-控件评价矩阵的示意图;
图7为本发明中用户相似度矩阵的示意图。
具体实施方式
参见图1,所示为本发明提供一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法的流程框图,包括以下步骤:
步骤S1:获取并存储用户在可编程控制器图编程软件上的控件操作信息;
步骤S2:对所有用户操作信息进行相似度分析并获取与当前用户相似度最高的N个用户;
步骤S3:根据相似用户对各个控件的评价计算出各个控件相对当前用户的推荐值;
步骤S4:基于推荐值对控件进行高低排序并按照该排序向当前用户推送控件。
在上述技术方案中,通过对可编程控制器图编程平台软件的XML工作文件的数据进行整理,提取其中用户对控件的使用频率作为用户对控件评价,从而依据不同用户对不同控件的评价值对用户进行相似度分析,寻找出和当前用户相似度最高的N各用户,并根据这N个用户对平台软件中各个控件的评价计算出各个控件的推荐值,最后按推荐值的高低排序想当前用户推送控件。主要包括以下几个内容:
1、支持以XML文件记录控件信息的可编程控制器的图编程平台软件
本发明涉及的软件平台需要支持可编程控制器的图编程语言,至少要包括三种最主要的可编程控制器图编程语言(梯形图、功能块图、顺序功能图)中的一种;
本发明涉及的方法将可编程控制器程序工程以XML文件的形式保存,XML工程文件中记录用户使用过的控件,通过检索XML工程文件,可以获取用户使用某个控件的次数。
2、用户相似度分析
1)用户对控件的评价
用户对于控件的评价与控件在用户工程中出现的次数成正比,被使用越多的控件的评价肯定比被使用少的控件评价高。通过检索XML工程文件,获取用户对所有控件的使用次数,建立用户到控件使用频率的映射表,在其基础上计算用户对各个控件的评价值,本发明评价值的计算方法以词频-逆文档率为例,申请保护的内容包括多分求和、带权重总分制等评价值计算方法。
2)计算用户相似度
根据不同用户对不同的控件的评价,计算两两用户之间的相似度。本发明计算用户相似度的方法以余弦相似度为例,申请保护的内容包括多分求和、带权重总分制、贝尔斯概率等相似度计算方法。
3、控件按推荐值进行排序
根据平台软件当前用户跟其他用户的相似度,选择相似度最高的前N个用户,将他们对各个控件的评价进行加权计算,获得控件的推荐值,之后平台软件将同一种图编程语言的控件按其推荐值大小进行排序。
下面通过一个具体实施方式,对本方案进行详细说明。
图2是本发明提供的一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法实施例子的流程图,该实施例子在服务器端保存所有可编程控制器程序的工程XML文件,从中提取用户使用控件的次数,通过TF-IDF(词频-逆文档率)计算用户对控件的评价,之后用余弦相似度计算出用户相似度,最后选择和当前用户相似度最高的N个用户,根据他们的评价计算出各个控件的推荐值,并对控件进行排序。
首先所有用户的编写的可编程控制器程序工程以XML形式上传到云服务器,文件记载着该工程的所有程序的内容和属性,图2是工程XML文件的结构,其中第二层为<pou>节点下存放各个编程语言对应的的工程描述。如图3展示了功能块图程序在<pou>节点下的一个控件在XML文件的中的描述,其中包括控件的id、颜色、大小、在程序中的位置等。云服务器将全部工程数据进行加工,遍历所有的工程XML文件,找到其对应的图形控件节点,统计每种控件的使用次数,建立控件类型和次数数量的映射字典,
之后本实例通过TF-IDF计算用户对控件的评价,TF-IDF分为TF(词频)和IDF(逆文档)率两个部分,如图4展示抽象建立控件用户历史控件库,以TF-IDF建立用户对控件的评价过程如下:
Figure BDA0002013212080000061
统计用户适用控件的数据:分别统计用户使用不同控件和其对应的次数;
计算用户对每一个控件的TF值:计算控件在用户控件库中出现的频率,即TF值,计算方法如下:
Figure BDA0002013212080000071
其中
Figure BDA0002013212080000072
表示控件ci在库中出现的次数,Allsum表示用户使用过的控件总数。
计算整个控件集中每一个控件的IDF值:IDF值即“逆文档频率”,代表某个控件被使用的用户数,并与其成反比。诸如线圈、触点这些几乎会被每一个用户使用的控件,它们的IDF值就会很小。计算方法如下:
Figure BDA0002013212080000073
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数。
以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
Figure BDA0002013212080000074
计算出所有用户对所有控件的评价值之后,把用户抽象为针对每个控件评价值的向量,计算用户与用户之间的相似度,相似度越大代表两个用户属于同一个行业的可能性越大,用户相似度计算过程如下:
Figure BDA0002013212080000075
构建用户-控件评价矩阵:假设云服务器上存在N个用户和M个控件,构建一个的用户-控件评价矩阵,如图5所示,矩阵中每一个元素
Figure BDA0002013212080000076
表示用户u对控件cm的评价值,
Figure BDA0002013212080000077
代表用户从未使用过这个控件;
Figure BDA0002013212080000078
计算用户与用户之间的相似度:根据N*M的用户-控件评价矩阵X中的行向量之间的两两计算得到用户相似度矩阵Z,该矩阵为对角线全为1的对称矩阵,如图6所示。根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高。计算公式如下:
Figure BDA0002013212080000079
其中raj为用户a对于控件Ci的评价,rbj为用户b对于控件Ci的评价。
Figure BDA00020132120800000710
表示用户a评价向量中非0值的控件,
Figure BDA00020132120800000711
表示用户b评价向量中非0值的控件。
Figure BDA00020132120800000712
对于当前用户相似度高的用户进行排序,并选出其中相似度最高的前N个用户,然后根据他们对各个控件的评价,结合相似度权重计算各个控件的推荐值,并将控件按推荐值大小排序。控件推荐值的计算公式如下:
Figure BDA0002013212080000081
其中ua为属于集相似度前N的用户集合中的用户,
Figure BDA0002013212080000082
Figure BDA0002013212080000083
为用户usern和用户
Figure BDA0002013212080000084
对其评价过的控件的的平均评价。
Figure BDA0002013212080000085
根据推荐值对控件进行排序。
Figure BDA0002013212080000086
最后从排序队列中选择K个控件显示在编程软件平台操作界面,K的取值由用户在编程软件平台自由设置
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。

Claims (8)

1.一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法,其特征在于,至少包括以下步骤:
步骤S1:获取并存储用户在可编程控制器图编程软件上的控件操作信息;
步骤S2:对所有用户操作信息进行相似度分析并获取与当前用户相似度最高的N个用户;
步骤S3:根据相似用户对各个控件的评价计算出各个控件相对当前用户的推荐值;
步骤S4:基于推荐值对控件进行高低排序并按照该排序向当前用户推送控件。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S1中,在可编程控制器图编程软件中,以XML文件保存用户对控件的使用记录并通过对XML工作文件的数据解析获取用户的控件操作信息。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤S1中,控件操作信息存储在服务器中,还包括可编程控制器图编程软件与服务器建立通讯连接的步骤。
4.根据权利要求3所述的方法,其特征在于,在所述步骤S2中,用户相似度分析在服务器中进行并将结果信息发送给可编程控制器图编程软件。
5.根据权利要求3所述的方法,其特征在于,在所述步骤S3中,提取其中用户对控件的使用频率作为用户对控件评价。
6.根据权利要求3所述的方法,其特征在于,在所述步骤S2中,用户相似度分析进一步包括以下步骤:
步骤S21:统计用户适用控件的数据:分别统计用户使用不同控件和其对应的次数;
步骤S22:计算用户对每一个控件的TF值:计算控件在用户控件库中出现的频率,即TF值,计算方法如下:
Figure FDA0002013212070000021
其中
Figure FDA0002013212070000022
表示控件ci在库中出现的次数,Allsum表示用户使用过的控件总数;
步骤S23:计算整个控件集中每一个控件的IDF值:IDF值为“逆文档频率”,代表某个控件被使用的用户数,并与其成反比;计算方法如下:
Figure FDA0002013212070000023
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数;
步骤S24:以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
Figure FDA0002013212070000024
步骤S25:构建用户-控件评价矩阵;
步骤S26:计算用户与用户之间的相似度,根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高;计算公式如下:
Figure FDA0002013212070000025
其中raj为用户a对于控件Ci的评价,rbj为用户b对于控件Ci的评价;
Figure FDA0002013212070000026
表示用户a评价向量中非0值的控件,
Figure FDA0002013212070000027
表示用户b评价向量中非0值的控件。
7.根据权利要求3所述的方法,其特征在于,所述步骤S3中进一步包括以下步骤:
步骤S31:对当前用户相似度高的用户进行排序,并选出其中相似度最高的前N个用户;
步骤S32:根据相似用户对控件的评价计算各个控件的推荐值,计算方法如下:
Figure FDA0002013212070000031
其中ua为属于集相似度前N的用户集合中的用户,
Figure FDA0002013212070000032
Figure FDA0002013212070000033
为用户usern和用户
Figure FDA0002013212070000034
对其评价过的控件的的平均评价。
8.根据权利要求3所述的方法,其特征在于,所述步骤S4中进一步包括以下步骤:
步骤S41:根据推荐值对控件进行排序;
步骤S42:从排序队列中选择K个控件显示在编程软件平台操作界面,其中,K的取值由用户在编程软件平台自由设置。
CN201910254122.6A 2019-03-30 2019-03-30 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 Active CN110134390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910254122.6A CN110134390B (zh) 2019-03-30 2019-03-30 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910254122.6A CN110134390B (zh) 2019-03-30 2019-03-30 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法

Publications (2)

Publication Number Publication Date
CN110134390A CN110134390A (zh) 2019-08-16
CN110134390B true CN110134390B (zh) 2022-11-25

Family

ID=67568781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910254122.6A Active CN110134390B (zh) 2019-03-30 2019-03-30 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法

Country Status (1)

Country Link
CN (1) CN110134390B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113341864A (zh) * 2021-06-07 2021-09-03 重庆高新技术产业研究院有限责任公司 一种基于plc的控制相似性可逆向逻辑系统及其分析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010120101A2 (ko) * 2009-04-13 2010-10-21 (주)미디어레 역 벡터 공간 모델을 이용한 키워드 추천방법 및 그 장치
CN106201465A (zh) * 2016-06-23 2016-12-07 扬州大学 面向开源社区的软件项目个性化推荐方法
CN108537566A (zh) * 2018-01-30 2018-09-14 深圳市阿西莫夫科技有限公司 化妆品货架的商品销售方法、装置和化妆品货架
CN108763314A (zh) * 2018-04-26 2018-11-06 深圳市腾讯计算机系统有限公司 一种兴趣推荐方法、装置、服务器及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010120101A2 (ko) * 2009-04-13 2010-10-21 (주)미디어레 역 벡터 공간 모델을 이용한 키워드 추천방법 및 그 장치
CN106201465A (zh) * 2016-06-23 2016-12-07 扬州大学 面向开源社区的软件项目个性化推荐方法
CN108537566A (zh) * 2018-01-30 2018-09-14 深圳市阿西莫夫科技有限公司 化妆品货架的商品销售方法、装置和化妆品货架
CN108763314A (zh) * 2018-04-26 2018-11-06 深圳市腾讯计算机系统有限公司 一种兴趣推荐方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN110134390A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
Chang et al. TokensRegex: Defining cascaded regular expressions over tokens
US9336184B2 (en) Representation of an interactive document as a graph of entities
CN102053992B (zh) 聚类方法和系统
CN108733508B (zh) 用于控制数据备份的方法和系统
AU2019200530A1 (en) Identifying network security risks
US20120159333A1 (en) Representation of an interactive document as a graph of entities
JP6570156B2 (ja) データベースシステム最適化の方法、システム、電子装置及び記憶媒体
CN111090417B (zh) 二进制文件解析方法、装置、设备及介质
CN112052138A (zh) 业务数据质量检测方法、装置、计算机设备及存储介质
CN112508118A (zh) 针对数据偏移的目标对象行为预测方法及其相关设备
CN115809887A (zh) 一种基于发票数据确定企业主要经营范围的方法和装置
CN110134390B (zh) 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法
JP2011192103A (ja) 評価装置、方法及びプログラム
CN113761565B (zh) 数据脱敏方法和装置
CN110580265B (zh) Etl任务的处理方法、装置、设备及存储介质
CN112130944A (zh) 页面异常的检测方法、装置、设备及存储介质
CN110727532B (zh) 一种数据修复方法、电子设备及存储介质
EP4113313A1 (en) Control method, information processing device, and control program
CN107705089B (zh) 业务处理方法、装置及设备
CN108334621B (zh) 数据库操作方法、装置、设备及计算机可读存储介质
US10990887B1 (en) Anything-but matching using finite-state machines
CN106469086B (zh) 事件处理方法和装置
CN115842674B (zh) 适用于云服务多租户隔离的方法及系统
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
CN112783956B (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