首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 基于人工智能的兴趣点处理方法、装置及电子设备

基于人工智能的兴趣点处理方法、装置及电子设备

阅读:999发布:2020-05-30

专利汇可以提供基于人工智能的兴趣点处理方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于 人工智能 的兴趣点处理方法、装置、 电子 设备及存储介质;基于人工智能的兴趣点处理方法包括:对获取的兴趣点数据包括的地址进行 命名实体 识别,得到候选区域名;当候选区域名满足筛选条件时,将候选区域名确定为待筛选区域名;确定包括待筛选区域名的兴趣点数据,并根据兴趣点数据包括的经纬度 位置 ,确定经纬度编码区域;对经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;将兴趣点簇中满足出现 频率 条件的待筛选区域名,确定为簇区域名;确定兴趣点簇的中心经纬度位置及目标兴趣点数据;建立簇区域名与目标兴趣点数据之间的关联关系。通过本发明,能够降低人工标注成本,提升兴趣点处理的效率。,下面是基于人工智能的兴趣点处理方法、装置及电子设备专利的具体信息内容。

1.一种基于人工智能的兴趣点处理方法,其特征在于,包括:
获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名;
当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名;
确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域;
对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;
将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;
确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据;
建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
2.根据权利要求1所述的兴趣点处理方法,其特征在于,所述对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇,包括:
对所述经纬度编码区域进行扩展,得到至少一个扩展区域;
将所述经纬度编码区域与所述扩展区域共同确定为聚类区域;
对所述聚类区域内的兴趣点数据进行聚类,得到兴趣点簇。
3.根据权利要求2所述的兴趣点处理方法,其特征在于,所述对所述聚类区域内的兴趣点数据进行聚类,得到兴趣点簇,包括:
将所述聚类区域内的所有兴趣点数据标记为未访问点,并遍历各所述未访问点;
将遍历到的所述未访问点标记为已访问点,并确定与所述已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据;
当所述第一兴趣点数据的数量大于或等于邻域数量阈值时,根据所述已访问点及所述第一兴趣点数据建立兴趣点簇;
遍历所述兴趣点簇中的各未访问点,并确定与遍历到的所述未访问点之间的聚类距离小于所述邻域距离阈值的第二兴趣点数据;
当所述第二兴趣点数据的数量大于或等于所述邻域数量阈值时,将未归入簇的所述第二兴趣点数据添加至所述兴趣点簇。
4.根据权利要求3所述的兴趣点处理方法,其特征在于,还包括:
获取多个兴趣点密集度,其中,每个所述兴趣点密集度对应一个区域;
确定所述聚类区域对应的兴趣点密集度,并根据所述兴趣点密集度确定所述邻域数量阈值。
5.根据权利要求3所述的兴趣点处理方法,其特征在于,所述确定与所述已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据,包括:
确定所述已访问点包括的经纬度位置与所述兴趣点数据包括的经纬度位置之间的球面距离;
确定所述已访问点包括的地址与所述兴趣点数据包括的地址之间的文本相似度;
根据所述球面距离及所述文本相似度,确定所述已访问点与所述兴趣点数据之间的聚类距离;
当所述聚类距离小于邻域距离阈值时,将所述兴趣点数据确定为第一兴趣点数据。
6.根据权利要求1所述的兴趣点处理方法,其特征在于,所述当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名,包括:
根据地址模板,识别所述兴趣点数据包括的地址中的前置地址;
确定包括所述候选区域名、且前置地址相同的兴趣点数据;
当所述兴趣点数据的数量超过筛选数量阈值时,将所述候选区域名确定为待筛选区域名。
7.根据权利要求1所述的兴趣点处理方法,其特征在于,还包括:
获取用户经纬度位置,根据所述用户经纬度位置确定用户经纬度编码区域;
确定与所述用户经纬度编码区域相关的兴趣点簇,并呈现所述兴趣点簇的簇区域名;
响应于针对所述簇区域名的互动操作,根据所述关联关系呈现与所述簇区域名关联的目标兴趣点数据。
8.根据权利要求1至7任一项所述的兴趣点处理方法,其特征在于,还包括:
将所述簇区域名以及关联的所述目标兴趣点数据发送至链网络,以使所述区块链网络的节点将所述簇区域名以及所述目标兴趣点数据填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
9.一种基于人工智能的兴趣点处理装置,其特征在于,包括:
识别模块,用于获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名;
第一筛选模块,用于当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名;
编码区域确定模块,用于确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域;
聚类模块,用于对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;
第二筛选模块,用于将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;
兴趣点确定模块,用于确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据;
关联模块,用于建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
10.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的基于人工智能的兴趣点处理方法。

说明书全文

基于人工智能的兴趣点处理方法、装置及电子设备

技术领域

[0001] 本发明涉及数据挖掘技术,尤其涉及一种基于人工智能的兴趣点处理方法、装置、电子设备及存储介质。

背景技术

[0002] 人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。大数据挖掘处理是人工智能的一个重要方向,用于对数据量大且类别复杂的数据进行处理,从而找出数据的内在联系。
[0003] 兴趣点处理是大数据挖掘处理的一个分支,兴趣点是地理信息系统中的术语,泛指一切可以抽象为点的地理对象,在相关技术提供的方案中,通常是爬取已定义好的区域名以及多个兴趣点数据,将包含区域名的兴趣点数据与区域名建立联系,从而提供相关服务。上述方案依赖人为标注,在涉及的区域名较多的情况下,标注成本过高,兴趣点处理的效率低。

发明内容

[0004] 本发明实施例提供一种基于人工智能的兴趣点处理方法、装置、电子设备及存储介质,能够降低人工成本,提升兴趣点处理的效率。
[0005] 本发明实施例的技术方案是这样实现的:
[0006] 本发明实施例提供一种基于人工智能的兴趣点处理方法,包括:
[0007] 获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名;
[0008] 当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名;
[0009] 确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域;
[0010] 对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;
[0011] 将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;
[0012] 确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据;
[0013] 建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
[0014] 在上述方案中,所述建立所述簇区域名与所述目标兴趣点数据之间的关联关系之前,还包括:
[0015] 当第一兴趣点簇与第二兴趣点簇的中心经纬度位置之间的球面距离满足合并距离阈值、且所述第一兴趣点簇与所述第二兴趣点簇的簇区域名相同时,将所述第一兴趣点簇与所述第二兴趣点簇进行合并。
[0016] 在上述方案中,所述对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名,包括:
[0017] 通过命名实体识别模型对所述兴趣点数据包括的地址进行处理,得到组织机构名首字及组织机构名非首字;
[0018] 将所述组织机构名首字及所述组织机构名非首字组合为候选区域名。
[0019] 在上述方案中,还包括:
[0020] 获取包括前置地址及标注区域名的已标注地址;
[0021] 将符合所述已标注地址的所述兴趣点数据确定为训练数据
[0022] 根据所述训练数据的地址及所述标注区域名,训练所述命名实体识别模型。
[0023] 本发明实施例提供一种基于人工智能的兴趣点处理装置,包括:
[0024] 识别模,用于获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名;
[0025] 第一筛选模块,用于当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名;
[0026] 编码区域确定模块,用于确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域;
[0027] 聚类模块,用于对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;
[0028] 第二筛选模块,用于将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;
[0029] 兴趣点确定模块,用于确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据;
[0030] 关联模块,用于建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
[0031] 在上述方案中,所述基于人工智能的兴趣点处理装置,还包括:
[0032] 合并模块,用于当第一兴趣点簇与第二兴趣点簇的中心经纬度位置之间的球面距离满足合并距离阈值、且所述第一兴趣点簇与所述第二兴趣点簇的簇区域名相同时,将所述第一兴趣点簇与所述第二兴趣点簇进行合并。
[0033] 在上述方案中,所述识别模块,还用于:
[0034] 通过命名实体识别模型对所述兴趣点数据包括的地址进行处理,得到组织机构名首字及组织机构名非首字;
[0035] 将所述组织机构名首字及所述组织机构名非首字组合为候选区域名。
[0036] 在上述方案中,所述基于人工智能的兴趣点处理装置,还包括:
[0037] 地址获取模块,用于获取包括前置地址及标注区域名的已标注地址;
[0038] 训练数据确定模块,用于将符合所述已标注地址的所述兴趣点数据确定为训练数据;
[0039] 模型训练模块,用于根据所述训练数据的地址及所述标注区域名,训练所述命名实体识别模型。
[0040] 本发明实施例提供一种电子设备,包括:
[0041] 存储器,用于存储可执行指令;
[0042] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的兴趣点处理方法。
[0043] 本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的兴趣点处理方法。
[0044] 本发明实施例具有以下有益效果:
[0045] 本发明实施例首先识别出兴趣点数据中的候选区域名,再对候选区域名进行初步筛选得到待筛选区域名,根据兴趣点数据中的经纬度位置进行聚类,得到兴趣点簇,并在兴趣点簇中对待筛选区域名进行二次筛选得到簇区域名,最终确定簇区域名与簇内的目标兴趣点数据之间的关联关系,减少了对人为标注的依赖程度,降低了人工成本,提升了兴趣点处理的效率,并且,通过聚类以及对识别出的候选区域名进行两次筛选,提升了最终建立的关联关系的准确性。附图说明
[0046] 图1是本发明实施例提供的兴趣点管理系统的一个可选的结构示意图;
[0047] 图2是本发明实施例提供的区块链的一个可选的结构示意图;
[0048] 图3是本发明实施例提供的区块链网络的一个可选的功能结构示意图;
[0049] 图4是本发明实施例提供的电子设备的一个可选的结构示意图;
[0050] 图5是本发明实施例提供的基于人工智能的兴趣点处理装置的一个可选的结构示意图;
[0051] 图6A是本发明实施例提供的基于人工智能的兴趣点处理方法的一个可选的流程示意图;
[0052] 图6B是本发明实施例提供的对经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇的一个可选的流程示意图;
[0053] 图7是本发明实施例提供的命名实体识别模型的一个可选的结构示意图;
[0054] 图8是本发明实施例提供的聚类及建立关联关系的一个可选的流程示意图;
[0055] 图9是本发明实施例提供的兴趣点导览的一个可选的界面示意图。

具体实施方式

[0056] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0057] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0058] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
[0059] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
[0060] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0061] 1)兴趣点(POI,Point Of Interesting),是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象,尤其是一些与人们生活密切相关的地理实体,比如商店、酒吧、加油站、医院及车站等。
[0062] 2)兴趣点数据,与兴趣点相关的数据,兴趣点数据至少包括兴趣点所在的地址以及经纬度信息,除此之外,兴趣点数据还可包括兴趣点的名称及主营业务等其他内容。
[0063] 3)商圈,又名商业中心、商店街、商业区及繁华街,是指城市中由商店、商场、餐馆、办公楼及酒店等商业设施,加上街道、车站及步行街等公共设施所有机组合而成的区域,为城市内主要的精华区和闹区。
[0064] 4)命名实体识别,指识别文本中具有特定意义的实体,主要包括人名、地名、机构名及专有名词等。
[0065] 5)长短期记忆(LSTM,Long Short-term Memory)模型,是一种用于处理序列数据的神经网络模型,可以被应用于语言模型、机器翻译、图片标注及音乐自动化生成等方向。
[0066] 6)双向长短期记忆(BiLSTM,Bi-directional Long Short-Term Memory)模型,由前向LSTM与后向LSTM组合而成,较于LSTM可更好的捕捉双向的语义依赖。
[0067] 7)条件随机场(Conditional Random Field,CRF),是给定随机变量X的条件下,随机变量Y的尔可夫随机场。在分词、词性标注和命名实体识别等序列标注任务中具有较好的效果。
[0068] 8)BiLSTM-CRF模型,通过BiLSTM自动提取观测序列的特征,学习到观测序列(输入的字)之间的依赖,结合CRF对隐含状态建模,学习状态序列的特点,是现今一种效果较好的命名实体识别模型。
[0069] 9)GeoHash编码:通过经纬度信息在区域中的相对位置得到标识其位置的二进制串,将二进制串长度加在数据头部,再对整体进行base64编码的编码方法。在本文中,对经纬度信息进行GeoHash编码得到GeoHash编码信息,将GeoHash编码信息所代表的区域命名为经纬度编码区域。
[0070] 10)具有噪声的基于密度的聚类(DBSCAN,Density-Based Spatial Clustering of Applications with Noise),将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类,该方法用邻域距离阈值及邻域数量阈值两个参数描述邻域的样本分布紧密程度。
[0071] 11)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
[0072] 12)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
[0073] 13)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
[0074] 14)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
[0075] 15)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。
[0076] 16)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,本文对共识机制不做限定。
[0077] 本发明实施例提供一种基于人工智能的兴趣点处理方法、装置、电子设备及存储介质,能够降低人工成本,提升兴趣点处理的效率,同时提升建立的关联关系的准确性,下面说明本发明实施例提供的电子设备的示例性应用。
[0078] 参见图1,图1是本发明实施例提供的兴趣点管理系统100的架构示意图,包括区块链网络200(示例性示出了共识节点210-1至共识节点210-3)、认证中心300、业务主体400和业务主体500,下面分别进行说明。
[0079] 区块链网络200的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络200;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络200,此时,成为区块链网络200中的客户端节点。
[0080] 在一些实施例中,客户端节点可以只作为区块链网络200的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络200的共识节点210的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络200中,通过区块链网络200实现数据和业务处理过程的可信和可追溯。
[0081] 区块链网络200中的共识节点接收来自不同业务主体(例如图1中示出的业务主体400和业务主体500)的客户端节点(例如,图1中示出的归属于业务主体400的客户端节点
410、以及归属于业务主体500的客户端节点510)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
[0082] 例如,客户端节点410/510可以订阅区块链网络200中感兴趣的事件,例如区块链网络200中特定的组织/通道中发生的交易,由共识节点210推送相应的交易通知到客户端节点410/510,从而触发客户端节点410/510中相应的业务逻辑。
[0083] 下面以多个业务主体接入区块链网络以实现簇区域名及目标兴趣点数据的管理为例,说明区块链网络的示例性应用。
[0084] 参见图1,管理环节涉及的多个业务主体,如业务主体400可以是基于人工智能的兴趣点处理系统,业务主体500可以是兴趣点导览系统,从认证中心300进行登记注册获得各自的数字证书,数字证书中包括业务主体的公钥、以及认证中心300对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络200请求接入而成为客户端节点。
[0085] 业务主体400的客户端节点410用于获取多个兴趣点数据,并对兴趣点数据包括的地址进行命名实体识别,得到候选区域名;当候选区域名满足筛选条件时,将候选区域名确定为待筛选区域名;确定包括待筛选区域名的兴趣点数据,并根据兴趣点数据包括的经纬度位置,确定经纬度编码区域;对经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;将兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;确定兴趣点簇的中心经纬度位置,并确定与中心经纬度位置之间的距离满足关联距离条件、且包括簇区域名的目标兴趣点数据;建立簇区域名与目标兴趣点数据之间的关联关系;将簇区域名及关联的目标兴趣点数据发送至区块链网络200。
[0086] 其中,将簇区域名及关联的目标兴趣点数据发送至区块链网络200的操作,可以预先在客户端节点410设置业务逻辑,当建立关联关系时,客户端节点410将簇区域名及关联的目标兴趣点数据自动发送至区块链网络200,也可以由业务主体400的业务人员在客户端节点410中登录,手动打包簇区域名及关联的目标兴趣点数据,并将打包的内容发送至区块链网络200。在发送时,客户端节点410根据簇区域名及目标兴趣点数据生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点410的数字证书、签署的数字签名(例如,使用客户端节点410的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。
[0087] 区块链网络200中的共识节点210中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体400的身份,确认业务主体400是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。
[0088] 区块链网络200中的共识节点210接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络200中的共识节点210广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交更新簇区域名及目标兴趣点数据的交易,在状态数据库中更新包括簇区域名及目标兴趣点数据的键值对。
[0089] 业务主体500的业务人员在客户端节点510中登录,输入兴趣点数据查询请求,该兴趣点数据查询请求包括簇区域名,客户端节点510根据兴趣点数据查询请求生成对应查询操作的交易,在交易中指定了实现查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点510的数字证书、签署的数字签名(例如,使用客户端节点510的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。
[0090] 区块链网络200中的共识节点210中接收到交易,对交易进行验证、区块填充及共识一致后,将填充的新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:即对于提交的包括兴趣点数据查询请求的交易,从状态数据库中查询簇区域名对应的键值对,并返回交易结果(簇区域名对应的目标兴趣点数据)。
[0091] 值得说明的是,在图1中示例性地示出了将簇区域名及关联的目标兴趣点数据直接上链的过程,但在另一些实施例中,对于簇区域名及目标兴趣点数据的数据量较大的情况,客户端节点410可将簇区域名的哈希以及目标兴趣点数据的哈希成对上链,将原始的簇区域名以及目标兴趣点数据存储于分布式文件系统或数据库。客户端节点510从分布式文件系统或数据库获取到簇区域名以及目标兴趣点数据后,可结合区块链网络200中对应的哈希进行校验,从而减少上链操作的工作量。
[0092] 作为区块链的示例,参见图2,图2是本发明实施例提供的区块链网络200中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
[0093] 下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图3,图3是本发明实施例提供的区块链网络200的功能架构示意图,包括应用层201、共识层202、网络层203、数据层204和资源层205,下面分别进行说明。
[0094] 资源层205封装了实现区块链网路200中的各个节点210的计算资源、存储资源和通信资源。
[0095] 数据层204封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
[0096] 网络层203封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
[0097] 其中,P2P网络协议实现区块链网络200中节点210之间的通信,数据传播机制保证了交易在区块链网络200中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点210之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络200的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络200的权限;业务主体身份管理用于存储允许接入区块链网络200的业务主体的身份、以及权限(例如能够发起的交易的类型)。
[0098] 共识层202封装了区块链网络200中的节点210对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括权益证明(POS,Proof Of Stake)、POW(POW,Proof Of Work)和股份授权证明(DPOS,Delegated Proof Of Stake)等共识算法,支持共识算法的可插拔。
[0099] 交易管理用于验证节点210接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络200的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
[0100] 账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
[0101] 应用层201封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
[0102] 下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。
[0103] 参见图4,图4是本发明实施例提供的电子设备600的架构示意图,电子设备600归属于业务主体(例如,可以是图1所示的业务主体400),运行有客户端节点(例如,可以是图1所示的客户端节点410)。图4所示的电子设备600包括:至少一个处理器610、存储器650、至少一个网络接口620和用户接口630。电子设备600中的各个组件通过总线系统640耦合在一起。可理解,总线系统640用于实现这些组件之间的连接通信。总线系统640除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统640。
[0104] 处理器610可以是一种集成电路芯片,具有信号的处理能,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0105] 用户接口630包括使得能够呈现媒体内容的一个或多个输出装置631,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口630还包括一个或多个输入装置632,包括有助于用户输入的用户接口部件,比如键盘鼠标、麦克、触屏显示屏、摄像头、其他输入按钮和控件。
[0106] 存储器650可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器650可选地包括在物理位置上远离处理器610的一个或多个存储设备。
[0107] 存储器650包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器650旨在包括任意适合类型的存储器。
[0108] 在一些实施例中,存储器650能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0109] 操作系统651,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0110] 网络通信模块652,用于经由一个或多个(有线或无线)网络接口620到达其他计算设备,示例性的网络接口620包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
[0111] 呈现模块653,用于经由一个或多个与用户接口630相关联的输出装置631(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0112] 输入处理模块654,用于对一个或多个来自一个或多个输入装置632之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0113] 在一些实施例中,本发明实施例提供的基于人工智能的兴趣点处理装置可以采用软件方式实现,图4示出了存储在存储器650中的基于人工智能的兴趣点处理装置655,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块6551、第一筛选模块6552、编码区域确定模块6553、聚类模块6554、第二筛选模块6555、兴趣点确定模块6556及关联模块6557,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
[0114] 将在下文中说明各个模块的功能。
[0115] 在另一些实施例中,本发明实施例提供的基于人工智能的兴趣点处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的兴趣点处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的兴趣点处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific In tegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
[0116] 本发明实施例提供的基于人工智能的兴趣点处理方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行。
[0117] 下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于人工智能的兴趣点处理装置而实现基于人工智能的兴趣点处理方法的过程。
[0118] 参见图5和图6A,图5是本发明实施例提供的基于人工智能的兴趣点处理装置655的结构示意图,示出了通过一系列模块实现关联关系确定的处理流程,图6A是本发明实施例提供的基于人工智能的兴趣点处理方法的流程示意图,将结合图5对图6A示出的步骤进行说明。
[0119] 在步骤101中,获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名。
[0120] 在本步骤中,获取与兴趣点相关的兴趣点数据。作为示例,参见图5,在识别模块6551中,可调用地图接口,从第三方地图平台获取兴趣点数据,或者从兴趣点数据库中获取兴趣点数据,或者以其他方式获取,本发明实施例不做限定。兴趣点数据至少包括兴趣点地址以及经纬度信息,对兴趣点数据包括的地址进行命名实体识别,得到兴趣点所在的区域名,区域名用于指示一个特定的区域,如商圈,为了便于区分,将此处的区域名命名为候选区域名。
[0121] 在一些实施例中,可以通过这样的方式实现上述的对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名:通过命名实体识别模型对所述兴趣点数据包括的地址进行处理,得到组织机构名首字及组织机构名非首字;将所述组织机构名首字及所述组织机构名非首字组合为候选区域名。
[0122] 作为示例,参见图5,在识别模块6551中,通过训练好的命名实体识别模型对兴趣点数据包括的地址进行处理。在处理过程中,将兴趣点数据包括的地址中的每个字转换为对应的字向量,通过命名实体识别模型中的双向长短期记忆层对字向量进行处理,再通过命名实体识别模型中的条件随机场层对双向长短期记忆层的输出结果进行处理,从而实现对每个字的属性的解析。对于一个字来说,可能存在三种解析结果,即字属于无关字、组织机构名首字或组织机构名非首字。最终,将地址中的组织机构名首字及组织机构名非首字组合为候选区域名。例如,兴趣点数据包括的地址为“广州市天河区天河路2号正佳广场m层”,则通过命名实体识别模型对该地址进行处理后,得到组织机构名首字“正”及组织机构名非首字“佳”、“广”及“场”,将组织机构名首字及组织机构名非首字按照位于地址中的顺序,组合为候选区域名“正佳广场”。通过上述的模型处理的方式,提升了识别候选区域名的灵活性和准确性,在出现新的区域名时,能够实现有效识别。
[0123] 在一些实施例中,在任意步骤之间,基于人工智能的兴趣点处理方法还包括:获取包括前置地址及标注区域名的已标注地址;将符合所述已标注地址的所述兴趣点数据确定为训练数据;根据所述训练数据的地址及所述标注区域名,训练所述命名实体识别模型。
[0124] 在训练命名实体识别模型时,首先获取多个已标注地址(如100个),已标注地址可从网络中获取,或由人为标注。已标注地址包括前置地址及标注区域名,前置地址是行政区域划分的地址,前置地址的划分程度可根据实际应用场景进行设定,如“xx省xx市”、“xx市xx区”或“xx省xx市xx县”等,为了便于理解,后文统一以“xx市xx区”形式的前置地址进行说明。在获取的多个兴趣点数据中,将符合任一已标注地址的兴趣点数据确定为训练数据,即该训练数据中的地址包括已标注地址的所有文本内容。将训练数据的地址输入至命名实体识别模型,确定命名实体识别模型输出的区域名与标注区域名之间的差异,并根据该差异进行反向传播,调整命名实体识别模型的权重参数,从而提升命名实体识别模型的准确率。
[0125] 在步骤102中,当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名。
[0126] 作为示例,参见图5,在第一筛选模块6552中,通过筛选条件对候选区域名进行初步筛选,例如,筛选条件为候选区域名中含有设定字段。当候选区域名满足筛选条件时,将候选区域名确定为待筛选区域名。
[0127] 在一些实施例中,可以通过这样的方式实现上述的当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名:根据地址模板,识别所述兴趣点数据包括的地址中的前置地址;确定包括所述候选区域名、且前置地址相同的兴趣点数据;当所述兴趣点数据的数量超过筛选数量阈值时,将所述候选区域名确定为待筛选区域名。
[0128] 地址模板与设定的前置地址的形式对应,例如,地址模板为“xx市xx区”。根据地址模板识别兴趣点数据包括的地址中的前置地址,对于每个候选区域名来说,在多个兴趣点数据中,确定包括该候选区域名、并且前置地址相同的兴趣点数据,当确定出的兴趣点数据的数量超过筛选数量阈值时,将该候选区域名确定为待筛选区域名,其中,筛选数量阈值如15个。例如某个候选区域名为“正佳广场”,当地址为“广州市天河区正佳广场”的兴趣点数据的数量超过筛选数量阈值时,将候选区域名“正佳广场”确定为待筛选区域名。通过上述方式,过滤掉较为冷僻的区域名,提升了筛选的有效性。
[0129] 在步骤103中,确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域。
[0130] 作为示例,参见图5,在编码区域确定模块6553中,对于包括待筛选区域名的兴趣点数据,对兴趣点数据包括的经纬度位置进行经纬度编码,具体进行GeoHash编码,得到GeoHash编码信息,将GeoHash编码信息在地图中所代表的区域命名为经纬度编码区域。值得说明的是,落入经纬度编码区域的所有点都共享该编码区域对应的GeoHash编码信息。
[0131] 在步骤104中,对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇。
[0132] 这里,与经纬度编码区域相关的兴趣点数据,可以指地址落入经纬度编码区域的兴趣点数据,也可以指对经纬度编码区域进行扩展后,落入经纬度编码区域及扩展区域范围内的兴趣点数据。对经纬度编码区域相关的兴趣点数据进行聚类,本发明实施例对聚类的具体方式不做限定,在聚类完成后,得到兴趣点簇。
[0133] 在步骤105中,将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名。
[0134] 作为示例,参见图5,在第二筛选模块6555中,对于每个兴趣点簇,对其中的兴趣点数据包括的待筛选区域名,进行二次筛选,具体地,当兴趣点簇中的某个待筛选区域名满足出现频率条件时,将该待筛选区域名确定为簇区域名,其中,出现频率条件如该待筛选区域名的出现频率超过70%。
[0135] 在步骤106中,确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据。
[0136] 作为示例,参见图5,在兴趣点确定模块6556中,对于每个兴趣点簇,对其中所有兴趣点数据包括的经纬度位置进行平均值处理,得到中心经纬度位置。并且,将兴趣点簇中与中心经纬度位置之间的距离满足关联距离条件、且包括簇区域名的兴趣点数据,确定为与簇区域名关联的目标兴趣点数据,其中,兴趣点数据与中心经纬度位置之间的距离,是指兴趣点数据包括的经纬度位置与中心经纬度位置之间的球面距离,关联距离条件如距离不超过400米。
[0137] 在步骤107中,建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
[0138] 作为示例,参见图5,在关联模块6557中,将兴趣点簇的簇区域名与确定出的目标兴趣点数据建立关联关系。
[0139] 在一些实施例中,步骤107之前,还包括:当第一兴趣点簇与第二兴趣点簇的中心经纬度位置之间的距离小于合并距离阈值、且所述第一兴趣点簇与所述第二兴趣点簇的簇区域名相同时,将所述第一兴趣点簇与所述第二兴趣点簇进行合并。
[0140] 在确定出的兴趣点簇为一个以上的情况下,当第一兴趣点簇与第二兴趣点簇的中心经纬度位置之间的球面距离小于合并距离阈值、且第一兴趣点簇与第二兴趣点簇的簇区域名相同时,将第一兴趣点簇与第二兴趣点簇进行合并,同时,将第一兴趣点簇内的目标兴趣点数据与第二兴趣点簇内的目标兴趣点数据进行合并,并在后续建立簇区域名与合并后的目标兴趣点数据之间的关联关系,其中,合并距离阈值可根据实际应用场景中一个区域的覆盖情况进行设置,区域的覆盖范围越大,则设置的合并距离阈值越大。通过上述方式,在第一兴趣点簇与第二兴趣点簇对应同一个区域时,对两个兴趣点簇进行合并,避免对于同一区域的簇区域名,建立两种或两种以上的关联关系。
[0141] 在一些实施例中,步骤107之后,还包括:获取用户经纬度位置,根据所述用户经纬度位置确定用户经纬度编码区域;确定与所述用户经纬度编码区域相关的兴趣点簇,并呈现所述兴趣点簇的簇区域名;响应于针对所述簇区域名的互动操作,根据所述关联关系呈现与所述簇区域名关联的目标兴趣点数据。
[0142] 在已有关联关系的基础上,可根据用户经纬度位置进行兴趣点的智能推荐。具体地,根据定位得到的用户经纬度位置确定用户经纬度编码区域,并确定与用户经纬度编码区域相关的兴趣点簇,这里确定出的兴趣点簇,可为根据用户经纬度编码区域内的兴趣点数据聚类得到的兴趣点簇,也可为根据用户经纬度编码区域及扩展区域内的兴趣点数据聚类得到的兴趣点簇。在确定出兴趣点簇后,呈现兴趣点簇的簇区域名,同时还可呈现兴趣点簇的其他信息,例如,确定用户经纬度位置与兴趣点簇的中心经纬度位置之间的球面距离,并呈现该球面距离。用户可对呈现的簇区域名进行互动,如点击屏幕上呈现的簇区域名。响应于针对簇区域名的互动操作,根据关联关系呈现与簇区域名关联的目标兴趣点数据,从而实现目标兴趣数据的智能推荐。在此基础上,还可对目标兴趣点数据的呈现顺序进行调整,例如,在目标兴趣点数据包括评分的情况,按照评分从高到低的顺序,呈现与簇区域名关联的多个目标兴趣点数据,提升用户体验。通过上述方式,根据定位到的用户位置实现了附近的簇区域名及兴趣点的智能推荐,提升了推荐的准确性,便于用户快速获取邻近兴趣点的相关数据。
[0143] 在一些实施例中,步骤107之后,还包括:将所述簇区域名以及关联的所述目标兴趣点数据发送至区块链网络,以使所述区块链网络的节点将所述簇区域名以及所述目标兴趣点数据填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
[0144] 本发明实施例还可结合区块链技术,在得到簇区域名以及关联的目标兴趣点数据后,将簇区域名以及目标兴趣点数据统一发送至区块链网络。区块链网络的节点对发送的主体进行相关验证,包括对数字证书、数字签名以及写入权限的验证,并在验证成功的基础上,将簇区域名以及目标兴趣点数据填充至新区块中,并将新区块广播至区块链网络的其他节点,在区块链网络的节点对新区块共识一致时,各节点将新区块追加至自身保存的区块链的尾部。通过上述方式保证了簇区域名以及目标兴趣点数据之间的关联关系的不可篡改性,也便于在导览时,从区块链网络中获取准确的相应数据。
[0145] 通过发明实施例对于图6A的上述示例性实施可知,本发明实施例识别出兴趣点数据中的候选区域名,对候选区域名进行初步筛选得到待筛选区域名,根据兴趣点数据中的经纬度位置进行聚类,得到兴趣点簇,并在兴趣点簇中对待筛选区域名进行二次筛选得到簇区域名,最终确定簇区域名与簇内的目标兴趣点数据之间的关联关系,降低了人工标注成本,提升了兴趣点处理的效率,并且,通过聚类以及对识别出的候选区域名进行两次筛选,提升了最终建立的关联关系的准确性,便于进行准确导览。
[0146] 在一些实施例中,参见图6B,图6B是本发明实施例提供的对经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇的一个可选的流程示意图,图6A示出的步骤104可以通过步骤201至步骤203实现,将结合各步骤进行说明。
[0147] 在步骤201中,对所述经纬度编码区域进行扩展,得到至少一个扩展区域。
[0148] 作为示例,参见图5,在聚类模块6554中,由于兴趣点的集中区域如商圈的范围通常较大,故在确定出兴趣点数据对应的经纬度编码区域后,对经纬度编码区域进行扩展,得到至少一个扩展区域。例如,经纬度编码区域在地图中以矩形区域的形式体现,故可将经纬度编码区域周边(即左上、左、左下、下、右下、右、右上及上八个方向)的八个编码区域确定为扩展区域。
[0149] 在步骤202中,将所述经纬度编码区域与所述扩展区域共同确定为聚类区域。
[0150] 这里,将经纬度编码区域与扩展出的扩展区域确定为用于进行聚类的聚类区域。
[0151] 在步骤203中,对所述聚类区域内的兴趣点数据进行聚类,得到兴趣点簇。
[0152] 作为示例,参见图5,在聚类模块6554中,对落入聚类区域的兴趣点数据进行聚类,并将得到的兴趣点簇作为与经纬度编码区域相关的兴趣点簇。
[0153] 在图6B中,步骤203可以通过步骤301至步骤305实现,将结合各步骤进行说明。
[0154] 在步骤301中,将所述聚类区域内的所有兴趣点数据标记为未访问点,并遍历各所述未访问点。
[0155] 在进行聚类时,首先,将聚类区域内的所有兴趣点数据标记为未访问点,并遍历各未访问点。
[0156] 在步骤302中,将遍历到的所述未访问点标记为已访问点,并确定与所述已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据。
[0157] 将遍历到一个未访问点时,将该未访问点标记为已访问点,并确定聚类区域内的其他兴趣点数据与该已访问点之间的聚类距离,该聚类距离可以是兴趣点数据包括的经纬度位置与已访问点包括的经纬度位置之间的球面距离,也可以是添加其他度量信息而得到的距离。为了便于区分,将与已访问点之间的聚类距离小于邻域距离阈值的兴趣点数据命名为第一兴趣点数据,邻域距离阈值可根据实际应用场景进行设置,如设置为20米。
[0158] 在一些实施例中,可以通过这样的方式实现上述的确定与所述已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据:确定所述已访问点包括的经纬度位置与所述兴趣点数据包括的经纬度位置之间的球面距离;确定所述已访问点包括的地址与所述兴趣点数据包括的地址之间的文本相似度;根据所述球面距离及所述文本相似度,确定所述已访问点与所述兴趣点数据之间的聚类距离;当所述聚类距离小于邻域距离阈值时,将所述兴趣点数据确定为第一兴趣点数据。
[0159] 在本发明实施例中,还可增加文本相似度作为聚类距离的度量。具体地,确定已访问点包括的经纬度位置与兴趣点数据包括的经纬度位置之间的球面距离,并确定已访问点包括的地址与兴趣点数据包括的地址之间的文本相似度,这里对确定文本相似度的方式不做限定。根据球面距离及文本相似度,确定已访问点与兴趣点数据之间的聚类距离,例如,将球面距离与文本相似度进行乘积运算,得到聚类距离,还可在乘积运算前,根据实际应用场景中球面距离和文本相似度的重要程度,设置相应的权重,当然,确定聚类距离的方式并不限于乘积运算。在得到聚类距离后,将聚类距离小于邻域距离阈值的兴趣点数据确定为第一兴趣点数据。通过上述方式,提升了聚类效果,减少了合并逻辑的必要性。
[0160] 在步骤303中,当所述第一兴趣点数据的数量大于或等于邻域数量阈值时,根据所述已访问点及所述第一兴趣点数据建立兴趣点簇。
[0161] 当确定出的第一兴趣点数据的数量大于或等于邻域数量阈值时,建立包括已访问点及第一兴趣点数据的兴趣点簇。邻域数量阈值可根据实际应用场景进行设置,如设置为10。
[0162] 在一些实施例中,在任意步骤之间,基于人工智能的兴趣点处理方法还包括:获取多个兴趣点密集度,其中,每个所述兴趣点密集度对应一个区域;确定所述聚类区域对应的兴趣点密集度,并根据所述兴趣点密集度确定所述邻域数量阈值。
[0163] 在本发明实施例中,邻域数量阈值可根据兴趣点密集度进行确定,具体地,获取多个兴趣点密集度,每个兴趣点密集度对应一个区域,并确定聚类区域对应的兴趣点密集度,根据该兴趣点密集度确定邻域数量阈值。其中,兴趣点密集度与邻域数量阈值之间成负相关关系,即兴趣点密集度越大,代表该区域的兴趣点越密集,则设置邻域数量阈值越小,反之亦然。通过上述方式,提升了对不同区域的适应性,进一步提升了聚类效果。
[0164] 在步骤304中,遍历所述兴趣点簇中的各未访问点,并确定与遍历到的所述未访问点之间的聚类距离小于所述邻域距离阈值的第二兴趣点数据。
[0165] 遍历建立的兴趣点簇中的各未访问点,在遍历到一个未访问点时,确定与该未访问点之间的聚类距离小于邻域距离阈值的兴趣点数据,为了便于区分,将此处确定出的兴趣点数据命名为第二兴趣点数据。同时,将遍历到的该未访问点标记为已访问点。
[0166] 在步骤305中,当所述第二兴趣点数据的数量大于或等于所述邻域数量阈值时,将未归入簇的所述第二兴趣点数据添加至所述兴趣点簇。
[0167] 当第二兴趣点数据的数量大于或等于邻域数量阈值时,将未归入任何簇的第二兴趣点数据添加至兴趣点簇。重复执行步骤304至步骤305,直至兴趣点簇中不存在未访问点为止,然后,遍历聚类区域内的未访问点,直至聚类区域内不存在未访问点为止。
[0168] 在一些实施例中,步骤302之后,还包括:当所述第一兴趣点数据的数量小于所述邻域数量阈值时,将所述已访问点标记为离群点;
[0169] 步骤304之后,还包括:当所述第二兴趣点数据的数量小于所述邻域数量阈值时,将所述兴趣点簇中遍历到的所述未访问点标记为离群点;
[0170] 步骤105之前,还包括:过滤所述离群点。
[0171] 确定出与已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据后,当第一兴趣点数据的数量小于邻域数量阈值时,将已访问点标记为离群点,等待后续处理。同样地,对于兴趣点簇中遍历到的未访问点,确定出与遍历到的未访问点之间的聚类距离小于邻域距离阈值的第二兴趣点数据后,当第二兴趣点数据的数量小于邻域数量阈值时,将遍历到的该未访问点标记为离群点。对于确定出的兴趣点簇,在确定簇区域名之前,将离群点进行过滤,即删除离群点,从而防止离群点对簇区域名及目标兴趣点数据的确定造成不利影响,提升最终确定出的关联关系的准确性。
[0172] 通过发明实施例对于图6B的上述示例性实施可知,本发明实施例对经纬度编码区域进行扩展,从而适配实际场景中兴趣点集中区域的覆盖范围,并且,通过设定的邻域距离阈值及邻域数量阈值进行聚类,从而可发现任意形状的簇,提升了聚类的准确性。
[0173] 下面,将说明本发明实施例在一些实际的应用场景中的示例性应用。为了便于理解,后文以区域名为商圈名的情况进行说明。
[0174] 参见图7,图7是本发明实施例提供的命名实体识别模型的一个可选的结构示意图,在图7中,命名实体识别模型为BiLSTM-CRF模型。示例性地,兴趣点数据包括的地址为“广州市天河区天河路2号正佳广场m层”,在进行命名实体识别时,首先将该地址中的各个字转换成对应的字向量,如图7中的x1~x17。然后,通过训练好的命名实体识别模型中的双向长短期记忆层,对字向量进行处理,图7中的h1~h17为前向长短期记忆处理结果,s1~s17为后向长短期记忆处理结果,对前向长短期记忆处理结果和后向长短期记忆处理结果进行融合处理,得到双向长短期记忆层的输出结果,即图7中的p1~p17。然后,通过命名实体识别模型中的条件随机场层对双向长短期记忆层的每个输出结果进行处理,得到每个字对应的解析结果。图7以Bakeoff-3评测中所采用的的BIO标注集为示例,即B-LOC代表组织机构名首字,I-LOC代表组织机构名非首字,O代表该字不属于命名实体的一部分,将组织机构名首字及组织机构名非首字组合为解析结果,即“正佳广场”是对该地址进行命名实体识别后得到的候选商圈名(即上文的候选区域名)。
[0175] 在训练命名实体识别模型时,从网络中获取或人工标注多个已标注地址,例如100个已标注地址,已标注地址包括前置地址及标注商圈名(即上文的标注区域名),前置地址是行政区域划分的地址,此处以“xx市xx区”形式的前置地址进行说明。在获取的多个兴趣点数据中,将符合任一已标注地址的兴趣点数据确定为训练数据,即该训练数据中的地址包括已标注地址的所有文本内容。举例来说,已标注地址为“广州市天河区正佳广场”,其中,“广州市天河区”为前置地址,“正佳广场”为标注商圈名,当某个兴趣点数据中的地址为“广州市天河区天河路2号正佳广场m层”时,由于该地址包括已标注地址的所有文本内容,故确定该兴趣点数据符合该已标注地址,将该兴趣点数据确定为训练数据;当某个兴趣点数据中的地址为“广州市天河区天河城”时,由于该地址并未包括已标注地址中“正佳广场”的文本内容,故确定该兴趣点数据不符合该已标注地址。
[0176] 将训练数据的地址输入至命名实体识别模型,确定命名实体识别模型输出的商圈名与标注商圈名之间的差异,并根据该差异进行反向传播,调整命名实体识别模型的权重参数,从而提升命名实体识别模型的准确率。值得说明的是,在训练命名实体识别模型时,可应用下列参数:批尺寸batch_size=64,训练轮次epoch=40~60,隐藏层向量维度=300,优化器optimizer=Adam',学习率lr=0.001,失效概率dropout=0.5,字向量维度embedding_dim=300。
[0177] 参见图8,图8是本发明实施例提供的聚类及建立关联关系的一个可选的流程示意图,为了便于理解,以图8示出的编号进行说明。
[0178] 1)在聚类区域内进行DBSCAN聚类。
[0179] 对于包括待筛选商圈名(即上文的待筛选区域名)的兴趣点数据,对兴趣点数据包括的经纬度位置进行GeoHash编码,得到GeoHash编码信息,并将GeoHash编码信息添加至兴趣点数据中。将GeoHash编码信息所代表的区域命名为经纬度编码区域,对经纬度编码区域进行扩展,将经纬度编码区域及周边的八个扩展区域共同作为聚类区域,在聚类区域内根据经纬度位置对各兴趣点数据进行聚类,得到兴趣点簇,其中,聚类采用DBSCAN算法,并应用邻域距离阈值为20米,邻域数量阈值为10个的参数。当然,上述的参数数值仅为示例,邻域距离阈值和邻域数量阈值可根据不同地区商圈中兴趣点的密集程度进行调整,比如广州的商圈中兴趣点的密集程度通常较汕头更加密集,故在邻域距离阈值相同的情况下,设置汕头对应的邻域数量阈值更小。此外,在聚类时,可直接采用两个兴趣点数据包括的经纬度位置之间的球面距离作为距离度量,也可在此基础上,添加两个兴趣点数据包括的地址之间的文本相似度,将球面距离和文本相似度共同作为距离度量,本发明实施例对此不做限定。
[0180] 值得说明的是,该步骤中进行聚类的意义主要是针对同一个市、区可能存在多个同名商圈的情况,如:北京市丰台区有3个同名的广场,通过进行聚类,从而分离出真实不同的商圈,并且,由于实际商圈中,兴趣点的位置分布形状不定,可能是圆形,也可能是多边形,故通过DBSCNA算法进行聚类,从而可发现任意形状的簇,提升了对实际应用场景的适用性。
[0181] 2)确定聚类区域的兴趣点簇的簇中心和对应的目标兴趣点数据。
[0182] 在聚类得到兴趣点簇后,过滤聚类区域内的离群点,并对兴趣点簇内所有兴趣点数据包括的经纬度位置进行平均值处理,得到兴趣点簇的中心经纬度位置。将兴趣点簇中满足出现频率条件,如出现频率超过70%的待筛选商圈名,确定为簇商圈名(即上文的簇区域名)。然后,将兴趣点簇中包括簇商圈名、且包括的经纬度位置与中心经纬度位置之间的球面距离不超过400米的兴趣点数据,确定为目标兴趣点数据。
[0183] 3)合并相应的簇商圈名-目标兴趣点数据。
[0184] 由于商圈的覆盖范围可能较大,故可能出现邻近的兴趣点簇属于同一个商圈的情况,故在本步骤中,对于聚类区域内簇商圈名相同的两个兴趣点簇,判断其中心经纬度位置之间的球面距离是否小于合并距离阈值,当两个中心经纬度位置之间的球面距离小于合并距离阈值时,确定两个兴趣点簇属于同一商圈;当两个中心经纬度位置之间的球面距离大于或等于合并距离阈值时,确定两个兴趣点簇不属于同一商圈。对聚类区域内的所有兴趣点簇执行上述判断操作,得到需要合并的兴趣点簇对,并进行合并,对需要合并的兴趣点簇对内的目标兴趣点数据,同样进行合并,最后得到合并后的兴趣点簇及合并后的目标兴趣点数据。值得说明的是,可通过图处理框架Spark GraphX得到需要合并的兴趣点簇对及目标兴趣点数据,并进行合并。最终,将每个兴趣点簇的簇商圈名与目标兴趣点数据建立关联关系,从而能够根据商圈名进行兴趣点的导览。
[0185] 参见图9,图9是本发明实施例提供的兴趣点导览的可选的界面示意图,在图9的界面90,即“附近商圈”界面中,在已建立簇商圈名与目标兴趣点数据之间的关联关系的基础上,对业务端返回的用户经纬度位置进行GeoHash编码,得到对应的用户经纬度编码区域,确定该用户经纬度编码区域对应的聚类区域,并确定该聚类区域内的兴趣点簇。在该聚类区域内存在至少两个兴趣点簇的情况下,确定每个兴趣点簇的中心经纬度位置与用户经纬度位置之间的球面距离,将数值最小的球面距离确定为目标距离903,并将目标距离903对应的兴趣点簇确定为目标簇,将目标簇的簇商圈名确定为目标商圈名901。同时,还可将目标簇内的兴趣点数据包括的前置地址,确定为目标地址902,将目标商圈名901、目标地址902及目标距离903一同呈现在界面90中。
[0186] 图9的界面90还呈现了导览标识904,当获取到用户对于导览标识904的互动操作,如通过触摸感应装置感应到用户对导览标识904的点击时,根据已建立的关联关系,确定目标商圈名901对应的目标兴趣点数据,并呈现在图9的界面91,即“商圈导览”界面中。示例性地,在界面91中示出了目标兴趣点数据911,目标兴趣点数据911包括兴趣点的名称、图片、评分以及人均消费,在界面91中,按照评分从高到低的顺序呈现多个目标兴趣点数据,当然,这并不构成对本发明实施例的限定。
[0187] 下面继续说明本发明实施例提供的基于人工智能的兴趣点处理装置655的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器650的基于人工智能的兴趣点处理装置655中的软件模块可以包括:识别模块6551,用于获取多个兴趣点数据,并对所述兴趣点数据包括的地址进行命名实体识别,得到候选区域名;第一筛选模块6552,用于当所述候选区域名满足筛选条件时,将所述候选区域名确定为待筛选区域名;编码区域确定模块6553,用于确定包括所述待筛选区域名的兴趣点数据,并根据所述兴趣点数据包括的经纬度位置,确定经纬度编码区域;聚类模块6554,用于对所述经纬度编码区域相关的兴趣点数据进行聚类,得到兴趣点簇;第二筛选模块6555,用于将所述兴趣点簇中满足出现频率条件的待筛选区域名,确定为簇区域名;兴趣点确定模块6556,用于确定所述兴趣点簇的中心经纬度位置,并确定与所述中心经纬度位置之间的距离满足关联距离条件、且包括所述簇区域名的目标兴趣点数据;关联模块6557,用于建立所述簇区域名与所述目标兴趣点数据之间的关联关系。
[0188] 在一些实施例中,聚类模块6554,还用于:对所述经纬度编码区域进行扩展,得到至少一个扩展区域;将所述经纬度编码区域与所述扩展区域共同确定为聚类区域;对所述聚类区域内的兴趣点数据进行聚类,得到兴趣点簇。
[0189] 在一些实施例中,聚类模块6554,还用于:将所述聚类区域内的所有兴趣点数据标记为未访问点,并遍历各所述未访问点;将遍历到的所述未访问点标记为已访问点,并确定与所述已访问点之间的聚类距离小于邻域距离阈值的第一兴趣点数据;当所述第一兴趣点数据的数量大于或等于邻域数量阈值时,根据所述已访问点及所述第一兴趣点数据建立兴趣点簇;遍历所述兴趣点簇中的各未访问点,并确定与遍历到的所述未访问点之间的聚类距离小于所述邻域距离阈值的第二兴趣点数据;当所述第二兴趣点数据的数量大于或等于所述邻域数量阈值时,将未归入簇的所述第二兴趣点数据添加至所述兴趣点簇。
[0190] 在一些实施例中,基于人工智能的兴趣点处理装置655还包括:密集度获取模块,用于获取多个兴趣点密集度,其中,每个所述兴趣点密集度对应一个区域;数量阈值确定模块,用于确定所述聚类区域对应的兴趣点密集度,并根据所述兴趣点密集度确定所述邻域数量阈值。
[0191] 在一些实施例中,聚类模块6554,还用于:确定所述已访问点包括的经纬度位置与所述兴趣点数据包括的经纬度位置之间的球面距离;确定所述已访问点包括的地址与所述兴趣点数据包括的地址之间的文本相似度;根据所述球面距离及所述文本相似度,确定所述已访问点与所述兴趣点数据之间的聚类距离;当所述聚类距离小于邻域距离阈值时,将所述兴趣点数据确定为第一兴趣点数据。
[0192] 在一些实施例中,第一筛选模块6552,还用于:根据地址模板,识别所述兴趣点数据包括的地址中的前置地址;确定包括所述候选区域名、且前置地址相同的兴趣点数据;当所述兴趣点数据的数量超过筛选数量阈值时,将所述候选区域名确定为待筛选区域名。
[0193] 在一些实施例中,基于人工智能的兴趣点处理装置655还包括:用户位置获取模块,用于获取用户经纬度位置,根据所述用户经纬度位置确定用户经纬度编码区域;第一呈现模块,用于确定与所述用户经纬度编码区域相关的兴趣点簇,并呈现所述兴趣点簇的簇区域名;第二呈现模块,用于响应于针对所述簇区域名的互动操作,根据所述关联关系呈现与所述簇区域名关联的目标兴趣点数据。
[0194] 在一些实施例中,基于人工智能的兴趣点处理装置655还包括:上链模块,用于将所述簇区域名以及关联的所述目标兴趣点数据发送至区块链网络,以使所述区块链网络的节点将所述簇区域名以及所述目标兴趣点数据填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
[0195] 在一些实施例中,基于人工智能的兴趣点处理装置655还包括:合并模块,用于当第一兴趣点簇与第二兴趣点簇的中心经纬度位置之间的球面距离满足合并距离阈值、且所述第一兴趣点簇与所述第二兴趣点簇的簇区域名相同时,将所述第一兴趣点簇与所述第二兴趣点簇进行合并。
[0196] 在一些实施例中,识别模块6551,还用于:通过命名实体识别模型对所述兴趣点数据包括的地址进行处理,得到组织机构名首字及组织机构名非首字;将所述组织机构名首字及所述组织机构名非首字组合为候选区域名。
[0197] 在一些实施例中,基于人工智能的兴趣点处理装置655还包括:地址获取模块,用于获取包括前置地址及标注区域名的已标注地址;训练数据确定模块,用于将符合所述已标注地址的所述兴趣点数据确定为训练数据;模型训练模块,用于根据所述训练数据的地址及所述标注区域名,训练所述命名实体识别模型。
[0198] 本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图6A示出的基于人工智能的兴趣点处理方法。
[0199] 在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0200] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0201] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0202] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0203] 综上所述,本发明实施例通过DBSCAN聚类得到兴趣点簇,同时对候选区域名进行两次筛选得到簇区域名,最终建立簇区域名与簇内的目标兴趣点数据之间的关联关系,在出现新的区域名时能够有效识别,降低了人工标注成本,同时提升了兴趣点处理的效率并且,DBSCAN聚类能够发现任意形状的簇,适用于实际场景中商圈覆盖形状不定的情形,提升了最终建立的关联关系的准确性,便于进行兴趣点的准确导览。
[0204] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈