CN116070035B - 数据处理方法和电子设备 - Google Patents
数据处理方法和电子设备 Download PDFInfo
- Publication number
- CN116070035B CN116070035B CN202211063922.8A CN202211063922A CN116070035B CN 116070035 B CN116070035 B CN 116070035B CN 202211063922 A CN202211063922 A CN 202211063922A CN 116070035 B CN116070035 B CN 116070035B
- Authority
- CN
- China
- Prior art keywords
- stay
- point
- dwell
- points
- clustering
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012545 processing Methods 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 42
- 230000006854 communication Effects 0.000 description 42
- 230000006870 function Effects 0.000 description 42
- 238000007726 management method Methods 0.000 description 21
- 239000010410 layer Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 230000001976 improved effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 210000000988 bone and bone Anatomy 0.000 description 9
- 230000000284 resting effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000007621 cluster analysis Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 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
- 238000001514 detection method Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 235000014435 Mentha Nutrition 0.000 description 2
- 241001072983 Mentha Species 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 235000014569 mints Nutrition 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000280 densification Methods 0.000 description 1
- 238000013461 design Methods 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
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据处理方法和电子设备,该方法包括:获取n个停留点的停留点数据,每个停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;分别确定第一停留点与各个其他停留点的第一值,得到第一停留点对应的n‑1个第一值;第一停留点为n个停留点中的任一个,其他停留点是指n个停留点中除第一停留点之外的停留点,第一值表征两个停留点的停留时长总和与两个停留点的停留空间区域的交并比的乘积,停留时长总和为两个停留点的停留时间段的时长的和;根据各个停留点对应的n‑1个第一值,对n个停留点进行聚类,得到聚类结果,聚类结果包括至少一个停留点簇或空。该方法能够提高停留点簇识别的准确性。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种数据处理方法和电子设备。
背景技术
当今,电子设备的智能性越来越高。电子设备中安装的一些应用程序(application,APP)在实现其功能时,往往需要从电子设备中获取用户的停留信息,停留信息表征用户习惯在哪个时间段停留于哪个空间区域。以手机中的智慧推荐APP为例来说,若智慧推荐APP要在用户的家和公司实现一些推荐服务,例如,在检测到用户在下班时间到达家附近时向用户推荐快递取件信息,或者,在检测到用户在上班时间到达公司附近时向用户推荐工作用的APP(如钉钉)等,则智慧推荐APP需要获取用户在家的停留信息和在公司的停留信息。
用户的停留信息一般通过对用户的轨迹数据进行分析,识别出用户的停留点,再根据停留点识别出停留点簇,进而根据停留点簇分析得到用户的停留信息。
相关技术中,根据停留点识别停留点簇时,是通过基于密度的带噪声应用空间聚类(density-based spatial clustering of applications with noise,DBSCAN)算法实现。该算法在聚类过程中,将停留点与停留点之间的空间距离作为聚类标准来划分簇。这种算法聚类得到的停留点簇准确度较低。
发明内容
本申请提供了一种数据处理方法和电子设备,能够提高停留点簇划分的准确性。
第一方面,本申请提供一种数据处理方法,该方法由电子设备执行,该方法包括:获取n个停留点的停留点数据,每个停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;分别确定第一停留点与各个其他停留点的第一值,得到第一停留点对应的n-1个第一值;第一停留点为n个停留点中的任一个,其他停留点是指n个停留点中除第一停留点之外的停留点,第一值表征两个停留点的停留时长总和与两个停留点的停留空间区域的交并比的乘积,停留时长总和为两个停留点的停留时间段的时长的和;根据各个停留点对应的n-1个第一值,对n个停留点进行聚类,得到聚类结果,聚类结果包括至少一个停留点簇或空。
可选的,n个停留点可以以集合形式存在,则,可以获取停留点集,停留点集中包括n个停留点。每个停留点对应一组停留点数据。停留点数据表征停留时间段和停留空间区域的对应关系。其中,停留时间段即具体实施方式中的时间段。停留空间区域即具体实施方式中的空间区域。可选的,停留空间区域可以通过经纬度中心点的经纬度信息和空间半径来表征,即,停留空间区域表示以经纬度中心点为中心,空间半径范围内的区域。
第一值也即具体实施方式中的时长与空间交并比积(product of duration andintersection over union,PDIOU)值。第一值为通过两个停留点的停留时间段和停留空间区域计算得到的值。具体的,第一值为两个停留点的停留时长总和与这两个停留点的停留空间区域的交并比的乘积。停留时长可以根据停留时间段计算得到。停留空间区域的交并比可以根据停留空间区域计算得到。
该实现方式中,计算停留点与其他停留点的第一值,得到停留点对应的n-1个第一值,并根据各个停留点对应的n-1个第一值,对n个停留点进行聚类,得到聚类结果。第一值表征两个停留点的停留时长总和与停留空间区域的交并比的乘积,即,第一值不仅能够表征两个停留点的停留时长情况,还能够表征停留点的停留空间区域情况。所以,基于第一值聚类时,既考虑到了停留点的停留时间段信息,又考虑到了停留点的停留空间区域信息,使得到的聚类结果更加准确,得到的停留点簇更加准确,从而使后续使用停留点簇分析得到的停留信息更加准确,进而使APP基于停留信息实现的功能更加智能,提高用户体验。
一种可能的实现方式中,分别确定第一停留点与各个其他停留点的第一值,得到第一停留点对应的n-1个第一值,包括:根据公式(1)计算得到第一停留点与第二停留点的第一值,第二停留点为任一个其他停留点;
其中,PDIOU(i,m)表示第一停留点与第二停留点的第一值,Durationi表示第一停留点的停留时长,Durationm表示第二停留点的停留时长,Si表示第一停留点的停留空间区域,Sm表示第二停留点的停留空间区域,C表示不为0的常数。
表示第一停留点与第二停留点的停留空间区域的交并比,也即,第一停留点的停留空间区域与第二停留点的停留空间区域的交集的面积,与第二停留点的停留空间区域与第二停留点的停留空间区域的并集的面积的比值。
该实现方式中,通过公式(1)能够快速准确的确定两个停留点的第一值。且C对公式(1)的结果具有一定校正作用,可以根据不同的实际使用场景调整C,使识别出的停留点簇更贴合实际场景,准确性更高。
由上述公式(1)可以得出:
第一,两个停留点的第一值与这两个停留点的停留时长相关。具体的,两个停留点的第一值与这两个停留点的停留时长总和成正比。两个停留点的停留时长总和能够表征这两个停留点的时间对这两个停留点组成的集合的密度的重要程度:第一停留点与第二停留点的停留时长总和越大,第一停留点和第二停留点的时间对第一停留点与第二停留点组成的集合的密度的重要程度越高,第一停留点与第二停留点越倾向于构成停留点簇。
第二,两个停留点的第一值与这两个停留点的停留空间区域相关。具体的,两个停留点的第一值与这两个停留点的停留空间区域的交并比成正比。交并比为这两个停留点的停留空间区域相交的面积与这两个停留点的停留空间区域相并的面积的比值,因而,两个停留点的第一值与这两个停留点的停留空间区域相交的面积成正比,与这两个停留点的停留空间区域相并的面积成反比。
两个停留点的停留空间区域的交并比能够表征这两个停留点在空间上的相似度:第一停留点与第二停留点的停留空间区域相交的面积越大,第一停留点与第二停留点的停留空间区域相并的面积越小,越大,表示第一停留点与第二停留点在空间上越相似;第一停留点与第二停留点的停留空间区域相交的面积越小,第一停留点与第二停留点的停留空间区域相并的面积越大,/>越小,表示第一停留点与第二停留点在空间上越不相似。当第一停留点与第二停留点的停留空间区域相交的面积为0,/>为0,表示第一停留点与第二停留点在空间上无交集;当第一停留点与第二停留点的停留空间区域相交的面积等于两个停留点的相并的面积,/>为1,表示第一停留点与第二停留点在空间上完全重合;当第一停留点与第二停留点的停留空间区域相交的面积小于两个停留点的相并的面积,为介于0和1之间,表示第一停留点与第二停留点在空间上部分重合。
第三,两个停留点的第一值为这两个停留点的停留时长总和与停留空间区域的交并比的乘积,再乘以常数C。按照上述分析,停留时长总和表征两个停留点的时间对这两个停留点组成的集合的密度的重要程度,空间区域的交并比表征空间上的相似度。停留时长总和与空间区域的交并比是相乘的关系,因而,两个停留点的空间区域的交并比对于这两个停留点的第一值来说,是一个衰减项:两个停留点的空间区域的交并比越小,这两个停留点的在空间上的相似度越低,对这两个停留点组成的集合的密度衰减得越多;两个停留点的空间区域的交并比越大,这两个停留点在空间上的相似度越高,对这两个停留点组成的集合的密度衰减得越少。
所以,第一停留点与第二停留点的第一值为以第一停留点和第二停留点的停留时长总和作为权重,以这两个停留点的空间区域的交并比作为衰减项计算得到的结果,该结果表征第一停留点和第二停留点组成的集合的整体密度。具体的,第一停留点与第二停留点的第一值越大,表征第一停留点与第二停留点组成的集合的密度越高,这两个停留点越倾向于构成一个停留点簇。
第四,两个停留点的停留空间区域的交并比是无量纲项,而两个停留点的停留时长总和的单位为时间单位。因而,第一值与时间同量纲,即,第一值的单位为时间单位,例如可以为分钟。
一种可能的实现方式中,根据各个停留点对应的n-1个第一值,对n个停留点进行聚类,得到聚类结果,包括:以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对n个停留点进行聚类,得到聚类结果;其中,第一值总和是指停留点对应的n-1个第一值的和,目标条件为停留时长和停留空间区域相关的条件。
可选的,预设时间阈值可以根据需求设置。在一个具体的实施例中,预设时间阈值可以结合停留点簇在实际使用场景中所要求的最小停留时长来设定。
也就是说,该实现方式中,对n个停留点进行聚类时,聚类的标准为停留点的第一值总和。将停留点的第一值总和作为聚类标准,将停留点的PDIOU总和大于预设时间阈值作为核心点的判断条件进行聚类。这样,相较于相关技术中将两个停留点的经纬度中心点的距离作为聚类标准,将ε邻域中停留点的个数大于最小点数量(Minpts)作为核心点的判断条件,不仅考虑了停留点的停留时间段信息,而且考虑了停留空间区域信息,使聚类得到的聚类结果更加准确。
其次,该实现方式中,成簇条件为目标条件,目标条件为停留时长和停留空间区域相关的条件,这样不仅考虑了停留点的时间段信息,而且考虑了停留空间区域信息,使聚类得到的聚类结果更加准确。
另外,该实现方式提供的方法中,基于DBSCAN算法进行聚类时,ε邻域为无穷大,这样,无需像相关技术中那样结合Minpts设置具体的ε邻域半径,提高聚类参数设置便利性。而且,ε邻域为无穷大能够减少算法的遍历过程中的访问次数,简化聚类算法,提高算法运行效率。
同时,第一值的单位为时间单位,因此,第一值总和的单位也为时间单位,所以,核心点的判断条件为预设时间阈值。这样,使得用户可以结合实际应用场景直观设置该阈值,进一步提高聚类参数设置的便利性。
一种可能的实现方式中,以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对n个停留点进行聚类,得到聚类结果,包括:对于n个停留点中的每个停留点执行目标聚类操作;若n个停留点中存在至少一个核心点,则聚类结果包括至少一个核心点中各个核心点对应的停留点簇;若n个停留点中不存在核心点,则聚类结果为空;
目标聚类操作包括:计算第一停留点对应的n-1个第一值的和,得到第一停留点对应的第一值总和;若第一停留点对应的第一值总和大于预设时间阈值,则将第一停留点确定为核心点,从所有其他停留点中确定第一停留点对应的目标停留点;目标停留点为满足目标条件的停留点;根据第一停留点和第一停留点对应的目标停留点形成第一停留点对应的停留点簇。
可选的,若第一停留点对应的第一值总和大于预设时间阈值,则第一停留点不为核心点,对下一个停留点执行目标聚类操作。
一种可能的实现方式中,从所有其他停留点中确定第一停留点对应的目标停留点,包括:对每一个其他停留点执行成簇筛选操作,得到第一停留点对应的目标停留点;成簇筛选操作包括:确定第二停留点是否满足目标条件,第二停留点为任一个其他停留点;若第二停留点满足目标条件,则将第二停留点确定为第一停留点对应的目标停留点。
可选的,若第二停留点不满足目标条件,则确定第二停留点为噪声点。
一种可能的实现方式中,目标条件为:停留点的停留时长大于第一阈值,且停留点与核心点的停留空间区域的交并比大于第二阈值。
假设第一停留点为核心点,以对第二停留点的成簇筛选操作为例来说,确定第二停留点的停留时长是否大于第一阈值,若第二停留点的停留时长小于或等于第一阈值,则确定第二停留点为噪声点;若第二停留点的停留时长大于第一阈值,则确定第二停留点的停留空间区域与第一停留点的停留空间区域的交并比是否大于第二阈值,若第二停留点的停留空间区域与第一停留点的停留空间区域的交并比大于第二阈值,则确定第二停留点为第一停留点对应的目标停留点,若第二停留点的停留空间区域与第一停留点的停留空间区域的交并比小于或等于第二阈值,则确定第二停留点为噪声点。
第一阈值的单位为时间单位,第二阈值无单位,为比值阈值。第一阈值和第二阈值可以结合实际使用场景设定,例如,第一阈值可以为20分钟,第二阈值可以为0.5。
该实现方式中,分别设置停留时长对应的第一阈值和停留空间区域的交并比对应的第二阈值,从而便于用户根据需求筛选出对时间和空间要求不同的停留点至停留点簇,提高停留点簇识别的准确性和灵活性。
一种可能的实现方式中,目标条件为:停留点的第一值大于第三阈值。
可选的,实际使用场景不同,第三阈值可以不同。第三阈值的单位为时间单位,例如,第三阈值可以为200分钟。
假设第一停留点为核心点,以对第二停留点的成簇筛选操作为例来说,确定第二停留点的第一值是否大于第三阈值;若第二停留点的第一值大于第三阈值,则确定第二停留点为第一停留点对应的目标停留点;若第二停留点的第一值小于或等于第三阈值,则确定第二停留点为噪声点。
该实现方式中,通过第三阈值能够筛选出时间和空间上整体上与核心点组成的集合密度较大的点作为目标停留点,形成停留点簇,计算过程简单方便,提高算法运行效率。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
可选的,该装置可以为数据处理装置,包括:
获取模块,用于获取n个停留点的停留点数据,每个停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;第一值计算模块,用于分别确定第一停留点与各个其他停留点的第一值,得到第一停留点对应的n-1个第一值;第一停留点为n个停留点中的任一个,其他停留点是指n个停留点中除第一停留点之外的停留点,第一值表征两个停留点的停留时长总和与两个停留点的停留空间区域的交并比的乘积,停留时长总和为两个停留点的停留时间段的时长的和;聚类模块,用于根据各个停留点对应的n-1个第一值,对n个停留点进行聚类,得到聚类结果,聚类结果包括至少一个停留点簇或空。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例数据处理方法的应用场景图;
图2是本申请实施例提供的一例电子设备100的结构示意图;
图3是本申请实施例提供的一例电子设备100的软件结构框图;
图4是本申请实施例提供的一例数据处理方法的流程示意图;
图5是本申请实施例提供的一例两个停留点的位置关系以及对应的空间半径关系的示意图;
图6是本申请实施例提供的一例两个停留点的位置示意图;
图7是本申请实施例提供的另一例数据处理方法的流程示意图;
图8是本申请实施例提供的一例数据处理装置的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为更好地理解本申请实施例,以下对实施例中可能涉及的术语或概念进行解释说明。
轨迹数据:表征用户移动轨迹的数据,也即,轨迹数据表征用户哪个时间点位于哪个空间位置。换句话说,轨迹数据可以包括时间点(即时刻)和空间点两个属性信息。其中,空间点可以通过经纬度信息来表征。
可选的,用户的轨迹数据可以为全球卫星定位系统(global positioningsystem,GPS)轨迹数据或电子设备的信令数据。电子设备的信令数据即电子设备与发射基站或者微站之间的通信数据。以电子设备为手机为例,用户的轨迹数据可以为手机信令数据,如下表1所示。
表1
手机信令数据样本 | 时间点 | 空间点 |
1 | 2022.07.01 00:00 | 116.671°,39.856° |
2 | 2022.07.01 00:02 | 116.672°,39.857° |
3 | 2022.07.01 00:03 | 116.672°,39.857° |
… | … | … |
n | 2022.07.01 23:59 | 116.78°,39.157° |
可以理解,用户的轨迹数据可以通过电子设备获取,因而,本申请中,用户的轨迹数据实质为电子设备的轨迹数据,二者等同,本申请实施例中的表述对此不做过多区分。其他数据也是如此,不再赘述。
停留点:表征用户在某一时间段内停留,且停留的位置在某一空间区域内,也即,停留点表征用户在哪个时间段位于哪个空间区域(或称为空间范围)。换句话说,停留点包括时间段和空间区域两个属性信息。其中,空间区域可以通过经纬度中心点以及空间半径(radius)两个信息来表征。
停留点可以通过轨迹数据筛选识别得到。具体的,可以识别出轨迹数据中用户停留时间连续,停留的空间位置相近的点,形成停留点。
在一个具体的实施例中,根据表1所示的手机信令数据识别得到的停留点可以如下表2所示。
表2
停留点 | 时间段 | 空间区域 |
1 | 2022.07.01 00:00-2022.07.01 06:00 | (116.600°,40°),radius:100米 |
2 | 2022.07.01 07:00-2022.07.01 12:00 | (116.700°,40°),radius:130米 |
3 | 2022.07.01 12:30-2022.07.01 14:00 | (116.601°,40°),radius:100米 |
4 | 2022.07.01 14:30-2022.07.01 18:00 | (116.701°,40°),radius:120米 |
5 | 2022.07.01 18:30-2022.07.01 23:59 | (116.602°,40°),radius:90米 |
其中,以停留点1为例,表2中空间区域的含义是:以经度为116.600°,纬度为40°的空间点为中心,以100米为半径形成的空间区域。(116.600°,40°)为停留点1的经纬度中心点,100米为停留点1的空间半径。
停留点簇:多个密度满足要求的停留点的集合。停留点簇可以通过对多个停留点进行聚类得到。停留点簇表征用户在多个时间段内均停留于相近的空间区域。
在一个具体的实施例中,根据表2所示的停留点聚类得到的停留点簇可以如下表3所示。
表3
停留点簇 | 停留点 |
1 | 停留点1、停留点3、停留点5 |
2 | 停留点2、停留点4 |
停留信息:表征用户停留习惯的信息,也即表征用户习惯在哪个时间段停留于哪个空间区域。停留信息可以根据停留点簇分析得到。
在一个具体的实施例中,对表3所示的停留点簇进行分析,用户一般在00:00-06:00、12:30-14:00以及18:00-23:59三个时间段停留于(116.600°,40°),radius:100米、(116.601°,40°),radius:100米以及(116.602°,40°),radius:90米这三个空间区域,由此可以推测,用户习惯在下班时间在(116.6009°,40°),185米范围停留,该空间区域为用户家所在的区域。用户一般在07:00-12:00以及14:30-18:00两个时间段停留于(116.700°,40°),radius:130米和(116.701°,40°),radius:120米这两个空间区域,由此可以推测,用户习惯在上班时间在(116.7004°,40°),171米范围停留,该空间区域为用户公司所在的位置。
停留点的停留时长:也称为持续时长,是指停留点中时间段对应的时长,也即停留点的时间段的终点与起点的差值。例如,上述表2中的停留点1的停留时长为6小时。停留时长表征用户在某一空间区域停留的时间长度。
为了便于理解,在对本申请提供的数据处理方法进行详细描述之前首先结合上述术语的解释,对本申请提供的方法的应用场景进行说明。
本申请实施例提供的数据处理方法,用于根据停留点识别停留点簇,识别出的停留点簇可以用于确定用户的停留信息,从而供电子设备中相关的APP使用。下面以手机的智慧推荐APP为例进行说明。
示例性的,图1为本申请实施例提供的一例智慧推荐APP的界面示意图。在一个具体的实施例中,手机的智慧推荐APP通过获取用户的停留信息,根据停留信息,在用户在下班时间到达家附近的位置时,向用户推荐快递取件信息,并在智慧推荐的卡片内显示快递取件信息,如图1中的(a)图中的101所示。在另一个具体的实施例中,智慧推荐APP根据停留信息,在用户在上班时间达到公司附近时,向用户推荐钉钉APP,并在智慧推荐的卡片内显示钉钉/>APP的图标,如图1中的(b)图中的102所示。
需要说明的是,上述智慧推荐APP仅作为一种示例,用于说明停留点簇及停留信息的使用场景,并不作为任何限定。实际应用中,根据需要,识别出的停留点簇以及停留信息可以应用于任何场景,例如,地图APP中目的地的推荐、打车APP中目的地的推荐等等。
下面对相关技术中通过停留点识别停留点簇的算法进行说明。
相关技术中,可以基于DBSCAN算法对多个停留点进行聚类,得到停留点簇。具体的实现过程如下:设定ε邻域半径,并设定最小点数量(Minpts)。其中,ε邻域半径为表征距离的值,例如,100米。从停留点集中抽取一个未被访问过(即未经过下述过程处理过)的停留点,确定该停留点的ε邻域中停留点的个数是否大于Minpts;若是,则确定该停留点为核心点,将该停留点及ε邻域中的停留点划分为一个停留点簇。其中,确定停留点的ε邻域中停留点的个数,也即确定与该停留点的距离小于ε邻域半径的停留点的个数。该过程中,两个停留点之间的距离使用的是两个停留点的经纬度中心点的距离。
也就是说,第一方面,相关技术中,基于DBSCAN算法对多个停留点进行聚类时,将两个停留点的经纬度中心点的距离作为聚类标准,将ε邻域中停留点的个数大于Minpts作为核心点的判断条件进行聚类。这样,实质是忽略了停留点中的时间段信息和空间半径信息,将停留点简化为一维的空间点来确定停留点的密度情况,进而进行聚类。然而,停留点的时间段信息和空间半径的信息对于停留点来说也相当重要。两个停留点的停留时长和空间半径不同,这两个停留点在聚类时对密度的贡献程度就不同,简单的以经纬度中心点之间的距离作为聚类条件有失偏颇,会造成停留点簇识别不准确的问题,从而导致后续使用停留点簇分析得到的停留信息不准确,进而导致APP的功能不够智能,影响用户体验。
具体的,从时间段信息角度来说,计算时将停留点的时间段信息忽略,仅关注ε邻域中停留点的个数,则会更倾向于将周围停留点比较密集的点判定为核心点,对于那些稳定的、停留时长很长的点反而不会被划定为核心点。举例来说,用户在家停留了一整天,则存在一个停留点n,停留时长为0:00-23:59,空间区域为用户家周围的区域。这种情况下,可能并不存在其他的停留点。根据相关技术中的DBSCAN算法,由于该停留点n的ε邻域中不存在停留点,因而该停留点n不会被划为核心点。而实际上,该停留点n对应的空间区域最能代表用户家的位置。相关技术中划分的停留点簇不准确,从而造成最终的停留信息不准确。
从空间半径信息来说,计算时将停留点的空间半径忽略,可能会造成由于某一停留点的空间半径较大,而将本该属于停留点簇的该停留点划分至停留点簇之外。举例来说,在判断停留点p是否为核心点时,若一个停留点n,其空间半径较大(例如为150米),但是其经纬度中心点距离停留点p的经纬度中心点略大于ε邻域半径,则根据相关技术中的DBSCAN算法,停留点n将被确定为ε邻域半径之外的点,即被划分为在停留点p为核心点的停留点簇之外。而实际上,该停留点n也应该是以停留点p作为核心点的停留点簇中的停留点。因而,相关技术中的计算方法会造成停留点簇不准确,从而造成停留信息不准确。
第二方面,相关技术中基于DBSCAN算法对多个停留点进行聚类时,需要设置的参数为ε邻域半径和Minpts。这两个参数均不便于与实际场景结合设置,比较抽象。而且,这两个参数的不同组合会带来不同的聚类结果,如果参数设置不合理,会导致聚类出来的停留点簇质量较差,不准确。
针对于此,本申请实施例提供的数据处理方法基于停留点的停留时长和空间区域计算两个停留点的时长与空间交并比积(product of duration and intersection overunion,PDIOU),并基于PDIOU对多个停留点进行聚类,得到停留点簇。这样,同时考虑了停留点的时间段信息和空间区域信息,使得到的停留点簇更加准确,从而使后续使用停留点簇分析得到的停留信息更加准确,进而使APP基于停留信息实现的功能更加智能,提高用户体验。
本申请实施例提供的数据处理方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图2是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。I2S接口和PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
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,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。图2中的天线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等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器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可以包括GPS,全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器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可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,音乐,视频,短信息,智慧推荐等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
本申请实施例中,应用程序框架层还可以包括数据处理系统,数据处理系统用于基于本申请实施例提供的数据处理方法,根据停留点识别出停留点簇。数据处理系统可以通过API接口等被应用程序层的应用程序调用。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
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绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于理解,本申请以下实施例将以具有图2和图3所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的数据处理方法进行具体阐述。
图4是本申请实施例提供的一例数据处理方法的流程示意图,该方法包括:
S101、获取停留点集,停留点集中包括多个停留点。
本实施例中,以停留点集为集合A,A={停留点1,停留点2,停留点3...停留点n}为例进行说明。如上所述,每个停留点包括时间段和空间区域两个属性信息。具体的可以参见上述停留点的概念和表2所示的示例。
对于停留点集中的任一个未被访问过的停留点i(即种子,或称为第一停留点),执行如下步骤S102至S104,以确定停留点i是否为核心点;若是,则执行步骤S105至S108,以确定停留点簇。
S102、分别计算停留点i与各个其他停留点的PDIOU值,得到n-1个PDIOU值,其中,其他停留点是指停留点集中除停留点i之外的停留点。
在此,为了便于说明,将其他停留点形成的集合定义为集合B,B=A\{停留点i}。其中,A\{停留点i}表示集合A除去停留点i得到的集合。计算停留点i与集合B中各个元素的PDIOU值。具体的,计算停留点i与停留点1的PDIOU值,得到PDIOU(i,1);计算停留点i与停留点2的PDIOU值,得到PDIOU(i,2);计算停留点i与停留点3的PDIOU值,得到PDIOU(i,3)……计算停留点i与停留点n的PDIOU值,得到PDIOU(i,n)。
需要说明的是,本申请中,“PDIOU”这个名称仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
可选的,停留点i与任一个其他停留点m(或称为第二停留点)的PDIOU值可以通过下述公式(1)或公式(1)的变形计算得到:
其中,PDIOU(i,m)表示停留点i与停留点m的PDIOU值,Durationi表示停留点i的停留时长,Durationm表示停留点m的停留时长,表示停留点i与停留点m的空间区域的交并比,Si表示停留点i的空间区域,Sm表示停留点m的空间区域,C表示不为0的常数。C对公式(1)的结果具有一定校正作用,可以根据不同的实际使用场景调整C,使识别出的停留点簇更贴合实际场景,准确性更高。
在一个具体的实施例中,的计算过程分析如下:/>
可以理解,两个停留点之间的位置关系可以通过两个停留点的空间半径关系来表征。示例性的,图5为本申请实施例提供的一例两个停留点的位置关系以及对应的空间半径关系的示意图。本实施例中,停留点i的空间区域表示为圆心为O1,半径为r1的圆,停留点m表示为圆心为O2,半径为r2的圆,O1与O2之间的距离为d。
如图5中的(a)图所示,当停留点i的空间区域与停留点m的空间区域相离时,r1+r2<d。这种情况下,显然,这两个停留点在空间上无交集,也就是说,计算/>的过程中,若r1+r2<d,则/>
如图5中的(b)图所示,当停留点i的空间区域与停留点m的空间区域相外切时,r1+r2=d。这种情况下,显然,这两个停留点在空间上也无交集,也就是说,计算/>的过程中,若r1+r2=d,则/>
如图5中的(c)图所示,当停留点i的空间区域与停留点m的空间区域相内切(即停留点i的空间区域包含停留点m的空间区域)时,r1+r2>d,且满足r1≥d或r2≥d。这种情况下,停留点i的空间区域与停留点m的空间区域相交的结果为停留点m的空间区域,停留点i的空间区域与停留点m的空间区域相并的结果为停留点i的结果。那么,的结果为停留点m的空间区域的面积与停留点m的空间区域的面积的比,实质为r2/r1。
如图5中的(d)图所示,当停留点i的空间区域与停留点m的空间区域部分相交(即,相交但是相互不包含)时,r1+r2>d,且r1<d,且r2<d。结合图5中的(d)图,这种情况下,的计算过程可以如下:
停留点i的空间区域与停留点m的空间区域的交点为C1和C2,二者的重叠部分记为P,O1、C1和C2形成的扇形记为M,O2、C1和C2形成的扇形记为N,O1、C1、C2和O2形成的四边形记为P。
由图可以看出,重叠部分P的面积=扇形M的面积+扇形N的面积-四边形Q的面积(公式2)。已经r1、r2和d的情况下,由海伦-秦九韶公式(即海伦公式)可以求得三角形O1C1O2的面积,乘以2,即可得到四边形P的面积。三角形O1C1O2的面积*2/d为三角形O1C1O2的高,由三角函数可以求得扇形M和扇形N的角度,进而得到扇形M和扇形N的面积。由扇形M的面积、扇形N的面积和四边形Q的面积,根据公式2计算得到重叠部分P的面积。
进一步的,根据重叠部分P的面积,可以得到
可以理解,两个停留点的PDIOU值实质表征这两个停留点组成的集合的密度(密集程度)。由上述公式(1)可以看出:
第一,PDIOU(i,m)与停留点i和停留点m的停留时长相关。具体的,PDIOU(i,m)与停留点i的停留时长和停留点m的停留时长的和(简称停留点i和停留点m的停留时长总和)成正比。停留点i与停留点m的停留时长总和越大,PDIOU(i,m)越大;停留点i与停留点m的停留时长总和越小,PDIOU(i,m)越小。两个停留点的停留时长总和能够表征这两个停留点的时间对这两个停留点组成的集合的密度的重要程度(可以理解为对密度的贡献度):停留点i与停留点m的停留时长总和越大,停留点i与停留点m的时间对停留点i与停留点m组成的集合的密度的重要程度越高,停留点m与停留点i越倾向于构成停留点簇。
第二,PDIOU(i,m)与停留点i和停留点m的空间区域相关。具体的,PDIOU(i,m)与停留点i的空间区域和停留点m的空间区域的交并比(或称为停留点i和停留点m的空间区域的交并比)成正比。交并比为这两个停留点的空间区域相交的面积与相并的面积的比值,因而,PDIOU(i,m)与这两个停留点空间区域相交的面积成正比,与这两个停留点的空间区域相并的面积成反比。
两个停留点的空间区域的交并比能够表征这两个停留点在空间上的相似度(即在空间上密集程度):停留点i与停留点m的空间区域相交的面积越大,相并的面积越小,越大,表示停留点i与停留点m在空间上越相似(接近);停留点i与停留点m的空间区域相交的面积越小,相并的面积越大,/>越小,表示停留点i与停留点m在空间上越不相似(远离)。当停留点i与停留点m的空间区域相交的面积为0,/>为0,表示停留点i与停留点m在空间上无交集,如图6中的(a)图所示;当停留点i与停留点m的空间区域相交的面积等于两个停留点的相并的面积,/>为1,表示停留点i与停留点m在空间上完全重合,如图6中的(b)图所示;当停留点i与停留点m的空间区域相交的面积小于两个停留点的相并的面积,为介于0和1之间,表示停留点i与停留点m在空间上部分重合,如图6中的(c)图所示。
第三,PDIOU(i,m)为停留点i和停留点m的停留时长总和与空间区域的交并比的乘积,再乘以常数C。按照上述分析,停留时长总和表征两个停留点的时间对这两个停留点组成的集合的密度的重要程度,空间区域的交并比表征空间上的相似度。停留时长总和与空间区域的交并比是相乘的关系,因而,停留点i和停留点m的空间区域的交并比对于这两个停留点的PDIOU值来说,是一个衰减项:停留点i和停留点m的空间区域的交并比越小,停留点i和停留点m的在空间上的相似度越低,对这两个停留点组成的集合的密度衰减得越多;停留点i和停留点m的空间区域的交并比越大,停留点i和停留点m在空间上的相似度越高,对这两个停留点组成的集合的密度衰减得越少。
所以,PDIOU(i,m)为以停留点i和停留点m的停留时长总和作为权重,以空间区域的交并比作为衰减项计算得到的结果,该结果表征停留点i和停留点m组成的集合的密度。具体的,PDIOU(i,m)越大,表征停留点i与停留点m点组成的集合的密度越高,这两个停留点越倾向于构成一个停留点簇。
第四,停留点i与停留点m的空间区域的交并比是无量纲项,而停留时长总和(Durationi+Durationm)的单位为时间单位。因而,PDIOU值与时间同量纲,即,PDIOU值的单位为时间单位,例如可以为分钟。
S103、计算n-1个PDIOU值的和,得到停留点i的PDIOU总和。
即,停留点i的PDIOU总和=∑m∈BPDIOU(i,m)。
S104、确定停留点i的PDIOU总和是否大于预设时间阈值;若是,则确定停留点i为核心点,执行步骤S105;若否,则确定停留点i不为核心点,继续对下一个停留点执行上述步骤S102至S104,直至所有的停留点均被访问,也即,将下一个未被访问的停留点作为停留点i,返回执行步骤S102。
如上分析,当任一个其他停留点m与停留点i没有交集时,PDIOU(i,m)为0,那么,PDIOU(i,m)对停留点i的PDIOU总和没有贡献。因而,停留点i的PDIOU总和相当于天然忽略了与停留点i无交集的停留点。停留点i的PDIOU总和实质上表征的是与停留点i空间上有交集的停留点的PDIOU值的和。两个停留点的PDIOU值越大,表征这两个停留点组成的集合密度越大,即这两个停留点越密集,因而,当停留点i的PDIOU总和足够大时,表征集合A中与停留点i整体上密集程度满足要求的停留点足够多,或者,集合中至少存在一个停留点与停留点i在空间上相似度非常高。无论这两种情况的哪一种,均能够表征停留点i周围的停留点足够密集,即,集合A中存在能够与停留点i形成停留点簇的停留点,停留点i可以作为核心点,或者,停留点i本身可以作为停留点簇。
因此,本申请实施例中,预先设置阈值来判定停留点i是否为核心点。若停留点i的PDIOU总和大于预设阈值,则说明停留点i为核心点;若停留点i的PDIOU总和小于或等于预设阈值,则说明停留点i不为核心点。
如上对公式(1)的分析中第四点可知,PDIOU值的单位为时间单位,因此PDIOU总和的单位也为时间单位,所以,预设的阈值的单位也为时间单位,即,预设的阈值为时间阈值(即上述预设时间阈值)。
可选的,预设时间阈值可以根据需求设置。具体的,预设时间阈值可以结合停留点簇在实际使用场景中所要求的最小停留时长来设定。例如,识别停留点簇是为了得到用户的家的位置,继续以表2所示的停留点为例进行说明:用户在家的时间为晚上(00:00-06:00以及18:30-23:59)和中午午休时间(12:30至14:00)。若需要将这三个时间段对应的停留点合并为停留点簇,则可以结合三个时间段中最短的时间段的时长(90分钟),设置预设时间阈值为70分钟。
也就是说,本申请实施例中,将停留点的PDIOU总和作为聚类标准,PDIOU总和与时间同量纲,因而可以以预设时间阈值作为停留点是否为核心点的判断条件。这样,便于用户结合实际场景,直观的设置预设时间阈值,提高阈值设置的准确性和便捷性。
S105、分别判断各个其他停留点是否满足成簇条件;若满足,则执行步骤S106;若不满足,则执行步骤S107;其中,成簇条件包括:该其他停留点的停留时长大于第一阈值,且,停留点i与该其他停留点的空间区域的交并比大于第二阈值。
S106、确定该其他停留点为以停留点i为核心点的停留点簇中的停留点(下称为目标停留点)。
S107、确定该其他停留点不为以停留点i为核心点的停留点簇中的停留点,即该停留点为噪声点。
继续以任一个其他停留点m为例进行说明:判断停留点m的停留时长是否大于第一阈值,且,停留点i与停留点m的空间区域的交并比大于第二阈值;若是,则确定停留点m为目标停留点;若否,则确定停留点m为噪声点。
具体的,停留点m的停留时长大于第一阈值,表征停留点m的停留时长较长,表征停留点m的时间对密度的重要程度较高,从时间角度讲,停留点m更倾向于与停留点i构成停留点簇。停留点i与停留点m的空间区域的交并比大于第二阈值,表征该停留点m与停留点i在空间上较相似,在空间上较密集。
第一阈值的单位为时间单位,第二阈值无单位,为比值阈值。第一阈值和第二阈值可以结合实际使用需求设定,例如,第一阈值可以为20分钟,第二阈值可以为0.5。
该实现方式中,分别设置停留时长对应的第一阈值和空间区域的交并比对应的第二阈值,从而便于用户根据需求筛选出对时间和空间要求不同的停留点至停留点簇,提高停留点簇识别的准确性和灵活性。
当然,在一些其他的实现方式中,成簇条件也可以直接设置为PDIOU值相关的条件,例如:其他停留点的PDIOU值大于预设的PDIOU阈值。具体的,若停留点m的PDIOU值大于预设的PDIOU阈值,则确定该停留点m为目标停留点;若停留点m的PDIOU值小于或等于预设的PDIOU阈值,则确定该停留点m为噪声点。该实现方式中,通过PDIOU阈值能够筛选出PDIOU满足要求的停留点,即筛选出时间和空间上整体上与停留点i组成的集合密度较大的点作为目标停留点,形成停留点簇,计算过程简单方便,提高算法运行效率。
S108、停留点i和目标停留点形成停留点簇。
可以理解,将停留点集中每个停留点分别作为种子,执行上述步骤S102至S108,即可实现识别出停留点集中的所有停留点簇。
本实施例中,获取停留点集后,计算停留点与其他停留点的PDIOU值,并基于PDIOU值识别停留点集中的停留点簇。PDIOU值表征两个停留点的停留时长总和与空间区域的交并比的乘积,即,PDIOU值不仅能够表征两个停留点的停留时长情况,还能够表征停留点的空间区域情况。所以,基于PDIOU值识别停留点集中的停留点簇,既考虑到了停留点的时间段信息,又考虑到了停留点的空间区域信息,使得到的停留点簇更加准确,从而使后续使用停留点簇分析得到的停留信息更加准确,进而使APP基于停留信息实现的功能更加智能,提高用户体验。
可以理解,上述过程中,是以n个停留点能够识别出停留点簇为例进行说明。实际应用中,多个停留点中可能并不存在停留点簇,也即,识别的结果为空。本申请实施例通过上述方法,不仅能够使识别出的停留点簇更加准确,也能更准确的识别出停留点簇为空的识别结果,也即防止误将密度不满足需求的停留点识别为同一个停留点簇,提高识别结果的准确性。
下面对上述数据处理过程进行简单的概括。
示例性的,图7为本申请实施例提供的另一例数据处理方法的流程示意图。如图7所示,该方法包括:
S201、获取停留点集,停留点集中包括多个停留点。
该步骤与上述步骤S101相同,不再赘述。
S202、分别计算停留点集中每个停留点与各个其他停留点的PDIOU值;PDIOU值表征两个停留点的停留时长与空间区域的交并比的乘积。
该步骤可以参见上述步骤S102,不再赘述。
S203、根据计算得到的PDIOU值,基于DBSCAN算法对停留点集中的多个停留点进行聚类,以得到停留点簇。
该步骤的具体实现过程可以参见上述步骤S103至S108,计算的思路秉承DBSCAN算法的思路,但是,该过程的聚类标准、核心点的判断条件、成簇条件和ε邻域半径的设置均不同于相关技术的算法。
首先,不同于相关技术中的DBSCAN算法将两个停留点的经纬度中心点的距离作为聚类标准,将ε邻域中停留点的个数大于Minpts作为核心点的判断条件,本实施例将停留点的PDIOU总和作为聚类标准,将停留点的PDIOU总和大于预设时间阈值作为核心点的判断条件进行聚类。这样不仅考虑了停留点的时间段信息,而且考虑了空间区域信息,使聚类得到的停留点簇更加准确。
其次,相关技术中的成簇条件实质为:停留点属于核心点的ε邻域内,即,停留点距离核心点的距离小于ε邻域半径。而本实施例的成簇条件不仅考虑了停留点的时间段信息,而且考虑了空间区域信息,使聚类得到的停留点簇更加准确。
另外,将停留点的PDIOU总和作为聚类标准,将停留点的PDIOU总和大于预设时间阈值作为核心点的判断条件的基础上,本实施例提供的方法可以基于停留点集中所有的其他停留点筛选核心点和目标停留点,相当于DBSCAN算法聚类时设置的ε邻域为无穷大。这样,无需像相关技术中那样结合Minpts设置具体的ε邻域半径,提高聚类参数设置的便利性。而且,ε邻域为无穷大能够减少算法的遍历过程中的访问次数,简化聚类算法,提高算法运行效率。
同时,核心点的判断条件为预设时间的阈值以及成簇条件的第一阈值均为时间阈值,成簇条件中的第二阈值为比值的阈值,这三个阈值均可以结合实际应用场景直观的去设置,进一步提高参数设置的便利性。
也就是说,本实施例提供的数据处理方法,以无穷大作为邻域半径,以PDIOU值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对n个停留点进行聚类,以得到停留点簇;其中,PDIOU值总和是指停留点对应的n-1个PDIOU值的和,目标条件为停留时长和空间区域相关的条件。
上文详细介绍了本申请实施例提供的数据处理方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8为本申请实施例提供的数据处理装置700的一种结构示意图。如图8所示,本实施例提供的数据处理装置700可以包括:
获取模块710,用于获取n个停留点的停留点数据,每个停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;
第一值计算模块720,用于分别确定第一停留点与各个其他停留点的第一值,得到第一停留点对应的n-1个第一值;第一停留点为n个停留点中的任一个,其他停留点是指n个停留点中除第一停留点之外的停留点,第一值表征两个停留点的停留时长总和与两个停留点的停留空间区域的交并比的乘积,停留时长总和为两个停留点的停留时间段的时长的和;
聚类模块730,用于根据各个停留点对应的n-1个第一值,对n个停留点进行聚类,得到聚类结果,聚类结果包括至少一个停留点簇或空。
在一个实施例中,第一值计算模块720具体用于:根据公式(1)计算得到第一停留点与第二停留点的第一值,第二停留点为任一个其他停留点;
其中,PDIOU(i,m)表示第一停留点与第二停留点的第一值,Durationi表示第一停留点的停留时长,Durationm表示第二停留点的停留时长,Si表示第一停留点的停留空间区域,Sm表示第二停留点的停留空间区域,C表示不为0的常数。
在一个实施例中,聚类模块730具体用于:以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对n个停留点进行聚类,得到聚类结果;其中,第一值总和是指停留点对应的n-1个第一值的和,目标条件为停留时长和停留空间区域相关的条件。
在一个实施例中,聚类模块730具体用于:对于n个停留点中的每个停留点执行目标聚类操作;若n个停留点中存在至少一个核心点,则聚类结果包括至少一个核心点中各个核心点对应的停留点簇;若n个停留点中不存在核心点,则聚类结果为空;目标聚类操作包括:计算第一停留点对应的n-1个第一值的和,得到第一停留点对应的第一值总和;若第一停留点对应的第一值总和大于预设时间阈值,则将第一停留点确定为核心点,从所有其他停留点中确定第一停留点对应的目标停留点;目标停留点为满足目标条件的停留点;根据第一停留点和第一停留点对应的目标停留点形成第一停留点对应的停留点簇。
在一个实施例中,聚类模块730具体用于:对于每个其他停留点执行成簇筛选操作,得到第一停留点对应的目标停留点;成簇筛选操作包括:确定第二停留点是否满足目标条件,第二停留点为任一个其他停留点;若第二停留点满足目标条件,则将第二停留点确定为第一停留点对应的目标停留点。
在一个实施例中,目标条件为:停留点的停留时长大于第一阈值,且停留点与核心点的停留空间区域的交并比大于第二阈值。
在一个实施例中,目标条件为:停留点的第一值大于第三阈值。
需要说明的是,上述数据处理装置可以应用于电子设备中,具体的可以为电子设备中的功能模块。例如,数据处理装置可以为上述实施例中的数据处理系统。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述数据处理方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图2所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的数据处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据处理方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种数据处理方法,所述方法由电子设备执行,其特征在于,所述方法包括:
获取n个停留点的停留点数据,每个所述停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;
分别确定第一停留点与各个其他停留点的第一值,得到所述第一停留点对应的n-1个第一值;所述第一停留点为所述n个停留点中的任一个,所述其他停留点是指所述n个停留点中除所述第一停留点之外的停留点,所述第一值表征两个停留点的停留时长总和与所述两个停留点的停留空间区域的交并比的乘积,所述停留时长总和为所述两个停留点的停留时间段的时长的和;
以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对所述n个停留点进行聚类,得到聚类结果;其中,所述第一值总和是指停留点对应的n-1个第一值的和,所述目标条件为停留时长和停留空间区域相关的条件;所述聚类结果包括至少一个停留点簇或空。
2.根据权利要求1所述的方法,其特征在于,所述分别确定第一停留点与各个其他停留点的第一值,得到所述第一停留点对应的n-1个第一值,包括:
根据公式(1)计算得到所述第一停留点与第二停留点的第一值,所述第二停留点为任一个所述其他停留点;
其中,PDIOU(i,m)表示所述第一停留点与所述第二停留点的第一值,Durationi表示所述第一停留点的停留时长,Durationm表示所述第二停留点的停留时长,Si表示所述第一停留点的停留空间区域,Sm表示所述第二停留点的停留空间区域,C表示不为0的常数。
3.根据权利要求1所述的方法,其特征在于,所述以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对所述n个停留点进行聚类,得到所述聚类结果,包括:
对于所述n个停留点中的每个停留点执行目标聚类操作;
若所述n个停留点中存在至少一个核心点,则所述聚类结果包括所述至少一个核心点中各个核心点对应的停留点簇;
若所述n个停留点中不存在核心点,则所述聚类结果为空;
所述目标聚类操作包括:
计算所述第一停留点对应的n-1个第一值的和,得到所述第一停留点对应的第一值总和;
若所述第一停留点对应的第一值总和大于所述预设时间阈值,则将所述第一停留点确定为核心点,从所有所述其他停留点中确定所述第一停留点对应的目标停留点;所述目标停留点为满足所述目标条件的停留点;
根据所述第一停留点和所述第一停留点对应的目标停留点形成所述第一停留点对应的停留点簇。
4.根据权利要求3所述的方法,其特征在于,所述从所有所述其他停留点中确定所述第一停留点对应的目标停留点,包括:
对于每个所述其他停留点执行成簇筛选操作,得到所述第一停留点对应的目标停留点;
所述成簇筛选操作包括:
确定第二停留点是否满足所述目标条件,所述第二停留点为任一个所述其他停留点;
若第二停留点满足所述目标条件,则将所述第二停留点确定为所述第一停留点对应的目标停留点。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标条件为:停留点的停留时长大于第一阈值,且停留点与所述核心点的停留空间区域的交并比大于第二阈值。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标条件为:停留点的第一值大于第三阈值。
7.一种数据处理装置,其特征在于,包括:
获取模块,用于获取n个停留点的停留点数据,每个所述停留点的停留数据包括停留时间段和对应的停留空间区域,n为大于1的整数;
第一值计算模块,用于分别确定第一停留点与各个其他停留点的第一值,得到所述第一停留点对应的n-1个第一值;所述第一停留点为所述n个停留点中的任一个,所述其他停留点是指所述n个停留点中除所述第一停留点之外的停留点,所述第一值表征两个停留点的停留时长总和与所述两个停留点的停留空间区域的交并比的乘积,所述停留时长总和为所述两个停留点的停留时间段的时长的和;
聚类模块,用于以无穷大作为邻域半径,以第一值总和大于预设时间阈值作为核心点判断条件,以目标条件作为成簇条件,基于DBSCAN算法对所述n个停留点进行聚类,得到聚类结果;其中,所述第一值总和是指停留点对应的n-1个第一值的和,所述目标条件为停留时长和停留空间区域相关的条件;所述聚类结果包括至少一个停留点簇或空。
8.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211063922.8A CN116070035B (zh) | 2022-08-31 | 2022-08-31 | 数据处理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211063922.8A CN116070035B (zh) | 2022-08-31 | 2022-08-31 | 数据处理方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116070035A CN116070035A (zh) | 2023-05-05 |
CN116070035B true CN116070035B (zh) | 2023-10-20 |
Family
ID=86175752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211063922.8A Active CN116070035B (zh) | 2022-08-31 | 2022-08-31 | 数据处理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070035B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117014803A (zh) * | 2023-07-06 | 2023-11-07 | 荣耀终端有限公司 | 定位方法、推荐方法、可读介质和电子设备 |
CN117119387B (zh) * | 2023-10-25 | 2024-01-23 | 北京市智慧交通发展中心(北京市机动车调控管理事务中心) | 基于手机信令数据的用户出行链的构建方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015158799A (ja) * | 2014-02-24 | 2015-09-03 | 日本電信電話株式会社 | 時空間クラスタリング処理装置、方法及びプログラム |
JP2015170338A (ja) * | 2014-03-11 | 2015-09-28 | 日本電信電話株式会社 | 滞留点抽出方法、滞留点抽出装置及び滞留点抽出プログラム |
EP3032780A1 (en) * | 2014-12-12 | 2016-06-15 | Alcatel Lucent | Method and apparatus for transmitting messages to users using trajectory-based clustering |
CN112133090A (zh) * | 2020-08-14 | 2020-12-25 | 南京瑞栖智能交通技术产业研究院有限公司 | 一种基于手机信令数据的多方式交通分布模型构建方法 |
JP2021103422A (ja) * | 2019-12-25 | 2021-07-15 | アスクル株式会社 | 滞留点抽出装置、滞留点抽出方法、およびプログラム |
CN113342905A (zh) * | 2021-06-07 | 2021-09-03 | 北京邮电大学 | 一种停留点确定方法及装置 |
-
2022
- 2022-08-31 CN CN202211063922.8A patent/CN116070035B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015158799A (ja) * | 2014-02-24 | 2015-09-03 | 日本電信電話株式会社 | 時空間クラスタリング処理装置、方法及びプログラム |
JP2015170338A (ja) * | 2014-03-11 | 2015-09-28 | 日本電信電話株式会社 | 滞留点抽出方法、滞留点抽出装置及び滞留点抽出プログラム |
EP3032780A1 (en) * | 2014-12-12 | 2016-06-15 | Alcatel Lucent | Method and apparatus for transmitting messages to users using trajectory-based clustering |
JP2021103422A (ja) * | 2019-12-25 | 2021-07-15 | アスクル株式会社 | 滞留点抽出装置、滞留点抽出方法、およびプログラム |
CN112133090A (zh) * | 2020-08-14 | 2020-12-25 | 南京瑞栖智能交通技术产业研究院有限公司 | 一种基于手机信令数据的多方式交通分布模型构建方法 |
CN113342905A (zh) * | 2021-06-07 | 2021-09-03 | 北京邮电大学 | 一种停留点确定方法及装置 |
Non-Patent Citations (2)
Title |
---|
Identification of activity stop locations in GPS trajectories by density-based clustering method combined with support vector machines;Gong L等;transport(第23期);202-213 * |
一种面向移动智能手机用户轨迹停留点提取的时空聚类算法研究;崔邓;沈敬伟;周廷刚;;西南师范大学学报(自然科学版)(第10期);86-92 * |
Also Published As
Publication number | Publication date |
---|---|
CN116070035A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113163470B (zh) | 对特定路线上的特定位置进行识别的方法及电子设备 | |
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN110910872B (zh) | 语音交互方法及装置 | |
CN113794801B (zh) | 地理围栏的处理方法及装置 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
CN113641271B (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
WO2021169370A1 (zh) | 服务元素的跨设备分配方法、终端设备及存储介质 | |
CN115333941B (zh) | 获取应用运行情况的方法及相关设备 | |
CN115437601B (zh) | 图像排序方法、电子设备、程序产品及介质 | |
CN114828098B (zh) | 数据传输方法和电子设备 | |
CN111339513B (zh) | 数据分享的方法和装置 | |
CN116561085A (zh) | 图片分享方法和电子设备 | |
CN117133311B (zh) | 音频场景识别方法及电子设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN114764300B (zh) | 一种窗口页面的交互方法、装置、电子设备以及可读存储介质 | |
CN116703741B (zh) | 一种图像对比度的生成方法、装置和电子设备 | |
CN116048236B (zh) | 通信方法及相关装置 | |
CN116321265B (zh) | 网络质量评估方法、电子设备以及存储介质 | |
CN114205318B (zh) | 头像显示方法及电子设备 | |
CN118072723A (zh) | 协同唤醒的方法、装置和电子设备 | |
CN118131891A (zh) | 一种人机交互的方法和装置 | |
CN117555700A (zh) | 消息推送方法、终端设备、推送服务器和可读存储介质 | |
CN117177216A (zh) | 信息交互的方法、装置和电子设备 | |
CN116204145A (zh) | 一种电子设备投屏的方法、通信装置以及电子设备 | |
CN117710695A (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 |