CN110134390B - 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 - Google Patents
一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (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值,计算方法如下:
步骤S23:计算整个控件集中每一个控件的IDF值:IDF值为“逆文档频率”,代表某个控件被使用的用户数,并与其成反比;计算方法如下:
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数;
步骤S24:以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
步骤S25:构建用户-控件评价矩阵;
步骤S26:计算用户与用户之间的相似度,根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高;计算公式如下:
作为进一步的改进方案,所述步骤S3中进一步包括以下步骤:
步骤S31:对当前用户相似度高的用户进行排序,并选出其中相似度最高的前N个用户;
步骤S32:根据相似用户对控件的评价计算各个控件的推荐值,计算方法如下:
作为进一步的改进方案,所述步骤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建立用户对控件的评价过程如下:
计算用户对每一个控件的TF值:计算控件在用户控件库中出现的频率,即TF值,计算方法如下:
计算整个控件集中每一个控件的IDF值:IDF值即“逆文档频率”,代表某个控件被使用的用户数,并与其成反比。诸如线圈、触点这些几乎会被每一个用户使用的控件,它们的IDF值就会很小。计算方法如下:
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数。
以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
计算出所有用户对所有控件的评价值之后,把用户抽象为针对每个控件评价值的向量,计算用户与用户之间的相似度,相似度越大代表两个用户属于同一个行业的可能性越大,用户相似度计算过程如下:
计算用户与用户之间的相似度:根据N*M的用户-控件评价矩阵X中的行向量之间的两两计算得到用户相似度矩阵Z,该矩阵为对角线全为1的对称矩阵,如图6所示。根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高。计算公式如下:
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。
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值,计算方法如下:
步骤S23:计算整个控件集中每一个控件的IDF值:IDF值为“逆文档频率”,代表某个控件被使用的用户数,并与其成反比;计算方法如下:
其中N为CodeBase.User中的用户总数,ni为使用过控件ci的用户数;
步骤S24:以TF-IDF作为用户对控件的评价:最后计算对控件的评价,计算公式如下:
步骤S25:构建用户-控件评价矩阵;
步骤S26:计算用户与用户之间的相似度,根据余弦相似度计算用户间的相似度,取值在0到1之间,数值越大代表两个用户相似度越高;计算公式如下:
8.根据权利要求3所述的方法,其特征在于,所述步骤S4中进一步包括以下步骤:
步骤S41:根据推荐值对控件进行排序;
步骤S42:从排序队列中选择K个控件显示在编程软件平台操作界面,其中,K的取值由用户在编程软件平台自由设置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113341864A (zh) * | 2021-06-07 | 2021-09-03 | 重庆高新技术产业研究院有限责任公司 | 一种基于plc的控制相似性可逆向逻辑系统及其分析方法 |
Citations (4)
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 | 深圳市腾讯计算机系统有限公司 | 一种兴趣推荐方法、装置、服务器及存储介质 |
-
2019
- 2019-03-30 CN CN201910254122.6A patent/CN110134390B/zh active Active
Patent Citations (4)
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 | |
CN102053992B (zh) | 聚类方法和系统 | |
CN108733508B (zh) | 用于控制数据备份的方法和系统 | |
US20120159312A1 (en) | Representation of an interactive document as a graph of entities | |
AU2017204597A1 (en) | Identifying network security risks | |
CN105339924A (zh) | 作为服务的有效数据压缩和分析 | |
JP6570156B2 (ja) | データベースシステム最適化の方法、システム、電子装置及び記憶媒体 | |
CN111090417B (zh) | 二进制文件解析方法、装置、设备及介质 | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
CN112052138A (zh) | 业务数据质量检测方法、装置、计算机设备及存储介质 | |
CN112508118A (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
WO2014176182A1 (en) | Auto-completion of partial line pattern | |
CN115809887A (zh) | 一种基于发票数据确定企业主要经营范围的方法和装置 | |
CN110134390B (zh) | 一种基于用户相似度的可编程控制器图编程控件的智能推送功能的实现方法 | |
JP2011192103A (ja) | 評価装置、方法及びプログラム | |
CN112130944A (zh) | 页面异常的检测方法、装置、设备及存储介质 | |
Hrz et al. | Modeling and Control of Discrete-event Dynamic Systems: with Petri Nets and Other Tools | |
CN110727532B (zh) | 一种数据修复方法、电子设备及存储介质 | |
EP4113313A1 (en) | Control method, information processing device, and control program | |
JP2018181121A (ja) | 分析装置、分析プログラム及び分析方法 | |
CN107705089B (zh) | 业务处理方法、装置及设备 | |
CN108334621B (zh) | 数据库操作方法、装置、设备及计算机可读存储介质 | |
US10990887B1 (en) | Anything-but matching using finite-state machines | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN115842674B (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 |