CN115659069A - 一种打卡推荐方法、装置及终端设备 - Google Patents
一种打卡推荐方法、装置及终端设备 Download PDFInfo
- Publication number
- CN115659069A CN115659069A CN202211687491.2A CN202211687491A CN115659069A CN 115659069 A CN115659069 A CN 115659069A CN 202211687491 A CN202211687491 A CN 202211687491A CN 115659069 A CN115659069 A CN 115659069A
- Authority
- CN
- China
- Prior art keywords
- time
- user
- card
- day
- duty
- 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.)
- Granted
Links
- 238000004080 punching Methods 0.000 title claims abstract description 346
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000032683 aging Effects 0.000 claims description 17
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 21
- 238000007726 management method Methods 0.000 description 20
- 239000010410 layer Substances 0.000 description 19
- 238000007639 printing Methods 0.000 description 18
- 238000010295 mobile communication Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002028 premature Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1091—Recording time for administrative or management purposes
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C1/00—Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people
- G07C1/10—Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people together with the recording, indicating or registering of other data, e.g. of signs of identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种打卡推荐方法、装置及终端设备,该方法包括获取第一用户在今天之前的N天的下班时间记录。根据下班时间记录确定第一时间段和第一时间点,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间,N个第一打卡时间包括N天中每天的最晚下班打卡时间。第一时间点位于第一时间段内。在第一时间段的起始时间显示第一对象,第一对象用于用户打卡。如果第一用户为第一特征用户,在第一时间点显示第二对象,第二对象用于用户打卡。基于该方法,全量用户可以收到第一对象的推荐,规律用户还可以收到第二对象的推荐,可以提高推荐成功率,提升用户体验。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种打卡推荐方法、装置及终端设备。
背景技术
快捷打卡推荐是一种用于实现一键打卡的功能。终端设备可以将快捷打卡界面醒目的显示在屏幕界面上,用户通过点击快捷打卡界面,可以快速到达第三方应用程序的打卡界面,之后用户通过点击打卡界面可以实现一键打卡。省去了在屏幕界面中翻找第三方应用程序、打开第三方应用程序以及切换到打卡界面的步骤,方便快捷。第三方应用程序可以是提供考勤打卡服务的应用程序。
目前,上班或者下班打卡推荐的方法一般包括以下步骤:在时间到达工作制约定的上班时间或者下班时间时,对用户进行一次打卡推荐,以使用户可以在约定的上班时间或者下班时间到来时收到打卡推荐,实现快捷打卡。
但是,该种打卡推荐方法仅考虑到用户可能在工作制约定的上班时间或者下班时间到来时进行打卡,没有考虑到用户实际进行打卡时的个人习惯与需求。因此该种推荐方法并不能在用户需要打卡时准确的将快捷打卡界面推荐给用户,推荐成功度低。这样的推荐方式,并不能避免出现忘记打卡的情况,导致用户体验不佳。
发明内容
本申请实施例提供了一种打卡推荐方法、装置及终端设备,以解决现有推荐方法不符合用户需求、推荐成功率低的问题。
第一方面,本申请实施例提供一种打卡推荐方法,方法包括:获取第一用户在今天之前的N天的下班时间记录;根据下班时间记录确定第一时间段和第一时间点;其中,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间;N个第一打卡时间包括N天中每天的最晚下班打卡时间;第一时间点位于第一时间段内;接收到第一用户的上班打卡记录;在第一时间段的起始时间显示第一对象,第一对象用于用户打卡;如果第一用户为第一特征用户,在第一时间点显示第二对象,第二对象用于用户打卡,且第二对象与第一对象相同或不同;第一特征用户的N个第一打卡时间的离散程度满足预设条件,或者,第一特征用户的N个第一打卡时间与其对应的第一时间点之间的时间间隔满足预设条件。
本申请实施例提供的打卡推荐方法可以确定第一时间段和第一时间点,在第一时间段对全量用户进行下班推荐,在第一时间点对部分下班时间较为规律的用户进行下班推荐,可以准确贴合用户下班打卡的期望,能够有效防止用户漏打卡,可以提高下班打卡推荐成功率。并且,本申请实施例提供的方法还简化了打卡步骤以及减少了打卡等待时间,提高了用户体验。
在一种可实现的方式中,第一时间段由以下步骤确定:获取第一时间集合,第一时间集合包括第一用户的N个第一打卡时间,和/或第二用户的N个第一打卡时间,第一用户的终端设备与第二用户的终端设备连接至同一第一目标网络,第一目标网络位于公司范围内;对第一时间集合中的第一打卡时间进行排序,得到第一序列;去除第一序列中位于列首和/或列尾的离群值,得到第二序列;将第二序列中位于列首的第一打卡时间确定为第一时间段的起始时间,将第二序列中位于列尾的第一打卡时间确定为第一时间段的结束时间。这样,可以去除N个第一打卡时间中不利于下班推荐的异常值,第一时间段可以受到多种筛选条件的约束,准确率更高。
在一种可实现的方式中,在第一时间段的起始时间显示第一对象的步骤后,方法还包括:如果第一用户不为第一特征用户,在第一时间段的结束时间之前,当第一用户完成下班打卡时停止显示第一对象;或者,在第一时间段的结束时间停止显示第一对象。这样,对于不为第一特征用户的第一用户,可以在其打卡之前持续收到下班打卡推荐,在完成打卡后不再收到下班打卡推荐。并且,对于不是第一特征用户的第一用户,不在第一时间点进行推荐可以避免给其带来推荐不准的体验。
在一种可实现的方式中,在第一时间段的起始时间显示第一对象的步骤后,方法还包括:如果第一用户为第一特征用户,在第二时间点显示第二对象;其中,第二时间点位于第一时间段的起始时间与第一时间点之间,且与第一时间点之间的时间间隔等于第一预设时长。这样,可以提高第二对象推荐的成功率。
在一种可实现的方式中,如果第一用户为第一特征用户,在第二时间点显示第二对象的步骤前,还包括:如果第一用户为第一特征用户,在第三时间点之前,当第一用户完成下班打卡时停止显示第一对象,或者,在第三时间点停止显示第一对象;其中,第三时间点位于第一时间段的起始时间与第二时间点之间,且与第一时间段的起始时间之间的时间间隔等于第二预设时长,或者,第三时间点与第二时间点重合。这样,可以起到提醒用户打“保险卡”的作用,提升用户体验。
在一种可实现的方式中,第一时间点由以下步骤确定:获取今天和今天之前的N天中每一天的第一信息和第二信息;第一信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天在当月的第几周;第二信息包括:第一差值、第二差值、第三差值、第一均值以及第二均值,第一差值等于在N天中一天前的最晚下班打卡时间与两天前的最晚下班打卡时间的差值,第二差值等于在N天中一天前的最晚下班打卡时间与三天前的最晚下班打卡时间的差值,第三差值等于在N天中一天前的最晚下班打卡时间与四天前的最晚下班打卡时间的差值,第一均值等于第一差值和第二差值的平均值,第二均值等于第一差值、第二差值以及第三差值的均值;将下班时间记录、今天和今天之前的N天中每一天的第一信息和第二信息输入至第一预测模型中,得到第一时间点。这样,第一时间点更加接近用户真正下班打卡的时间,准确性更高。
在一种可实现的方式中,如果第一用户为第一特征用户,在第一时间点显示第二对象的步骤后,方法还包括:在第一时间段的结束时间之前,当第一用户完成下班打卡时停止显示第二对象;或者,在第一时间段的结束时间停止显示第二对象。
在一种可实现的方式中,第一特征用户由以下步骤确定:计算N个第一打卡时间的第一标准差;如果第一标准差小于第一预设阈值,将第一用户确定为第一特征用户。第一特征用户还由以下步骤确定:对N个第一打卡时间进行排序,得到第三序列;去除第三序列中位于列首、列尾或者列首及列尾的部分第一打卡时间,得到第一数量的第一打卡时间,第一数量与N的比值等于第二预设阈值;计算第一数量的第一打卡时间的第二标准差;如果第二标准差小于第三预设阈值,将第一用户确定为第一特征用户。第一特征用户还由以下步骤确定:计算第二打卡时间的第三标准差,第二打卡时间为N个第一打卡时间中的m个,m小于N;如果第三标准差小于第四预设阈值,将第一用户确定为第一特征用户。第一特征用户还由以下步骤确定:确定第三打卡时间和其对应的第一时间点,第三打卡时间为N个第一打卡时间中的n个,n小于N;基于第三打卡时间和第一时间点,计算第一时间点的准确率;如果准确率大于第五预设阈值,将第一用户确定为第一特征用户。这样,可以确定下班时间较为规律的第一用户。
在一种可实现的方式中,方法还包括:在当前时间为预设时间时,判断第一用户的睡眠地点是否处于个人打卡围栏内,个人打卡围栏是由第一用户历史上班打卡位置确定的地理围栏;如果第一用户的睡眠地点处于个人打卡围栏内,确定第一历史日,第一历史日包括今天之前的R天,R小于或者等于第二预测模型的数据老化天数;基于第一历史日确定第二历史日;第二历史日位于第一历史日之前,第二历史日与第一历史日之间的差值大于数据老化天数;第二历史日是否上班的信息与第一历史日相同,且第二历史日所在周是否为当年的奇数周与第一历史日相同;获取今天、第一历史日和第二历史日的第三信息,第三信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天是否为星期六,当天在当月的第几天,当天在当月的第几周,当天为当月正数第几个星期T,和当天为当月倒数第几个星期T,其中星期T为星期一至星期日的任意一天,当天所在周是否为当年的奇数周;将今天、第一历史日和第二历史日的第三信息输入至第二预测模型中,以及将第一历史日和第二历史日是否上班的信息输入至第二预测模型中,确定用户当天是否需要上班;如果用户当天需要上班,在第二时间段内,显示第三对象,第三对象用于用户打卡,第二时间段的起始时间为第一用户历史最早上班打卡时间,第二时间段的结束时间为第一用户的历史最晚上班打卡时间;在第一用户完成上班打卡时停止显示第三对象。这样,可以避免用户错过打卡时间,造成漏打卡。
在一种可实现的方式中,第二历史日由以下步骤确定:基于第一历史日是否上班的信息,将第一历史日划分为正样本及负样本,得到U条正样本和V条负样本,正样本对应于上班的第一历史日,负样本对应于未上班的第一历史日;对于每一正样本,确定其对应的V-1个第二历史日;对于每一负样本,确定其对应的U-1个第二历史日;其中,当第二预测模型的数据老化天数等于W天时,第X个第二历史日为正样本之前的第X×(W+Y)天,X为自然数,且0<X≤V-1;第Z个第二历史日为负样本之前的第Z×(W+Y)天,Z为自然数,且0<Z≤Y-1;Y为自然数,且Y≥1。这样可以使得不上班天数和上班天数增强至相等,同时扩大数据量,提高第二预测模型的准确性。
在一种可实现的方式中,方法还包括:获取节假日安排通知;基于节假日安排通知,修正第二预测模型。这样,可以提高上班推荐的准确率,改善用户体验。
在一种可实现的方式中,方法还包括:如果第一用户的睡眠地点未处于个人打卡围栏内,当第一用户进入个人打卡围栏时,显示第四对象,第四对象显示在终端设备主屏幕界面的应用程序推荐卡片中,且第四对象用于用户打卡;当第一用户的终端设备连接至第二目标网络时,如果第一用户未完成上班打卡,显示第五对象;第二目标网络位于公司范围内,第五对象为持续悬浮于终端设备主屏幕界面的通知栏,第五对象用于用户打卡。这样,可以利用第四对象提醒第一用户进行上班打卡,并利用第五对象再次进行强提醒,以避免出现遗漏打卡的情况。
在一种可实现的方式中,方法还包括:在第一用户完成上班打卡时停止显示第四对象或第五对象。由于上班不需要多次重复打卡,因此在用户完成打卡后,可以停止将上班打卡界面推荐给用户,以避免出现无效推荐。
第二方面,本申请实施例还提供一种打卡推荐装置,包括:获取模块,用于获取第一用户在今天之前的N天的下班时间记录;确定模块,用于根据下班时间记录确定第一时间段和第一时间点;其中,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间;N个第一打卡时间包括N天中每天的最晚下班打卡时间;第一时间点位于第一时间段内;接收模块,用于接收到第一用户的上班打卡记录;第一显示模块,用于在第一时间段的起始时间显示第一对象,第一对象用于用户打卡;第二显示模块,如果第一用户为第一特征用户,第二显示模块用于在第一时间点显示第二对象,第二对象用于用户打卡,且第二对象与第一对象相同或不同;第一特征用户的N个第一打卡时间的离散程度满足预设条件,或者,第一特征用户的N个第一打卡时间与其对应的第一时间点之间的时间间隔满足预设条件。
本申请实施例提供的打卡推荐装置可以确定第一时间段和第一时间点,在第一时间段对全量用户进行下班推荐,在第一时间点对部分下班时间较为规律的用户进行下班推荐,可以准确贴合用户下班打卡的期望,能够有效防止用户漏打卡,可以提高下班打卡推荐成功率。并且,本申请实施例提供的装置还简化了打卡步骤以及减少了打卡等待时间,提高了用户体验。
第三方面,本申请实施例还提供一种终端设备,包括:处理器和存储器;存储器存储有计算机程序,当计算机程序被处理器执行时,使得终端设备执行前述第一方面及其各个实现方式中的方法。
第四方面,本申请实施例还提供一种芯片系统,包括:存储器和处理器;存储器存储有计算机程序,当计算机程序被处理器执行时,使得芯片系统执行前述第一方面及其各个实现方式中的方法。
附图说明
图1为用户打卡需求示意图;
图2为快捷打卡推荐界面示意图;
图3是本申请实施例提供的终端设备的硬件结构示意图;
图4是本申请实施例的终端设备100的软件结构框图;
图5为本申请实施例提供的打卡推荐方法的第一种流程示意图;
图6为本申请实施例提供的下班时间记录的示意图;
图7为本申请实施例提供的第一对象的示意图;
图8为本申请实施例提供的确定第一时间段的流程示意图;
图9为本申请实施例提供的第一用户下班推荐示意图;
图10为本申请实施例提供的又一第一用户下班推荐示意图;
图11为本申请实施例提供的第一用户下班推荐流程示意图;
图12为本申请实施例提供的再一第一用户下班推荐示意图;
图13为本申请实施例提供的确定第一时间点的流程示意图;
图14(a)为本申请实施例提供的确定第一特征用户的第一种流程示意图;
图14(b)为本申请实施例提供的确定第一特征用户的第二种流程示意图;
图14(c)为本申请实施例提供的确定第一特征用户的第三种流程示意图;
图14(d)为本申请实施例提供的确定第一特征用户的第四种流程示意图;
图15为本申请实施例提供的打卡推荐方法的第二种流程示意图;
图16为本申请实施例提供的个人打卡围栏的示意图;
图17为本申请实施例提供的确定第二历史日的流程示意图;
图18为本申请实施例提供的第一历史日及其相关信息的示意图;
图19为本申请实施例提供的数据增强的第一种示意图;
图20为本申请实施例提供的数据增强的第二种示意图;
图21为本申请实施例提供的第四对象和第五对象的示意图;
图22为本申请实施例提供的修正第二预测模型的流程示意图;
图23为本申请实施例提供的一种打卡推荐装置的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作示例、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请,下面将结合附图对本申请的实施例进行详细描述。
首先结合附图对本申请实施例的应用场景进行说明。
图1为用户打卡需求示意图。如图1所示,用户在工作日的旅程可以包括离家,步行或乘坐交通工具例如地铁上班,到达公司附近,打开打卡软件,打开位置定位服务例如通用分组无线业务(general packet radio service,GPRS)的开关,通过点击打卡控件完成上班打卡。结束工作后,用户一般需要打开打卡软件,打开位置定位服务,通过点击打卡控件完成下班打卡,之后离开公司区域。
图2为快捷打卡推荐界面示意图。如图2所示,快捷打卡推荐是一种用于实现一键打卡的功能。终端设备可以将快捷打卡界面醒目的显示在屏幕界面上,用户通过点击快捷打卡界面,可以快速到达第三方应用程序的打卡界面,之后用户通过点击打卡界面可以实现一键打卡。省去了在屏幕界面中翻找第三方应用程序、打开第三方应用程序以及切换到打卡界面的步骤,方便快捷。第三方应用程序可以是提供考勤打卡服务的应用程序。
目前,上班或者下班打卡推荐的方法一般包括以下步骤:在时间到达工作制约定的上班时间或者下班时间时,对用户进行一次打卡推荐,以使用户可以在约定的上班时间或者下班时间到来时收到打卡推荐,实现快捷打卡。
但是,该种打卡推荐方法仅考虑到用户可能在工作制约定的上班时间或者下班时间到来时进行打卡,没有考虑到用户实际进行打卡时的个人习惯与需求。因此该种推荐方法并不能在用户需要打卡时准确的将快捷打卡界面推荐给用户,推荐成功度低。这样的推荐方式,并不能避免出现忘记打卡的情况,导致用户体验不佳。
为解决上述技术问题,本申请实施例提供了一种打卡推荐方法,该方法可以确定第一时间段和第一时间点,第一时间段是基于第一用户的N天中每一天的最晚下班打卡时间确定的,因此第一时间段可以覆盖第一用户习惯的下班时间段,在该第一时间段内提醒第一用户进行打卡,成功率高。如果第一用户是第一特征用户,还可以在第一时间点提醒第一用户进行打卡,其中,第一特征用户可以是历史最晚下班时间较为规律的用户,对于这样的第一用户,第一时间点可以准确覆盖第一用户真正的下班时间点,在第一时间点提醒第一用户进行打卡,成功率高,并且可以提升第一用户的使用体验,有效避免出现漏打卡的情况。
该方法可以应用至终端设备中,终端设备包括但不限于智能手机、平板电脑、个人电脑、工作站设备、大屏设备(例如:智慧屏、智能电视等)、可穿戴设备(例如:智能手环、智能手表)掌上游戏机、家用游戏机、虚拟现实设备、增强现实设备、混合现实设备等、车载智能终端等。
图3是本申请实施例提供的终端设备的硬件结构示意图。如图3所示,终端设备100可以包括处理器110,存储器120,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,摄像头192,显示屏193,以及用户标识模块(subscriberidentification module,SIM)卡接口194等。其中,传感器模块180可以包括触摸传感器180A,陀螺仪传感器180B,气压传感器180C,地磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J等。其中,陀螺仪传感器180B,气压传感器180C,地磁传感器180D,加速度传感器180E等均可用于检测终端设备的运动状态,因此,也可以被称作运动传感器。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用以及数据处理。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,存储器120,显示屏193,摄像头192,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏193显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端设备100通过GPU,显示屏193,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏193和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行计算机程序以生成或改变显示信息。
显示屏193用于显示图像,视频等。显示屏193包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏193,N为大于1的正整数。
终端设备100可以通过ISP,摄像头192,视频编解码器,GPU,显示屏193以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头192反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头192中。
摄像头192用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,RYYB,YUV等格式的图像信号。在一些实施例中,终端设备100可以包括1个或N个摄像头192,N为大于1的正整数。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
触摸传感器180A,也称“触控器件”。触摸传感器180A可以设置于显示屏193,由触摸传感器180A与显示屏193组成触摸屏,也称“触控屏”。触摸传感器180A用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏193提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180A也可以设置于终端设备100的表面,与显示屏193所处的位置不同。
陀螺仪传感器180B可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
地磁传感器180D包括霍尔传感器。终端设备100可以利用地磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端设备100是翻盖机时,终端设备100可以根据地磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端设备100在各个方向上(一般为三轴)加速度的大小。当终端设备100静止时可检测出重力的大小及方向。还可以用于识别终端设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端设备100通过发光二极管向外发射红外光。终端设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端设备100附近有物体。当检测到不充分的反射光时,终端设备100可以确定终端设备100附近没有物体。终端设备100可以利用接近光传感器180G检测用户手持终端设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
指纹传感器180H用于采集指纹。终端设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端设备100对电池142加热,以避免低温导致终端设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏193不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
SIM卡接口194用于连接SIM卡。SIM卡可以通过插入SIM卡接口194,或从SIM卡接口194拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口194可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口194可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口194也可以兼容不同类型的SIM卡。SIM卡接口194也可以兼容外部存储卡。终端设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端设备100中,不能和终端设备100分离。
终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端设备100的软件结构。
图4是本申请实施例的终端设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括电池管理、相机,图库,日历,通话,地图,导航,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用程序接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,输入管理器InputManager,传感器管理器SensorManager,电话管理器,资源管理器,通知管理器等。
输入管理器可以用来监听用户的输入事件,例如用户手指在终端设备100的显示屏193执行的点击事件、滑动事件等。通过监听输入事件,终端设备100可以判断是否正在使用终端设备。
传感器管理器用于监听终端设备中的各个传感器返回的数据,例如运动传感器数据、接近光传感器数据、温度传感器数据等。利用各个传感器返回的数据,终端设备可以判断其是否有抖动,或者显示屏193是否被遮挡等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件组合实现。
下面对本申请实施例提供的打卡推荐方法的各步骤进行示例性说明。
图5为本申请实施例提供的打卡推荐方法的第一种流程示意图。如图5所示,本申请实施例提供的打卡推荐方法包括以下步骤S201-S205:
S201:获取第一用户在今天之前的N天的下班时间记录。
其中,下班时间记录中可以包括第一用户的下班打卡时间,下班打卡时间具体可以从第三方应用程序的日志文件中获取,该第三方应用程序可以是提供考勤打卡的应用程序,该日志文件可以存储在终端设备的本地存储器中,也可以存储在云端服务器中。如果第一用户在某一天中进行了多次下班打卡,当天的下班时间记录中应当包括每一次下班打卡的打卡时间,这样,该N天的下班时间记录可以用于确定第一用户的下班打卡习惯,以确定进行下班打卡推荐的具体时间。
本申请实施例中,为了准确分析第一用户的下班打卡习惯,N应当大于预设阈值,该预设阈值例如可以为10。只有包括十天以上的下班时间记录时,才会进行下班打卡推荐。这样,可以提高下班推荐的成功率。在实际应用中,N的具体数值取决于至多可以确定多少天的下班打卡时间,例如,从第三方应用程序的日志文件中至多可以确定50天的下班打卡时间,那么N等于50。
可以理解的是,今天之前的N天可以是连续的N天,也可以是间断的N天。
S202:根据下班时间记录确定第一时间段和第一时间点;其中,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间;N个第一打卡时间包括N天中每天的最晚下班打卡时间;第一时间点位于第一时间段内。
图6为本申请实施例提供的下班时间记录的示意图。如图6所示,本申请实施例中,N个第一打卡时间包括N天中每天的最晚下班打卡时间,例如,对于今天之前的第i天,i≤N,用户做了三次下班打卡,三次下班打卡的具体打卡时间分别为18:01、18:05和21:30,那么,N个第一打卡时间中的第i个第一打卡时间为21:30。再如,对于今天之前的第j天,j≤N,用户做了一次下班打卡,具体打卡时间为18:30,那么,N个第一打卡时间中的第j个下班打卡时间为18:30。
可以理解的是,用户在一天中可能会进行多次打卡,并且首次打卡一般出现在工作制约定的最早下班打卡时间之后。工作制指公司与劳动者之间存在的对于工作时间的约定,例如,公司与劳动者约定早九晚六工作制,那么劳动者可以在工作日的上9点上班,晚上6点下班,那么早上9点就是其工作制约定的上班时间,晚上6点就是其工作制约定的下班时间。在该种工作制的约束下,用户的首次下班打卡一般发生在晚上6点(18点)之后。
对于一天中进行多次打卡的用户,其首次打卡一般也被称为打“保险卡”,以防止当天遗忘打卡。这样的用户一般还会在结束当天工作后会再次进行打卡,即最后一次打卡发生在用户真正下班时。可见,基于用户在每一天中的最晚下班打卡时间,可以确定用户真正下班时的打卡习惯。
因此,本申请实施例中基于N个第一打卡时间确定了第一时间段。在一种实现方式中,第一时间段的起始时间可以等于N个第一打卡时间中的最早时间,第一时间段的结束时间可以等于N个第一打卡时间中的最晚时间,这样,第一时间段可以完整覆盖用户N天中每一天最后一次打卡的习惯,不会出现漏推荐的情况。在另一种实现方式中,可以将N个第一打卡时间中的离群值去除,该离群值可以对应于用户请假早退的情况,这种情况对应的最晚下班打卡时间一般较早,如果将这种情况对应的最后一次下班打卡时间作为第一时间段的起始时间,并基于该第一时间段进行下班打卡推荐,容易给用户带来困扰,不利于提升用户体验。该离群值还可能对应于用户较长时间加班的情况,如用户在某一天凌晨一点进行了最后一次下班打卡,显然该离群值不符合用户正常的打卡习惯。该离群值还可能是用户使用终端设备时误触碰导致过早或者过晚打卡的情况。
因此,将离群值去除后,可以使得第一时间段更加符合用户下班打卡习惯,可以消除上述异常情况对下班打卡推荐的影响。此时第一时间段的起始时间晚于N个第一打卡时间中的最早时间,第一时间段的结束时间早于N个第一打卡时间中的最晚时间。可以理解的是,离群值可以是N个第一打卡时间中的最早时间、次早时间、最晚时间和/或次晚时间等,离群值的具体时间与实际情况相关。
可见,第一时间段可以尽可能的覆盖用户期望打卡的所有时间,并且第一时间段中不包括N个第一打卡时间中的异常打卡时间,这样,在第一时间段的起始时间对用户进行下班打卡推荐,可以提高推荐成功率,提升用户体验。
本申请实施例中,第一时间点例如可以是模型学习用户的历史下班打卡习惯之后预测出的时间点。由于第一时间段可以尽可能的覆盖用户期望打卡的所有时间,因此机器学习预测出的第一时间点可以位于第一时间段的区间内。
第一时间点的时间跨度小于第一时间段的时间跨度,本申请实施例还可以在第一时间点这样的小时间范围内进行下班打卡推荐。可见,本申请实施例能够提供多种时间跨度的下班推荐,可以满足用户的多种打卡需求,提升用户体验。
进一步的,本申请实施例还可以基于用户历史下班打卡时间的变化,修正推荐方法。例如,对于多天内的最晚下班打卡时间波动较小的用户,可以只在第一时间点对其进行下班打卡推荐,这样避免长时间的推荐给用户带来困扰。对于每一天的下班打卡时间波动较大的用户,可以选择在第一打卡时间段内均对其进行下班打卡推荐,使得用户在期望打卡时可以收到推荐,提高推荐成功率。这样,既可以改善打卡时间波动较小的用户的使用体验,也可以改善打卡时间波动较大的用户的使用体验。
在一些实现方式中,如果机器学习预测出的第一时间点不在第一时间段内,可以基于第一时间点与第一时间段之间的关系,确定是否将第一时间点作为进行下班推荐的时间点。例如,当第一时间点早于第一时间段的起始时间时,可以不在第一时间点进行下班打卡推荐,以避免推荐时间过早给用户带来困扰。当第一时间点晚于第一时间段的结束时间时,可以基于附加条件确定是否进行下班打卡推荐,该附件条件例如可以是用户是否处在公司范围内,如果用户处在公司范围内,在第一时间点进行下班打卡推荐,如果用户没有处在公司范围内,不在第一时间点进行下班打卡推荐。
S203:接收到第一用户的上班打卡记录。
其中,上班打卡记录可以表示用户在当天上班,上班打卡记录例如可以由第三方应用程序生成。这样,本申请实施例可以在用户上班时才进行下班打卡推荐,而不上班时不进行下班打卡推荐。可以避免出现无效推荐,提升用户体验。
S204:在第一时间段的起始时间显示第一对象,第一对象用于用户打卡。
本申请实施例中,在第一时间段的起始时间显示第一对象,第一对象中可以提供一些文字信息,例如,“考勤打卡”、“打卡提醒”等,使得用户可以直观观察到第一对象并考虑是否进行打卡,可以起到提醒用户进行下班打卡的作用。进一步的,通过点击第一对象可以跳转至第三方应用程序的相应界面,实现快速打卡。可见,本申请实施例可以在符合用户打卡习惯的时间对用户进行下班打卡推荐,避免用户遗漏打卡,同时可以省去了用户在屏幕界面中翻找第三方应用程序、打开第三方应用程序以及切换到打卡界面的步骤,方便快捷。
图7为本申请实施例提供的第一对象的示意图。如图7所示,示例性的,在终端设备锁屏状态下,第一对象例如可以是显示在锁屏界面的消息通知,在用户点击消息通知并解锁后,终端设备可以直接跳转至该第一对象对应的应用界面,该应用界面可以是第三方应用程序提供的下班打卡界面。或者,在终端设备解锁状态下,第一对象例如可以是悬浮在主屏幕界面顶部的消息通知,在用户点击消息通知后,终端设备也可以直接跳转至该第一对象对应的下班打卡界面中。当终端设备显示主屏幕界面时,第一对象也可以是主屏幕界面上的桌面卡片集中的其中一个卡片,或者,第一对象还可以是独立显示在主屏幕界面上的桌面组件,相应的,点击第一对象可以直接跳转至第三方应用程序的下班打卡界面。本申请实施例不对第一对象的具体实现方式做限定。
S205:如果第一用户为第一特征用户,在第一时间点显示第二对象,第二对象用于用户打卡,且第二对象与第一对象相同或不同;第一特征用户的N个第一打卡时间的离散程度满足预设条件,或者,第一特征用户的N个第一打卡时间与其对应的第一时间点之间的时间间隔满足预设条件。
示例性的,在一些实现方式中,第一特征用户的N个第一打卡时间的离散程度可以小于预设阈值,或者,第一特征用户的部分第一打卡时间的离散程度小于预设阈值,可见,第一特征用户可以是最晚下班时间较为规律的用户。对于这样的用户,模型更易学习到其下班规律,在第一时间点进行推荐的成功率也更高,因此对于是第一特征用户的第一用户,可以在第一时间点对其进行下班打卡推荐。而对于不是第一特征用户的第一用户,由于其最晚下班时间不规律,模型不易学习,第一时间点的准确率较低,因此可以不在第一时间点对其进行下班打卡推荐,避免对其造成困扰。第一特征用户还可以被称为规律用户。
在另一些实现方式中,第一特征用户的N个第一打卡时间与其对应的第一时间点之间的时间间隔可以小于预设阈值,或者,第一特征用户的部分第一打卡时间与其对应的第一时间点之间的时间间隔可以小于预设阈值。可见,第一特征用户还可以是模型学习准确率较高的用户,因此对于是第一特征用户的第一用户,可以在第一时间点对其进行下班打卡推荐。对于不是第一特征用户的第一用户,可以不在第一时间点对其进行下班打卡推荐。
可以理解的是,本申请实施例对于任意第一用户均可以基于机器学习预测一个第一时间点,之后对于是第一特征用户的第一用户进行下班打卡推荐,而对于不是第一特征用户的第一用户不进行下班打卡推荐。因此,对于任意第一用户,每一第一打卡时间均对应有第一时间点。
本申请实施例中,通过点击第二对象也可以直接跳转至第三方应用程序的相应界面,实现快速打卡,第二对象可以和第一对象相同。例如,第二对象可以是显示在锁屏界面的消息通知,可以是悬浮在屏幕界面顶部的消息通知,可以是主屏幕界面上的桌面卡片集中的其中一个卡片,还可以是独立显示在主屏幕界面上的桌面组件。第二对象还可以与第一对象不同,例如第二对象可以是伴随有强震动的消息通知,还可以是持续悬浮于主屏幕界面、并在用户点击后消失的消息通知。本申请实施例不对第二对象的具体实现方式做限定。
这样,对于规律用户,可以在第一时间段的起始时间收到第一对象的推荐,用户可以依赖第一对象完成“保险卡”或者当天的最后一次打卡。进一步的,如果规律用户在第一时间段的起始时间没有打卡或者打了“保险卡”,还可以在第一时间点收到第二对象的推荐,用户可以依赖第二对象完成真正的下班打卡。因此,第二对象为伴随有强震动的消息通知,或者是持续悬浮于主屏幕界面的消息通知时,还可以起到在用户真正下班时更为明显的提醒用户的作用,能够提高推荐成功率,提升用户体验。
可以理解的是,基于本申请实施例提供的方法,所有第一用户的终端设备均可以在第一时间段的起始时间显示第一对象,部分规律用户的终端设备可以在第一时间点显示第二对象。
由以上技术方案可知,本申请提供一种打卡推荐方法,该方法包括获取第一用户在今天之前的N天的下班时间记录。根据下班时间记录确定第一时间段和第一时间点,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间,N个第一打卡时间包括N天中每天的最晚下班打卡时间。第一时间点位于第一时间段内。在第一时间段的起始时间显示第一对象,第一对象用于用户打卡。如果第一用户为第一特征用户,在第一时间点显示第二对象,第二对象用于用户打卡。基于本申请实施例的方法,全量用户可以收到第一对象的推荐,规律用户还可以收到第二对象的推荐,可以提高推荐成功率,提升用户体验。
图8为本申请实施例提供的确定第一时间段的流程示意图。如图8所示,本申请实施例中,第一时间段可以由以下步骤S301-S304:
S301:获取第一时间集合,第一时间集合包括第一用户的N个第一打卡时间,和/或第二用户的N个第一打卡时间,第一用户的终端设备与第二用户的终端设备连接至同一第一目标网络,第一目标网络位于公司范围内。
第一种实现方式中,本申请实施例可以基于第一用户个人的N个第一打卡时间确定第一时间段,这样,第一时间段更加符合第一用户的下班打卡习惯。
第二种实现方式中,本申请实施例还可以基于第二用户的N个第一打卡时间确定第一时间段。具体的,本申请实施例考虑到个人的下班打卡数据量过少,可能导致第一时间段不准确,例如,某一第一用户在N天中可能包括以下打卡异常的情况:情况一,第一用户在N天中的某一天或某几天进行了请假早退打卡,在N天中的某一天或某几天还进行了长时间加班,如果基于该第一用户的N个第一打卡时间确定第一时间段,将导致第一时间段的范围过大,不利于提升用户体验。情况二,第一用户在没有下班时误触打卡,并且在真正下班时遗忘打卡,导致误触打卡的时间成为当天的第一打卡时间,基于这样的第一打卡时间确定第一时间段可能会导致出现过早推荐的情况。可见,第一用户个人的下班打卡存在较大的随机性,基于第一用户个人的N个第一打卡时间确定的第一时间段可能会降低用户体验,导致推荐成功率低。
因此,本申请实施例还可以基于第二用户的N个第一打卡时间确定第一用户的第一时间段。第二用户可以是与第一用户相关联的用户,例如与第一用户受到相同的工作制约束。进一步的,第二用户可以是第一用户的全部或者部分同事,具体的,第一用户的终端设备可以和第二用户的终端设备连接至同一第一目标网络中,第一目标网络位于公司范围内,公司范围可以指公司及其周边房间、楼层的范围,第一目标网络可以覆盖部分或全部公司范围。当第一用户或者第二用户均连接至第一目标网络时,确定第一用户和第二用户互为相关联的用户。这样,可以改变第一时间段的区间。
第三种实现方式中,本申请实施例还可以基于第一用户的N个第一打卡时间和第二用户的N个第一打卡时间共同确定第一时间段。
具体的,该种实现方式可以修正第一用户异常打卡的问题,例如,在仅基于第一用户的N个第一打卡时间确定第一时间段时,如果N个第一打卡时间中包括16:00这样的早于工作制约定的下班时间的值,可能会导致第一时间段的起始时间被提前至16:00。而在基于第一用户的N个第一打卡时间和第二用户的N个第一打卡时间确定第一时间段时,由于第一打卡时间的数据量较大,通过比较大量的第一打卡时间的分布能够发现16:00为异常打卡时间,那么在确定第一时间段时可以去除该异常打卡时间,提高第一时间段的准确率。
本申请实施例可以采用上述三种实现方式中的任意一种方式确定第一时间段。进一步的,本申请实施例还可以针对任一第一用户对上述三种实现方式进行筛选。具体的,基于上述三种实现方式确定未来A天的第一时间段,并在未来A天中每天用户打卡后获取最早下班打卡时间,利用第一时间段和最早下班打卡时间组成测试集,之后利用该测试集计算每种实现方式对应的第一时间段的准确性,并基于测试结果确定具体采用哪种实现方式为第一用户做推荐。
需要补充说明的是,第二用户的第一打卡时间的数量可以不限于N个,可以由第二用户在今天之前的实际下班打卡情况确定,不同第二用户的第一打卡时间的数量可以相同或者不同。
S302:对第一时间集合中的第一打卡时间进行排序,得到第一序列。
示例性的,第一时间集合可以由13个第一打卡时间组成,13个第一打卡时间分别为15:00、15:30、19:30、20:00、18:00、20:30、21:00、21:30、18:40、19:00、22:00、23:00、18:00。对上述13个第一打卡时间按照时间升序排序后得到第一序列如下:15:00、15:30、18:00、18:00、18:40、19:00、19:30、20:00、20:30、21:00、21:30、22:00、23:00。
S303:去除第一序列中位于列首和/或列尾的离群值,得到第二序列。
为了提高第一时间段的准确率,本申请实施例还可去除第一序列中较小或者较大的离群值。例如可以基于四分位距(interquartile range,IQR)法去除离群值。基于四分位距法,可以找到第一序列的第一四分位数Q1为18:00,第二四分位数(中位数)Q2为19:30,第三四分位数Q3为21:00,四分位距IQR=Q3-Q1=21:00-18:00,此时可以认为四分位距等于3小时,那么由中位数19:30之前3小时内的第一打卡时间和之后3小时内的第一打卡时间为非离群值,其余第一打卡时间为离群值,离群值具体为15:00、15:30以及23:00。
需要补充说明的是,此处为便于理解,采用六十分制的第一打卡时间对四分位距法做示例性的介绍,在实际计算过程中,应当将第一打卡时间由六十分制转换为百分制。
在实际应用中,还可以采用其他统计学方法去除离群值,本申请实施例对此不做具体限定。
S304:将第二序列中位于列首的第一打卡时间确定为第一时间段的起始时间,将第二序列中位于列尾的第一打卡时间确定为第一时间段的结束时间。
这样,第一时间段可以受到多种筛选条件的约束,准确率更高。
图9为本申请实施例提供的第一用户下班推荐示意图。图9中(a)图像示出了第一用户在第一时间段的结束时间之前完成打卡的示意图,图9中(b)图像示出了第一用户未在第一时间段的结束时间之前完成打卡的示意图。
本申请实施例中,步骤S204之后还包括以下步骤S401:
S401:如果第一用户不为第一特征用户,在第一时间段的结束时间之前,当第一用户完成下班打卡时停止显示第一对象;或者,在第一时间段的结束时间停止显示第一对象。
本申请实施例中,对于不为第一特征用户的第一用户,可以在第一时间段内均显示第一对象。并且,如果用户在第一时间段内通过点击第一对象跳转至第三方应用程序完成下班打卡,或者如果用户在第一时间段通过其他途径到达第三方应用程序下班打卡界面并完成下班打卡,均可以停止显示第一对象。这样,对于不为第一特征用户的第一用户,可以在其打卡之前持续收到下班打卡推荐,在完成打卡后不再收到下班打卡推荐。
进一步的,当第一对象是主屏幕界面上的桌面卡片集中的其中一个卡片时,或者当第一对象是独立显示在主屏幕界面上的桌面组件时,在停止显示第一对象之前,用户每次返回主屏幕界面时,均可以在主屏幕界面中看到第一对象,起到持续性推荐的作用,使得用户在需要打卡时均可以通过第一对象进行便捷打卡。
图10为本申请实施例提供的又一第一用户下班推荐示意图。图11为本申请实施例提供的第一用户下班推荐流程示意图。如图10及图11所示,本申请实施例在步骤S204之后还包括以下步骤S501:
S501:如果第一用户为第一特征用户,在第二时间点显示第二对象;其中,第二时间点位于第一时间段的起始时间与第一时间点之间,且与第一时间点之间的时间间隔等于第一预设时长。
本申请实施例可以在第二时间点之前的一段时间内显示第二对象,这样,可以提高第二对象推荐的成功率。第一预设时长例如可以为5分钟、10分钟或者15分钟,本申请实施例不对第一预设时长的具体数值做限定。
如图10及图11所示,本申请实施例提供的方法在步骤S205之前还可以包括以下步骤S502:
S502:如果第一用户为第一特征用户,在第三时间点之前,当第一用户完成下班打卡时停止显示第一对象,或者,在第三时间点停止显示第一对象;其中,第三时间点位于第一时间段的起始时间与第二时间点之间,且与第一时间段的起始时间之间的时间间隔等于第二预设时长,或者,第三时间点与第二时间点重合。
本申请实施例中,当获取到的下班时间记录的时间跨度较长时,该下班时间记录中包括丰富的下班时间信息。例如,下班时间记录的时间跨度完整覆盖了一个星期、一个月或者一个季度,该下班时间记录可以完整表现用户在一个星期、一个月或者一个季度内的下班打卡习惯,具体的,该下班时间记录中包括但不限于用户进行一次打卡并立即下班的情况,用户在工作制约定的时间之后打“保险卡”、并在真正下班时进行最后一次打卡的情况。因此,本申请实施例的第一时间段也可以覆盖用户习惯的打“保险卡”的时间,在第一时间段的起始时间显示第一对象,还可以起到提醒用户打“保险卡”的作用。
本申请实施例可以在第一时间段的起始时间到第三时间点之间显示第一对象,以使第一用户可以在第一时间段的起始时间到第三时间点之间打“保险卡”。当用户在第一时间段的起始时间到第三时间点之间完成打卡后,可以停止显示第一对象。进一步的,如果用户没有在第一时间段的起始时间到第三时间点之间完成打卡,本申请实施例还可以在第三时间点停止显示第一对象,这样,可以避免第一对象影响用户使用体验。
继续参见图10及图11,本申请实施例中步骤S205之后还可以包括以下步骤S503:
S503:在第一时间段的结束时间之前,当第一用户完成下班打卡时停止显示第二对象。或者,在第一时间段的结束时间停止显示第二对象。
图10中(a)图像示出了在第一时间段的结束时间之前第一用户完成下班打卡的示意图,图10中(b)图像示出在第一时间段的结束时间停止显示第二对象的示意图。
综上,对于是第一特征用户的第一用户,本申请实施例可以在第一时间段的起始时间提醒其打“保险卡”,也可以预测其真正的下班时间(第一时间点),并在真正的下班时间点附近再次推荐其打卡。本申请实施例提供的下班打卡推荐方法,更加符合用户的使用需求以及打卡习惯,推荐成功率高,可以提升用户体验。
图12为本申请实施例提供的再一第一用户下班推荐示意图。
如图12中(a)图像所示,在一些实现方式中,如果第一时间段的起始时间到第三时间点之间的时间段,与第二时间点到第一时间点之间的时间段存在重合,本申请实施例可以将第三时间点提前至第二时间点,使得用户可以顺利收到第二对象的提醒,顺利完成真正的下班打卡。
如图12中(b)图像所示,在一些实现方式中,如果模型预测出的第一时间点与第一时间段的起始时间重合,那么本申请实施例可以在第一时间段的起始时间(第一时间点)到第一时间段的结束时间之间持续显示第一对象或者第二对象。进一步的,如果用户在第一时间段的起始时间(第一时间点)到第一时间段的结束时间之间完成一次打卡,可以停止显示第一对象或者第二对象。
如图12中(c)图像所示,在一些实现方式中,如果模型预测出的第一时间点与第一时间段的起始时间重合,那么本申请实施例可以在第一时间段的起始时间(第一时间点)到第四时间点之前持续显示第一对象或者第二对象,第四时间点早于第一时间段的结束时间,第一时间段的起始时间和第四时间点之间的时长可以等于预设时长,例如可以等于10分钟、20分钟或者30分钟。这样,可以避免第一对象或者第二对象影响用户使用。进一步的,如果用户在第一时间段的起始时间(第一时间点)到第四时间点之间完成一次打卡,可以停止显示第一对象或者第二对象。
进一步的,在上述各个步骤的基础上,本申请实施例还可以在显示第一对象或者显示第二对象之前,判断第一用户是否处于公司围栏内,如果第一用户处在公司围栏内,显示第一对象或者第二对象,如果第一用户未处在公司围栏内,不显示第一对象或者第二对象。这样,可以避免用户不在公司周围时进行下班打卡推荐。
公司围栏可以是由用户历史活动位置确定的地理围栏,例如公司围栏可以围设有用户下班打卡地点周围的1公里的范围。本申请实施例具体可以基于用户画像(userprofile)确定公司围栏。用户画像是一种集合了用户行为习惯等信息的标签集合,每个标签都规定了观察、认识、描述用户的角度,将用户行为习惯标签化,便于理解且方便计算机处理,可以用于精准、快速地分析用户行为习惯。本实施例中,公司围栏可以由用户图像中记录用户活动位置的标签确定,例如该标签记录了用户在9:00-12:00停留时长超过90分钟的地点的位置信息,或者,该标签记录了用户每天进行上班打卡或者下班打卡时的地点的位置信息,该位置信息可以由经纬度表示。这样,基于该标签可以用于确定公司围栏。
进一步的,本申请实施例可以在预设的时间点确定第一时间点,预设的时间点例如可以是凌晨4:00,这样,不论用户今天是否上班,模型都可以预测到第一时间点,当接收到用户上班打卡记录后,可以基于第一时间点显示第二对象。这样,可以避免模型运行影响用户使用体验。
图13为本申请实施例提供的确定第一时间点的流程示意图。如图13所示,本申请实施例提供的方法还包括以下步骤S601-S602:
S601:获取今天和今天之前的N天中每一天的第一信息和第二信息;第一信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天在当月的第几周;第二信息包括:第一差值、第二差值、第三差值、第一均值以及第二均值,第一差值等于在N天中一天前的最晚下班打卡时间与两天前的最晚下班打卡时间的差值,第二差值等于在N天中一天前的最晚下班打卡时间与三天前的最晚下班打卡时间的差值,第三差值等于在N天中一天前的最晚下班打卡时间与四天前的最晚下班打卡时间的差值,第一均值等于第一差值和第二差值的平均值,第二均值等于第一差值、第二差值以及第三差值的均值。
其中,第一信息可以用于分析用户下班的时间与当天的自然信息(例如当天是当周中的第几天等)之间的关系,第二信息可以用于分析用户的下班时间规律,基于第一信息和第二信息还可以对每一天进行区分和归类。例如,本申请实施例可以通过比较确定第一信息重合度高于阈值的各天,或者通过比较确定第二信息重合度高于阈值的各天,进一步确定用户下班打卡时间与第一信息、第二信息的关联,以及确定下班打卡时间的变化规律,进而确定今天的第一时间点。
可以理解的是,前述第一信息和第二信息仅是本申请实施例示出的部分信息,本申请实施例在实际应用时,还可以基于第一打卡时间这一信息为基础确定更多的信息。例如,各个第一打卡时间是否与当天最早下班打卡时间重合,或者各个第一打卡时间是否出现跨越零点的情况等。
需要补充说明的是,在计算第二信息时,N天中每一天应当按照日期先后进行排序。对于N天中的前四天,在无法计算第一差值、第二差值、第三差值、第一均值或者第二均值时,可以将相应的数值设置为空。例如,今天之前的N天例如是11月1日,11月2日,11月3日,11月4日,11月8日,11月9日,11月10日,那么11月10日的第一差值等于11月10日的最晚下班打卡时间与11月9日的最晚下班打卡时间的差值。由于11月1日之前一天的最晚下班打卡时间是未知的,因此可以将11月1日的第一差值设置为空。第二差值、第三差值、第一均值以及第二均值的计算步骤此处不做赘述。
S602:将下班时间记录、今天和今天之前的N天中每一天的第一信息和第二信息输入至第一预测模型中,得到第一时间点。
其中,第一预测模型可以是基于梯度提升机(Light Gradient BoostingMachine,LightGBM)模型结构确定的回归模型。LightGBM是一种基于决策树算法的分布式梯度提升框架,具有快速高效、低内存占用、高准确度、支持并行和可以大规模数据处理的优点。在第一预测模型的训练阶段,可以基于大量用户样本、利用丰富的特征信息对模型进行训练。具体的,可以利用模型对特征信息进行分类和排序,之后得到基于不同特征信息确定的预测结果,基于预测结果的准确度对特征信息做取舍,保留与预测下班时间点关联度更高的特征信息,作为第一预测模型最终预测下班时间点的第一信息和第二信息,完成训练过程。
本申请实施例提供的第一预测模型,可以确定下班时间规律,以及可以确定影响下班时间点的因素,最终预测一个下班时间点。之后,可以基于预测的下班时间点进行下班打卡推荐,可以使得下班打卡推荐更为准确。
图14(a)为本申请实施例提供的确定第一特征用户的第一种流程示意图。如图14(a)所示,本申请实施例还包括以下步骤S701-S702:
S701:计算N个第一打卡时间的第一标准差。
标准差可以用于表示数据集中数据的离散程度,标准差越大,表示离散程度越大,标准差越小,表示离散程度越小。因此可以计算N个第一打卡时间段标准差,基于标准差的大小确定第一用户是否为下班时间比较规律的第一特征用户。
S702:如果第一标准差小于第一预设阈值,将第一用户确定为第一特征用户。
其中,第一预设阈值例如可以等于30分钟或者60分钟,本申请实施例不对第一预设阈值的具体数值做限定。对于是第一特征用户的第一用户,第一预测模型容易学习到其下班的规律,可以预测出较为准确的第一时间点,进而使得其获得良好的使用体验,而对于不是第一特征用户的第一用户,不在第一时间点进行推荐可以避免给其带来推荐不准的体验。
图14(b)为本申请实施例提供的确定第一特征用户的第二种流程示意图。如图14(b)所示,本申请实施例还可以包括以下步骤S703-S706:
S703:对N个第一打卡时间进行排序,得到第三序列。
在对N个第一打卡时间进行排序时,可以按照时间升序进行排列,也可以按照时间降序进行排列。
S704:去除第三序列中位于列首、列尾或者列首及列尾的部分第一打卡时间,得到第一数量的第一打卡时间,第一数量与N的比值等于第二预设阈值。
本申请实施例中,第一数量可以等于70%,那么可以选取N个第一打卡时间中的70%的第一打卡时间进行标准差的计算。
S705:计算第一数量的第一打卡时间的第二标准差。
例如,对于第三序列中的10个第一打卡时间,可以选取出其中的7个(70%)第一打卡时间计算标准差。7个第一打卡时间例如可以是去除列首的3个第一打卡时间,或者去除列尾的3个第一打卡时间,或者去除列首的1个第一打卡时间及列尾的2个第一打卡时间,或者去除列首的2个第一打卡时间及列尾的1个第一打卡时间。
本申请实施例可以对每种去除办法得到的第一打卡时间均计算第二标准差。
S706:如果第二标准差小于第三预设阈值,将第一用户确定为第一特征用户。
其中,第三预设阈值例如可以等于30分钟或者60分钟,本申请实施例不对第一预设阈值的具体数值做限定。如果其中一种或者几种去除办法对应的第二标准差小于第三预设阈值,那么可以将第一用户确定为第一特征用户。
图14(c)为本申请实施例提供的确定第一特征用户的第三种流程示意图。如图14(c)所示,本申请实施例还可以包括以下步骤S707-S708:
S707:计算第二打卡时间的第三标准差,第二打卡时间为N个第一打卡时间中的m个,m小于N。
可以理解的是,N个第一打卡时间中包括一个或多个星期一对应的第一打卡时间、一个或多的星期二对应第一打卡时间、一个或多个星期三对应的第一打卡时间等等。第二打卡时间可以是其中所有星期三及星期五的第一打卡时间,或者第二打卡时间还可以是其中所有星期一、星期二及星期四的第一打卡时间,这样,可以确定第一用户在特定的几种工作日(星期三及星期五)中是否为下班时间较为规律的用户,或者确定第一用户在特定的另外几种工作日(星期一、星期三及星期四)中是否为下班时间较为规律的用户。
S708:如果第三标准差小于第四预设阈值,将第一用户确定为第一特征用户。
其中,第四预设阈值例如可以等于30分钟或者60分钟,本申请实施例不对第四预设阈值的具体数值做限定。
图14(d)为本申请实施例提供的确定第一特征用户的第四种流程示意图。如图14(d)所示,本申请实施例还可以包括以下步骤S709-S711:
S709:确定第三打卡时间和其对应的第一时间点,第三打卡时间为N个第一打卡时间中的n个,n小于N。
S710:基于第三打卡时间和第一时间点,计算第一时间点的准确率。
S711:如果准确率大于第五预设阈值,将第一用户确定为第一特征用户。
本申请实施例可以从N个第一打卡时间中选出n个,并且获取n个第一打卡时间对应的n个第一时间点。对于每一第一打卡时间,如果第一打卡时间位于第三时间段内,确定第一时间点预测准确,如果第一打卡时间没有位于第三时间段内,确定第一时间点预测不准确。第一时间段例如可以是第一时间点之前的半小时,或者是第一时间点前后各半小时。进一步的,可以将预测准确的第一时间点的数量与n的比值确定为第一时间点的准确率,如果准确率大于第五预设阈值,确定第一用户为第一特征用户。可见,基于该种方法可以找出模型易学的用户。
在一些实现方式中,第三打卡时间可以是距离今天(待预测日)最近的n天中每天的最晚下班打卡时间。
第五预设阈值例如可以等于0.7,本申请实施例不对第五预设阈值的具体数值做限定。
在实际应用中,可以基于上述一种或者几种方法确定第一特征用户,本申请实施例对具体采用哪种方法不做具体限定。
图15为本申请实施例提供的打卡推荐方法的第二种流程示意图。
如图15所示,本申请实施例还提供了上班打卡推荐的方法,具体可以包括以下步骤S801-S807:
S801:在当前时间为预设时间时,判断第一用户的睡眠地点是否处于个人打卡围栏内,个人打卡围栏是由第一用户历史上班打卡位置确定的地理围栏。
图16示出了个人打卡围栏的示意图。如图16所示,个人打卡围栏可以是由用户历史上班或者下班打卡位置确定的。例如个人打卡围栏可以包括子围栏1、子围栏2、子围栏3、子围栏4等,子围栏1围设了地点A周围的10米的范围,子围栏2围设了地点B周围10米的范围,子围栏3围设了地点C周围10米的范围,子围栏4围设了地点D周围10米的范围,地点A、地点B、地点C及地点D均是用户历史打卡地点。当用户进入各个子围栏围设的范围,可以确定用户进入其个人打卡围栏。或者,在用户的辐射范围包括任一子围栏时,也可以确定用户进入其个人打卡围栏,用户的辐射范围例如可以是用户周围10米、20米或者30米的范围。
用户的上班旅程一般包括离家,步行或乘坐交通工具到达公司附近,之后进入个人打卡围栏并完成打卡。因此当用户有进入个人打卡围栏的动作时,可以认为用户需要进行上班打卡,但是对于一些特殊的用户,例如家在公司附近的用户,由于其在家中或者家周围均可以实现打卡,因此其个人打卡围栏围设的范围可能包括部分或者全部家的区域,那么这样的用户的上班路程可能不包括进入个人打卡围栏的动作,或者包括频繁跨入、跨出个人打卡围栏的动作。再如一些留宿公司的用户,其上班旅程也不包括进入个人打卡围栏的动作,不能依据进入个人打卡围栏的动作进行上班打卡推荐。因此,为了覆盖更多的用户上班打卡需求,本申请实施例可以首先判断用户的睡眠地点是否处于个人打卡围栏内,以确定用户上班是否存在进入个人打卡围栏的动作。
在一些实现方式中,为了准确的确定用户的睡眠地点,可以预设一些终端设备的使用特征。例如,当前时间晚于凌晨十二点、终端设备处于充电状态、终端设备保持灭屏状态超过预设时长等。示例性的,在凌晨十二点时,终端设备处于充电状态,且终端设备保持灭屏状态超过120秒,可以确定用户处于睡眠状态,此时用户所处的地点为睡眠地点。睡眠地点可以由经纬度表示。
在一些实现方式中,可以基于用户画像确定用户的实际睡眠地点。具体的,用户画像可以学习用户家的位置、公司的位置以及家与公司之间的距离等特征,以精确的确定用户的睡眠地点。用户画像还可以学习用户的其他特征,例如用户每个工作日在家中停留的时长等,本申请对此不做具体限定。
在一些实现方式中,预设时间可以为凌晨4:00,预设时间的实际数值可以根据实际情况进行确定,只需保证预设时间早于用户最早上班打卡时间即可。
S802:如果第一用户的睡眠地点处于个人打卡围栏内,确定第一历史日,第一历史日包括今天之前的R天,R小于或者等于第二预测模型的数据老化天数。
其中,如果用户的睡眠地点处于打卡围栏内,那么用户在上班时一般不会出现进入打卡围栏的动作,不能基于该动作进行上班打卡推荐。因此,本申请实施例还可以基于第二预测模型确定是否进行上班打卡推荐。第二预测模型可以是基于LightGBM确定的分类模型。在第二预测模型的训练阶段,可以基于大量用户样本、利用丰富的特征信息对模型进行训练。具体的,可以利用模型对过去工作日或非工作日的特征信息进行分类和排序,之后得到基于不同特征信息确定的预测结果,基于预测结果的准确度对特征信息做取舍,保留与预测用户是否上班关联度更高的特征信息,作为第二预测模型最终预测是否需要上班的特征信息,完成训练过程。
进一步的,本申请实施例可以首先确定输入第二预测模型的数据。其中,第一历史日可以是今天之前连续的R天,其中R应当大于预设阈值,预设阈值例如是10或者30等,这样,第一历史日的跨度至少可以覆盖一个星期,因此可以通过分析第一历史日的是否上班的情况确定用户的上班规律。
数据老化天数是指在第二预测模型训练阶段为其设置的数据阈值,当数据距离当前时刻的时间间隔超过数据老化天数时,该数据会被删除,而不会被输入至第二预测模型中。由于第一历史日中上班的天数远多于不上班的天数,并且受限于模型的数据老化天数,输入模型的数据量可能较少,这将影响模型的预测结果的准确性。本申请实施例可以基于第一历史日及其相关数据进行数据增强,以使不上班天数和上班天数增强至相等,同时扩大数据量。
S803:基于第一历史日确定第二历史日;第二历史日位于第一历史日之前,第二历史日与第一历史日之间的差值大于数据老化天数;第二历史日是否上班的信息与第一历史日相同,且第二历史日所在周是否为当年的奇数周与第一历史日相同。
本申请实施例中,第二历史日是基于第一历史日的时间戳回推出的天数,并且第二历史日与第一历史日之间的差值大于数据老化天数,因此第二历史日的相关数据不会与未老化的数据产生冲突。
图17为本申请实施例提供的确定第二历史日的流程示意图。如图17所示,本申请实施例还包括以下步骤S8031-S8033:
S8031:基于第一历史日是否上班的信息,将第一历史日划分为正样本及负样本,得到U条正样本和V条负样本,正样本对应于上班的第一历史日,负样本对应于未上班的第一历史日。
图18为本申请实施例提供的第一历史日及其相关信息的示意图。图18中示出了2022年7月25日至2022年8月7日连续14天的第一历史日,其中,“ID”表示数据增强的事件ID,“Timestamp”表示第一历史日的时间戳,具体为第一历史日的日期。“label”表示该第一历史日是否上班,“1”表示上班,“0”表示不上班,“is_odd_week”表示该第一历史日所在周是否为奇数周,“1”表示是奇数周,“0”表示不是奇数周。可见,2022年7月25日至2022年8月7日中上班天数和不上班天数明显不相等。为了将不上班天数和上班天数增强至相等,本申请实施例首先将第一历史日划分为正样本和负样本。
S8032:对于每一正样本,确定其对应的V-1个第二历史日。
其中,对于每一正样本均确定其对应的V-1个第二历史日,并且第二历史日是否上班的信息与其对应的第一历史日相同。那么U条正样本增强出U×(V-1)条正样本,正样本的总条数增强为U×V。
图19为本申请实施例提供的数据增强的示意图。如图19所示,对于2022年7月25日至2022年8月7日这连续14天的第一历史日,正样本条数为12条,负样本条数为2条,那么每一正样本,对应于(2-1)个第二历史日,每一负样本,对应于(12-1)个第二历史日。例如时间戳为“2022-07-25”的正样本,对应于1个第二历史日。
S8033:对于每一负样本,确定其对应的U-1个第二历史日。
其中,对于每一负样本均确定其对应的U-1个第二历史日,并且第二历史日是否上班的信息与其对应的第一历史日相同。那么V条负样本增强出V×(U-1)条负样本,负样本的总条数增强为V×U。如图19所示,时间戳为“2022-08-07”的负样本,对应于(12-1)个第二历史日。
可见,增强后正样本和负样本的条数相同,均为U×V。
下面结合示例对确定第二历史日时间戳的步骤做详细介绍。
进一步的,当第二预测模型的数据老化天数等于W天时,第X个第二历史日为正样本之前的第X×(W+Y)天,X为自然数,且0<X≤V-1;第Z个第二历史日为负样本之前的第Z×(W+Y)天,Z为自然数,且0<Z≤Y-1;Y为自然数,且Y≥1。
可以理解的是,本申请可以基于第一历史日的时间戳,回推出距离第一历史日的时间间隔超过数据老化天数的第二历史日。其中W+Y是第一历史日与距离其最近的第二历史日之间的差值,X×(W+Y)表示正样本与其对应的第X个第二历史日之间的差值,相应的,Z×(W+Y)表示负样本与其对应的第Z个第二历史日之间的差值。数据老化天数W和参数Y的数值可以基于实际情况确定。
例如,如图19所示,预设的数据老化天数W可以为90天,参数Y可以等于1,这样,第二历史日与其对应的第一历史日之间的差值可以大于数据老化天数。示例性的,时间戳为“2022-07-25”的第一历史日,对应的第二历史日的时间戳为“2022-04-25”,二者之间的差值为91天。时间戳为“2022-08-07”的第一历史日,对应的第一个第二历史日的时间戳为“2022-05-08”,二者之间的差值也为91天。对应的第二个第二历史日的时间戳为“2022-02-06”,二者之间的差值为2×91=182天。图19中每一第一历史日对应的第二历史日的时间戳可以参见图20,此处不做赘述。
需要补充说明的是,为避免奇数周与偶数周的数量差异被放大,本申请实施例中,第二历史日所在周是否为奇数周与其对应的第一历史日相同。
如图20所示,数据增强后,总数据量由14条增长为48条,不上班天数和上班天数也已增强至相等,并且保持了第一历史日的数据结构没有破坏。
因此,在增强得到第二历史日之后,可以使得不上班天数和上班天数增强至相等,同时扩大数据量。基于第一历史日和第二历史日共同预测是否上班,可以提高第二预测模型的准确性。
S804:获取今天、第一历史日和第二历史日的第三信息,第三信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天是否为星期六,当天在当月的第几天,当天在当月的第几周,当天为当月正数第几个星期T,和当天为当月倒数第几个星期T,其中星期T为星期一至星期日的任意一天,当天所在周是否为当年的奇数周。
本申请实施例中,第二信息可以用于分析用户上班的规律,进而确定今天是否需要上班。
可以理解的是,第二历史日是否上班的信息与其对应的第一历史日相同,并且,第二历史日的第三信息中,是否为当年奇数周与其对应的第一历史日相同,而其他信息例如当天为当周的第几天,当天为当年的第几月等是其真实的信息。例如,时间戳为“2022-05-08”的第二历史日为一周中的第七天,是当年的第五月,不是星期一、星期二或者星期四,是星期六或者星期日,不是星期六,在当月的第八天,在当月的第二周,当天为当月的正数的第二个星期日,当天为当月倒数的第四个星期日,所在周不是当年的奇数周,并且该第二历史日不上班。
S805:将今天、第一历史日和第二历史日的第三信息输入至第二预测模型中,以及将第一历史日和第二历史日是否上班的信息输入至第二预测模型中,确定用户当天是否需要上班。
可见,本申请实施例提供的第二预测模型,可以基于今天、第一历史日和第二历史日的第三信息确定用户是否需要上班。之后本申请实施例可以预测结果确定是否进行上班打卡推荐,因此本申请实施例提供的上班打卡推荐更为准确,可以避免无效推荐,可以改善用户体验。
S806:如果用户当天需要上班,在第二时间段内,显示第三对象,第三对象用于用户打卡,第二时间段的起始时间为第一用户历史最早上班打卡时间,第二时间段的结束时间为第一用户的历史最晚上班打卡时间。
第三对象例如可以是显示在锁屏界面的消息通知、悬浮在主屏幕界面顶部的消息通知,第三对象也可以是主屏幕界面上的桌面卡片集中的其中一个卡片,或者独立显示在主屏幕界面上的桌面组件。在用户收到第三对象后可以点击第三对象,这样可以直接跳转至第三应用程序用于上班打卡的用户界面并进行上班打卡。
本申请实施例的第二时间段是基于第一用户历史最早上班打卡时间和历史最晚上班打卡时间确定的,这样,可以避免用户错过打卡时间,造成漏打卡。在确定第二时间段时,可以首先去除用户历史上班打卡时间中的离群值,之后再确定最早上班打卡时间和最晚上班打卡时间。例如,某些工作日用户上班迟到或者存在请假行为,此时的上班打卡时间是晚于工作制约定的上班时间的,这样的上班时间数据对确定第二时间段不具有参考作用,因此可以删除。
S807:在第一用户完成上班打卡时停止显示第三对象。
由于上班不需要多次重复打卡,因此在用户完成打卡后,可以停止将上班打卡界面推荐给用户,以避免出现无效推荐。
继续参见图15,本申请实施例提供的方法还包括以下步骤S808-S810:
S808:如果第一用户的睡眠地点未处于个人打卡围栏内,当第一用户进入个人打卡围栏时,显示第四对象,第四对象显示在终端设备主屏幕界面的应用程序推荐卡片中,且第四对象用于用户打卡。
其中,如果用户的睡眠地点未处于打卡围栏内,那么如果用户需要上班,用户在上班时包括进入打卡围栏的动作。因此,本申请实施例还可以在用户进入打卡围栏时,可以对用户进行上班打卡推荐,使得用户可以及时打卡,避免出现漏打卡的情况。
S809:当第一用户的终端设备连接至第二目标网络时,如果第一用户未完成上班打卡,显示第五对象;第二目标网络位于公司范围内,第五对象为持续悬浮于终端设备主屏幕界面的通知栏,第五对象用于用户打卡。
第二目标网络位于公司范围内,公司范围可以指公司及其周边房间、楼层的范围,第二目标网络可以覆盖部分或者全部公司范围。当第一用户的终端设备连接至第二目标网络时,可以确定第一用户已进入公司范围,此时如果用户未完成上班打卡,可以显示第五对象以提醒用户打卡。
图21为本申请实施例提供的第四对象和第五对象的示意图。如图21中(a)图像,第四对象显示在应用程序推荐卡片中。由于应用程序推荐卡片中除第四对象外还有其他对象,可能会影响第一用户观察,因此本申请实施例可以在终端设备连接第二目标网络后进行强提醒,强提醒的具体步骤可以是显示第五对象。如图21中(b)图像,第五对象可以是由终端设备主屏幕界面的左侧或者右侧进入、并悬浮于主屏幕界面的悬浮球,在悬浮球进入主屏幕界面时,可以起到提醒用户的作用,并且悬浮球中可以仅显示用户上班打卡的信息,更易于第一用户观察并点击。
S810:在第一用户完成上班打卡时停止显示第四对象或第五对象。
由于上班不需要多次重复打卡,因此在用户完成打卡后,可以停止将上班打卡界面推荐给用户,以避免出现无效推荐。其中,停止显示第四对象的时间还可以是开始显示第五对象的时间。
在一些实现方式中,如果用户进入个人打卡围栏但是一直没有打卡,此时用户没有上班打卡的需求。因此,本申请实施例还可以在特定时间段内进行上班打卡推荐,如果在特定时间段内用户未完成打卡,不再继续推荐,这样,可以提高推荐效率。特定时间段可以是工作日中约定上班时间点之前的段时间,本申请对此不做具体限定。
由以上技术方案可知,本申请实施例提供的打卡推荐方法,可以针对用户的睡眠地点针对性的选择上班打卡推荐方法,打卡推荐成功率及准确率更高,可以覆盖更多的用户打卡需求。
图22为本申请实施例提供的修正第二预测模型的流程示意图。
在一些实现方式中,如图22所示,本申请实施例还包括以下步骤S901-S902:
S901:获取节假日安排通知;
S902:基于节假日安排通知,修正第二预测模型。
其中,节假日安排通知中包括一年内的调休方案,那么,基于节假日安排通知,可以修正第二预测模型,例如,第二预测模型预测某天需要上班,但是节假日安排通知中显示该天为节假日,那么不对用户进行上班打卡推荐,如果第二预测模型预测某天不需要上班,但是节假日安排通知中显示该天需要补班,那么仍对用户进行上班打卡推荐。这样,可以提高上班推荐的准确率,改善用户体验。
可以理解的是,节假日安排通知可以以年为周期进行更新。
本申请实施例可以根据上述方法示例对上述终端设备进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供了一种用于实现手机等终端设备功能的软件装置,包括:获取模块,用于获取第一用户在今天之前的N天的下班时间记录;确定模块,用于根据下班时间记录确定第一时间段和第一时间点;其中,第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间;N个第一打卡时间包括N天中每天的最晚下班打卡时间;第一时间点位于第一时间段内;接收模块,用于接收到第一用户的上班打卡记录;第一显示模块,用于在第一时间段的起始时间显示第一对象,第一对象用于用户打卡;第二显示模块,如果第一用户为第一特征用户,第二显示模块用于在第一时间点显示第二对象,第二对象用于用户打卡,且第二对象与第一对象相同或不同;第一特征用户的N个第一打卡时间的离散程度满足预设条件,或者,第一特征用户的N个第一打卡时间与其对应的第一时间点之间的时间间隔满足预设条件。
本申请实施例还提供了一种用于实现手机等终端设备功能的硬件装置。如图23所示,用于实现终端设备功能的信息共享装置可以包括:显示屏1001、存储器1002、处理器1003和通信模块1004。上述各器件可以通过一个或多个通信总线1005连接。显示屏1001可以包括显示面板10011和触摸传感器10012,其中,显示面板10011用于显示图像,触摸传感器10012可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,通过显示面板10011提供与触摸操作相关的视觉输出。处理器1003可以包括一个或多个处理单元,例如:处理器1003可以包括应用处理器,调制解调处理器,图形处理器,图像信号处理器,控制器,视频编解码器,数字信号处理器,基带处理器,和/或神经网络处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储器1002与处理器1003耦合,用于存储各种软件程序和/或计算机指令,存储器1002可包括易失性存储器和/或非易失性存储器。当处理器执行计算机指令时,使终端设备可执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其它装置(例如终端设备的存储器)接收信号。又例如,接口电路可用于向其它装置发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得终端设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述终端设备(如图3所示的终端设备100)上运行时,使得该终端设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种打卡推荐方法,其特征在于,所述方法包括:
获取第一用户在今天之前的N天的下班时间记录;
根据所述下班时间记录确定第一时间段和第一时间点;其中,所述第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且所述第一时间段的结束时间早于或者等于所述N个第一打卡时间中的最晚时间;所述N个第一打卡时间包括所述N天中每天的最晚下班打卡时间;所述第一时间点位于所述第一时间段内;
接收到所述第一用户的上班打卡记录;
在所述第一时间段的起始时间显示第一对象,所述第一对象用于用户打卡;
如果所述第一用户为第一特征用户,在所述第一时间点显示第二对象,所述第二对象用于用户打卡,且所述第二对象与所述第一对象相同或不同;所述第一特征用户的所述N个第一打卡时间的离散程度满足预设条件,或者,所述第一特征用户的所述N个第一打卡时间与其对应的所述第一时间点之间的时间间隔满足预设条件。
2.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一时间段由以下步骤确定:
获取第一时间集合,所述第一时间集合包括所述第一用户的所述N个第一打卡时间,和/或第二用户的所述N个第一打卡时间,所述第一用户的终端设备与所述第二用户的终端设备连接至同一第一目标网络,所述第一目标网络位于公司范围内;
对所述第一时间集合中的所述第一打卡时间进行排序,得到第一序列;
去除所述第一序列中位于列首和/或列尾的离群值,得到第二序列;
将所述第二序列中位于列首的所述第一打卡时间确定为所述第一时间段的起始时间,将所述第二序列中位于列尾的所述第一打卡时间确定为所述第一时间段的结束时间。
3.根据权利要求1所述的打卡推荐方法,其特征在于,在所述第一时间段的起始时间显示第一对象的步骤后,所述方法还包括:
如果所述第一用户不为所述第一特征用户,在所述第一时间段的结束时间之前,当所述第一用户完成下班打卡时停止显示所述第一对象;
或者,在所述第一时间段的结束时间停止显示所述第一对象。
4.根据权利要求1所述的打卡推荐方法,其特征在于,在所述第一时间段的起始时间显示第一对象的步骤后,所述方法还包括:
如果所述第一用户为所述第一特征用户,在第二时间点显示所述第二对象;其中,所述第二时间点位于所述第一时间段的起始时间与所述第一时间点之间,且与所述第一时间点之间的时间间隔等于第一预设时长。
5.根据权利要求4所述的打卡推荐方法,其特征在于,如果所述第一用户为第一特征用户,在第二时间点显示所述第二对象的步骤前,还包括:
如果所述第一用户为所述第一特征用户,在第三时间点之前,当所述第一用户完成下班打卡时停止显示所述第一对象,或者,在所述第三时间点停止显示所述第一对象;其中,所述第三时间点位于所述第一时间段的起始时间与所述第二时间点之间,且与所述第一时间段的起始时间之间的时间间隔等于第二预设时长,或者,所述第三时间点与所述第二时间点重合。
6.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一时间点由以下步骤确定:
获取今天和今天之前的N天中每一天的第一信息和第二信息;所述第一信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天在当月的第几周;所述第二信息包括:第一差值、第二差值、第三差值、第一均值以及第二均值,所述第一差值等于在N天中一天前的最晚下班打卡时间与两天前的最晚下班打卡时间的差值,所述第二差值等于在N天中一天前的最晚下班打卡时间与三天前的最晚下班打卡时间的差值,所述第三差值等于在N天中一天前的最晚下班打卡时间与四天前的最晚下班打卡时间的差值,所述第一均值等于所述第一差值和所述第二差值的平均值,所述第二均值等于所述第一差值、所述第二差值以及所述第三差值的均值;
将所述下班时间记录、今天和今天之前的N天中每一天的所述第一信息和所述第二信息输入至第一预测模型中,得到所述第一时间点。
7.根据权利要求1所述的打卡推荐方法,其特征在于,如果第一用户为第一特征用户,在所述第一时间点显示第二对象的步骤后,所述方法还包括:
在所述第一时间段的结束时间之前,当所述第一用户完成下班打卡时停止显示所述第二对象;
或者,在所述第一时间段的结束时间停止显示所述第二对象。
8.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一特征用户由以下步骤确定:
计算所述N个第一打卡时间的第一标准差;
如果所述第一标准差小于第一预设阈值,将所述第一用户确定为所述第一特征用户。
9.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一特征用户还由以下步骤确定:
对所述N个第一打卡时间进行排序,得到第三序列;
去除所述第三序列中位于列首、列尾或者列首及列尾的部分所述第一打卡时间,得到第一数量的所述第一打卡时间,所述第一数量与N的比值等于第二预设阈值;
计算第一数量的所述第一打卡时间的第二标准差;
如果所述第二标准差小于第三预设阈值,将所述第一用户确定为所述第一特征用户。
10.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一特征用户还由以下步骤确定:
计算第二打卡时间的第三标准差,所述第二打卡时间为所述N个第一打卡时间中的m个,m小于N;
如果所述第三标准差小于第四预设阈值,将所述第一用户确定为所述第一特征用户。
11.根据权利要求1所述的打卡推荐方法,其特征在于,所述第一特征用户还由以下步骤确定:
确定第三打卡时间和其对应的所述第一时间点,所述第三打卡时间为所述N个第一打卡时间中的n个,n小于N;
基于所述第三打卡时间和所述第一时间点,计算所述第一时间点的准确率;
如果所述准确率大于第五预设阈值,将所述第一用户确定为所述第一特征用户。
12.根据权利要求1所述的打卡推荐方法,其特征在于,所述方法还包括:
在当前时间为预设时间时,判断所述第一用户的睡眠地点是否处于个人打卡围栏内,所述个人打卡围栏是由所述第一用户历史上班打卡位置确定的地理围栏;
如果所述第一用户的睡眠地点处于所述个人打卡围栏内,确定第一历史日,所述第一历史日包括今天之前的R天,R小于或者等于第二预测模型的数据老化天数;
基于所述第一历史日确定第二历史日;所述第二历史日位于所述第一历史日之前,所述第二历史日与所述第一历史日之间的差值大于所述数据老化天数;所述第二历史日是否上班的信息与所述第一历史日相同,且所述第二历史日所在周是否为当年的奇数周与所述第一历史日相同;
获取今天、所述第一历史日和所述第二历史日的第三信息,所述第三信息包括当天为当周的第几天,当天为当年的第几月,当天是否为星期一、星期二或者星期四,当天是否为星期六或者星期日,当天是否为星期六,当天在当月的第几天,当天在当月的第几周,当天为当月正数第几个星期T,和当天为当月倒数第几个星期T,其中星期T为星期一至星期日的任意一天,当天所在周是否为当年的奇数周;
将今天、所述第一历史日和所述第二历史日的所述第三信息输入至所述第二预测模型中,以及将所述第一历史日和所述第二历史日是否上班的信息输入至所述第二预测模型中,确定用户当天是否需要上班;
如果用户当天需要上班,在第二时间段内,显示第三对象,所述第三对象用于用户打卡,所述第二时间段的起始时间为所述第一用户历史最早上班打卡时间,所述第二时间段的结束时间为所述第一用户的历史最晚上班打卡时间;
在所述第一用户完成上班打卡时停止显示所述第三对象。
13.根据权利要求12所述的打卡推荐方法,其特征在于,所述第二历史日由以下步骤确定:
基于所述第一历史日是否上班的信息,将所述第一历史日划分为正样本及负样本,得到U条所述正样本和V条所述负样本,所述正样本对应于上班的所述第一历史日,所述负样本对应于未上班的所述第一历史日;
对于每一所述正样本,确定其对应的V-1个所述第二历史日;
对于每一所述负样本,确定其对应的U-1个所述第二历史日;
其中,当所述第二预测模型的数据老化天数等于W天时,第X个所述第二历史日为所述正样本之前的第X×(W+Y)天,X为自然数,且0<X≤V-1;第Z个所述第二历史日为所述负样本之前的第Z×(W+Y)天,Z为自然数,且0<Z≤Y-1;Y为自然数,且Y≥1。
14.根据权利要求12所述的打卡推荐方法,其特征在于,所述方法还包括:
获取节假日安排通知;
基于所述节假日安排通知,修正所述第二预测模型。
15.根据权利要求12所述的打卡推荐方法,其特征在于,所述方法还包括:
如果所述第一用户的睡眠地点未处于所述个人打卡围栏内,当所述第一用户进入所述个人打卡围栏时,显示第四对象,所述第四对象显示在终端设备主屏幕界面的应用程序推荐卡片中,且所述第四对象用于用户打卡;
当所述第一用户的终端设备连接至第二目标网络时,如果所述第一用户未完成上班打卡,显示第五对象;所述第二目标网络位于公司范围内,所述第五对象为持续悬浮于终端设备主屏幕界面的通知栏,所述第五对象用于用户打卡。
16.根据权利要求15所述的打卡推荐方法,其特征在于,所述方法还包括:
在所述第一用户完成上班打卡时停止显示所述第四对象或所述第五对象。
17.一种打卡推荐装置,其特征在于,包括:
获取模块,用于获取第一用户在今天之前的N天的下班时间记录;
确定模块,用于根据所述下班时间记录确定第一时间段和第一时间点;其中,所述第一时间段的起始时间等于或者晚于N个第一打卡时间中的最早时间,且所述第一时间段的结束时间早于或者等于N个第一打卡时间中的最晚时间;所述N个第一打卡时间包括所述N天中每天的最晚下班打卡时间;所述第一时间点位于所述第一时间段内;
接收模块,用于接收到所述第一用户的上班打卡记录;
第一显示模块,用于在所述第一时间段的起始时间显示第一对象,所述第一对象用于用户打卡;
第二显示模块,如果所述第一用户为第一特征用户,所述第二显示模块用于在所述第一时间点显示第二对象,所述第二对象用于用户打卡,且所述第二对象与所述第一对象相同或不同;所述第一特征用户的所述N个第一打卡时间的离散程度满足预设条件,或者,所述第一特征用户的所述N个第一打卡时间与其对应的所述第一时间点之间的时间间隔满足预设条件。
18.一种终端设备,其特征在于,包括:处理器和存储器;所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述终端设备执行权利要求1-16任一项所述的方法。
19.一种芯片系统,其特征在于,包括:存储器和处理器;所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述芯片系统执行权利要求1-16任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211687491.2A CN115659069B (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
CN202310475915.7A CN116644243A (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211687491.2A CN115659069B (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310475915.7A Division CN116644243A (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115659069A true CN115659069A (zh) | 2023-01-31 |
CN115659069B CN115659069B (zh) | 2023-05-16 |
Family
ID=85022956
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310475915.7A Pending CN116644243A (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
CN202211687491.2A Active CN115659069B (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310475915.7A Pending CN116644243A (zh) | 2022-12-28 | 2022-12-28 | 一种打卡推荐方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116644243A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644243A (zh) * | 2022-12-28 | 2023-08-25 | 荣耀终端有限公司 | 一种打卡推荐方法、装置及终端设备 |
CN116935504A (zh) * | 2023-07-10 | 2023-10-24 | 荣耀终端有限公司 | 打卡方法、电子设备及计算机可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117273687B (zh) * | 2023-11-14 | 2024-04-12 | 荣耀终端有限公司 | 一种打卡推荐方法及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036360A (zh) * | 2014-06-19 | 2014-09-10 | 中国科学院软件研究所 | 一种基于磁卡考勤行为的用户数据处理系统及处理方法 |
CN106210308A (zh) * | 2016-07-08 | 2016-12-07 | 深圳市金立通信设备有限公司 | 一种智能提醒的方法及终端 |
CN106248093A (zh) * | 2016-08-30 | 2016-12-21 | 深圳市金立通信设备有限公司 | 一种行程提醒方法及终端 |
CN111639909A (zh) * | 2020-05-22 | 2020-09-08 | 深圳市智莱科技股份有限公司 | 取件提醒方法、装置、终端及存储介质 |
CN113722029A (zh) * | 2021-05-28 | 2021-11-30 | 荣耀终端有限公司 | 基于情境的通知显示方法和装置 |
CN114095866A (zh) * | 2021-11-17 | 2022-02-25 | 中国银行股份有限公司 | 提醒用户上下班打卡的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005011184A (ja) * | 2003-06-20 | 2005-01-13 | Aruze Corp | 勤怠管理システム |
CN107864298A (zh) * | 2017-12-25 | 2018-03-30 | 维沃移动通信有限公司 | 一种智能提醒方法及装置 |
CN109040281A (zh) * | 2018-08-22 | 2018-12-18 | 深圳市商汤科技有限公司 | 内容推送方法、终端设备及电子设备 |
CN110889671A (zh) * | 2019-11-18 | 2020-03-17 | 深圳春沐源控股有限公司 | 一种考勤管理方法、服务器及计算机可读存储介质 |
CN114333095A (zh) * | 2021-12-31 | 2022-04-12 | 新开普电子股份有限公司 | 一种针对非固定班次的考勤方法及考勤系统 |
CN116644243A (zh) * | 2022-12-28 | 2023-08-25 | 荣耀终端有限公司 | 一种打卡推荐方法、装置及终端设备 |
-
2022
- 2022-12-28 CN CN202310475915.7A patent/CN116644243A/zh active Pending
- 2022-12-28 CN CN202211687491.2A patent/CN115659069B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104036360A (zh) * | 2014-06-19 | 2014-09-10 | 中国科学院软件研究所 | 一种基于磁卡考勤行为的用户数据处理系统及处理方法 |
CN106210308A (zh) * | 2016-07-08 | 2016-12-07 | 深圳市金立通信设备有限公司 | 一种智能提醒的方法及终端 |
CN106248093A (zh) * | 2016-08-30 | 2016-12-21 | 深圳市金立通信设备有限公司 | 一种行程提醒方法及终端 |
CN111639909A (zh) * | 2020-05-22 | 2020-09-08 | 深圳市智莱科技股份有限公司 | 取件提醒方法、装置、终端及存储介质 |
CN113722029A (zh) * | 2021-05-28 | 2021-11-30 | 荣耀终端有限公司 | 基于情境的通知显示方法和装置 |
CN115334193A (zh) * | 2021-05-28 | 2022-11-11 | 荣耀终端有限公司 | 基于情境的通知显示方法和装置 |
CN114095866A (zh) * | 2021-11-17 | 2022-02-25 | 中国银行股份有限公司 | 提醒用户上下班打卡的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644243A (zh) * | 2022-12-28 | 2023-08-25 | 荣耀终端有限公司 | 一种打卡推荐方法、装置及终端设备 |
CN116935504A (zh) * | 2023-07-10 | 2023-10-24 | 荣耀终端有限公司 | 打卡方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116644243A (zh) | 2023-08-25 |
CN115659069B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115659069B (zh) | 一种打卡推荐方法、装置及终端设备 | |
KR102446811B1 (ko) | 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치 | |
CN109890067A (zh) | 对特定路线上的特定位置进行识别的方法及电子设备 | |
CN113722581B (zh) | 一种信息推送方法和电子设备 | |
CN113722028B (zh) | 动态卡片显示方法及装置 | |
CN115348350B (zh) | 一种信息显示方法及电子设备 | |
CN114493470A (zh) | 日程管理的方法、电子设备和计算机可读存储介质 | |
CN115422480B (zh) | 事件发生地区域的确定方法、设备及存储介质 | |
CN114466102A (zh) | 显示应用界面的方法、电子设备以及交通信息显示系统 | |
CN111835904A (zh) | 一种基于情景感知和用户画像开启应用的方法及电子设备 | |
CN114546511A (zh) | 插件管理方法、系统及装置 | |
WO2022022335A1 (zh) | 天气信息的展示方法、装置和电子设备 | |
EP4084515A1 (en) | Information sharing method for scenario-intelligence service and related device | |
CN116709180B (zh) | 地理围栏的生成方法及服务器 | |
CN117709918A (zh) | 一种打卡推荐方法、装置及用户设备 | |
CN116708653B (zh) | 日程提醒方法及相关装置 | |
CN116400974B (zh) | 进入长待机模式的方法、电子设备及可读存储介质 | |
CN116095227B (zh) | 终端设备的信息显示方法和终端设备 | |
CN116049478B (zh) | 一种应用程序推荐方法、装置及用户设备 | |
WO2022161003A1 (zh) | 一种护肤打卡方法和电子设备 | |
CN115550843B (zh) | 一种定位方法及相关设备 | |
CN116708656B (zh) | 打卡方法及打卡系统 | |
CN116627602A (zh) | 任务调度方法、装置、可读介质和电子设备 | |
CN115526221A (zh) | 一种定位异常检测和处理方法及相关设备 | |
CN116738033A (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 |