用户轨迹识别方法、装置、设备及存储介质与流程

文档序号:26050631发布日期:2021-07-27 15:25阅读:63来源:国知局
用户轨迹识别方法、装置、设备及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种用户轨迹识别方法、装置、设备及存储介质。



背景技术:

智能终端及定位技术的迅猛发展极大的推动了基于位置服务应用的普及,如今,用户是很多企业提供服务的核心基础,通过分析用户的位置变化可以对用户行为进行描述,对于优化用户推荐系统、提升企业的服务质量、助力智慧城市布局等方面有着重大意义,考虑到用户的日常移动轨迹中包含了用户在时间与空间上的信息,与用户的日常行为有着密切关联,对于用户轨迹的研究一直受到学者们的关注。

目前应用于用户轨迹识别的主要方法是手机gps识别、手机基站识别。目前通过手机gps和基站识别用户轨迹存在以下不足。第一,由于现有gps和基站因为信号质量的原因存在0-100米的误差,造成用户轨迹判断错误。第二,同一个地址或者位置,会存在多个poi(pointofinterest,),无法精确判断用户实际轨迹。



技术实现要素:

本发明的主要目的在于解决现有的用户轨迹识别方式识别用户实际轨迹精度低的技术问题。

本发明第一方面提供了一种用户轨迹识别方法,包括:获取用户在待识别时间段的原始wifi数据和gps信息,所述原始wifi数据包括wifi连接时间;对所述原始wifi数据进行数据预处理,得到待识别数据;根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果;若所述一次识别结果为识别成功,则得到所述待识别数据的地点类别;若所述一次识别结果为识别失败,则将所述待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,所述二次识别结果包括所述待识别数据的地点类别;根据所述wifi连接时间将所述待识别段进行切片划分,得到至少一段wifi连接时间段,并根据所述待识别数据的地点类别对所述wifi连接时间段进行标注,得到用户位置标注信息;根据所述用户位置标注信息、所述原始wifi数据和所述gps信息,生成所述用户的用户轨迹。

可选的,在本发明第一方面的第一种实现方式中,所述原始wifi数据包括wifi名称数据,所述对所述原始wifi数据进行数据预处理,得到待识别数据包括:对所述wifi名称数据进行数据清洗处理,得到数据清洗结果;将所述数据清洗结果中的wifi名称数据进行分词处理,得到wifi分词数组;将所述wifi分词数组中的停用词进行剔除,得到待识别数据。

可选的,在本发明第一方面的第二种实现方式中,所述将所述数据清洗结果中的wifi名称数据进行分词处理,得到wifi分词数组包括:对所述数据清洗结果中的wifi名称数据进行单字切分,得到序列数组;根据预设的前缀词典,构建所述序列数组的有向无回图,并分别计算所述有向无回图中各路径的概率;根据所述有向无回图中最大概率对应的路径,得到最优分词结果,并根据所述最优分词结果对所述数据清洗结果中的wifi名称数据进行分词,得到wifi分词数组。

可选的,在本发明第一方面的第三种实现方式中,所述根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果包括:将所述待识别数据与所述专家规则词典中的地点单词进行匹配;若匹配成功,则将所述待识别数据匹配成功的地点单词对应的地点类别作为一次识别结果;若匹配失败,则将所述一次识别结果设为识别失败。

可选的,在本发明第一方面的第四种实现方式中,所述将所述待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果包括:将所述待识别数据输入至所述wifi识别模型中的词向量层,将所述待识别数据转化成词向量序列;将所述词向量输入至所述wifi识别模型中的最大池化层,得到最大池化结果;将所述最大池化结果输入至所述wifi识别模型中的全连接隐藏层,并通过softmax函数,对所述全连接隐藏层的输出结果进行分类,得到二次识别结果。

可选的,在本发明第一方面的第五种实现方式中,所述wifi识别模型通过以下步骤训练得到:获取历史wifi数据和预设的神经网络模型,并初始化所述神经网络模型中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数,所述历史wifi数据包括人工标识的地点类别;将所述历史wifi数据输入所述神经网络模型中,得到预测的地点类别;根据所述历史wifi数据通过人工标识的地点类别和通过神经网络模型预测的地点类别,计算预设的损失函数,得到损失值,并判断所述损失值是否小于预设阈值;若是,则根据所述神经网络模型中词向量层、最大池化层和全连接隐藏层的网络参数确定wifi识别模型;若否,则根据所述损失值通过反向传播算法更新所述神经网络模型的网络参数,反复迭代模型训练过程,直至损失值小于预设阈值,并确定训练后的神经网络模型的中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数确定wifi识别模型。

可选的,在本发明第一方面的第六种实现方式中,其特征在于,所述根据所述wifi连接时间将所述待识别段进行切片划分,得到至少一段wifi连接时间段,并根据所述待识别数据的地点类别对所述wifi连接时间段进行标注,得到用户位置标注信息包括:将所述待识别时间段根据所述原始wifi数据的wifi连接时间进行切片划分,得到至少一段wifi连接时间段;根据所述待识别时间段中各原始wifi数据与各待识别数据的对应关系,确定各原始wifi数据对应的地点类别;根据所述原始wifi数据的地点类别和所述原始wifi数据对所述wifi连接时间段进行标注,得到用户位置标注信息。

本发明第二方面提供了一种用户轨迹识别装置,包括:获取模块,获取用户在待识别时间段的原始wifi数据和gps信息,所述原始wifi数据包括wifi连接时间;预处理模块,用于对所述原始wifi数据进行数据预处理,得到待识别数据;一次识别模块,用于根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果,当所述一次识别结果为识别成功时,则得到所述待识别数据的地点类别;二次识别模块,用于当所述一次识别结果为识别失败时,将所述待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,所述二次识别结果包括所述待识别数据的地点类别;标注模块,用于根据所述wifi连接时间将所述待识别段进行切片划分,得到至少一段wifi连接时间段,并根据所述待识别数据的地点类别对所述wifi连接时间段进行标注,得到用户位置标注信息;轨迹描绘模块,用于根据所述用户位置标注信息、所述原始wifi数据和所述gps信息,生成所述用户的用户轨迹。

可选的,在本发明第二方面的第一种实现方式中,所述预处理模块包括:数据清洗单元,用于对所述wifi名称数据进行数据清洗处理,得到数据清洗结果;分词单元,用于将所述数据清洗结果中的wifi名称数据进行分词处理,得到wifi分词数组;剔除单元,用于将所述wifi分词数组中的停用词进行剔除,得到待识别数据。

可选的,在本发明第二方面的第二种实现方式中,所述分词单元具体用于:对所述数据清洗结果中的wifi名称数据进行单字切分,得到序列数组;根据预设的前缀词典,构建所述序列数组的有向无回图,并分别计算所述有向无回图中各路径的概率;根据所述有向无回图中最大概率对应的路径,得到最优分词结果,并根据所述最优分词结果对所述数据清洗结果中的wifi名称数据进行分词,得到wifi分词数组。

可选的,在本发明第二方面的第三种实现方式中,所述一次识别模块具体用于:将所述待识别数据与所述专家规则词典中的地点单词进行匹配;若匹配成功,则将所述待识别数据匹配成功的地点单词对应的地点类别作为一次识别结果;若匹配失败,则将所述一次识别结果设为识别失败。

可选的,在本发明第二方面的第四种实现方式中,所述二次识别模块具体用于:将所述待识别数据输入至所述wifi识别模型中的词向量层,将所述待识别数据转化成词向量序列;将所述词向量输入至所述wifi识别模型中的最大池化层,得到最大池化结果;将所述最大池化结果输入至所述wifi识别模型中的全连接隐藏层,并通过softmax函数,对所述全连接隐藏层的输出结果进行分类,得到二次识别结果。

可选的,在本发明第二方面的第五种实现方式中,所述用户轨迹识别装置还包括模型训练模块,所述模型训练模块具体用于:获取历史wifi数据和预设的神经网络模型,并初始化所述神经网络模型中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数,所述历史wifi数据包括人工标识的地点类别;将所述历史wifi数据输入所述神经网络模型中,得到预测的地点类别;根据所述历史wifi数据通过人工标识的地点类别和通过神经网络模型预测的地点类别,计算预设的损失函数,得到损失值,并判断所述损失值是否小于预设阈值;若是,则根据所述神经网络模型中词向量层、最大池化层和全连接隐藏层的网络参数确定wifi识别模型;若否,则根据所述损失值通过反向传播算法更新所述神经网络模型的网络参数,反复迭代模型训练过程,直至损失值小于预设阈值,并确定训练后的神经网络模型的中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数确定wifi识别模型。

可选的,在本发明第二方面的第六种实现方式中,所述标注模块具体用于:将所述待识别时间段根据所述原始wifi数据的wifi连接时间进行切片划分,得到至少一段wifi连接时间段;根据所述待识别时间段中各原始wifi数据与各待识别数据的对应关系,确定各原始wifi数据对应的地点类别;根据所述原始wifi数据的地点类别和所述原始wifi数据对所述wifi连接时间段进行标注,得到用户位置标注信息。

本发明第三方面提供了一种用户轨迹识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述用户轨迹识别设备执行上述的用户轨迹识别方法的步骤。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的用户轨迹识别方法的步骤。

本发明的技术方案中,获取用户在待识别时间段的原始wifi数据和gps信息,原始wifi数据包括wifi连接时间;对原始wifi数据进行数据预处理,得到待识别数据;根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;若一次识别结果为识别成功,则得到待识别数据的地点类别;若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,二次识别结果包括待识别数据的地点类别;根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。本方法基于深度学习技术,对wifi数据进行用户位置标注信息的生成,根据用户位置标注信息和wifi数据进行小范围的精细用户轨迹识别,并结合gps信息进行大范围的广域用户轨迹识别,生成用户的用户轨迹,根据多种数据进行用户轨迹识别,提高用户轨迹的识别精度,可以自动化用户轨迹的识别流程。

附图说明

图1为本发明实施例中用户轨迹识别方法的第一个实施例示意图;

图2为本发明实施例中用户轨迹识别方法的第二个实施例示意图;

图3为本发明实施例中用户轨迹识别方法的第三个实施例示意图;

图4为本发明实施例中用户轨迹识别方法的第四个实施例示意图;

图5为本发明实施例中用户轨迹识别方法的第五个实施例示意图;

图6为本发明实施例中用户轨迹识别装置的一个实施例示意图;

图7为本发明实施例中用户轨迹识别装置的另一个实施例示意图;

图8为本发明实施例中用户轨迹识别设备的一个实施例示意图。

具体实施方式

本发明的技术方案中,获取用户在待识别时间段的原始wifi数据和gps信息,原始wifi数据包括wifi连接时间;对原始wifi数据进行数据预处理,得到待识别数据;根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;若一次识别结果为识别成功,则得到待识别数据的地点类别;若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,二次识别结果包括待识别数据的地点类别;根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。本方法基于深度学习技术,对wifi数据进行用户位置标注信息的生成,根据用户位置标注信息和wifi数据进行小范围的精细用户轨迹识别,并结合gps信息进行大范围的广域用户轨迹识别,生成用户的用户轨迹,根据多种数据进行用户轨迹识别,提高用户轨迹的识别精度,可以自动化用户轨迹的识别流程。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中用户轨迹识别方法的第一个实施例包括:

101、获取用户在待识别时间段的原始wifi数据和gps信息;

可以理解的是,本发明的执行主体可以为用户轨迹识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

需要强调的是,为保证数据的私密和安全性,上述原始wifi数据可以存储于一区块链的节点中。

在本实施例中,可以识别用户在一个时间段中的用户轨迹,待识别时间段的选择可以是一天或是一周时间,本发明不做限定。

在本实施例中,原始wifi数据主要包括用户在待识别时间段中连接的所有wifi的wifi名称,wifiid和连接的wifi设别的设备号和对应的wifi地址,其中每个wifi名称、wifiid和设备号一一对应,后续对wifi名称进行类别识别后,将识别的类别、wifi名称、wifiid和设备号共同组成用户轨迹。

在本实施例中,通过gps信息能够对待识别时间段的室外用户轨迹进行描绘,通过,通过原始wifi数据,能够进行室内定位,对用户在待识别时间段中的室内用户轨迹进行描绘,结合室内用户轨迹和室外用户轨迹,能够得到用户的总用户轨迹。

102、对原始wifi数据进行数据预处理,得到待识别数据;

在实际应用用,采集来的原始wifi数据有时候不一定完整,有时候没录上,有时候随便写个数字,也有一个特征有数据其他全部为0的数据,这些数据不满足算法本身的要求,比如回归模型中,相关性,共线性的特征,会导致算法无法收敛或失效,需要提前处理;在本实施例中,数据预处理主要数据清洗处理和分词处理,其中数据清洗主要删除异常数据,删除无效数据,删除空白数据,分词处理主要是将与原始wifi数据中的wifi名称数据进行分词,将wifi名称分解由多个词组成的数组,并去除停用词,停用词由没有实际含义的功能性词组成,如语气词、标点等,然后从wifi名称数组中删除这些停用词,剩下的为有效词,由有效词共同构建有效词组,这样做的目的是为了减少后续运算量。

在本实施例中,主要是通过结巴分词法对所述wifi名称进行分词处理,结巴分词法为python的结巴分词模块,该方法支持精确模式、全模式和搜索引擎模式三种分词模式。通过预设的停用词典,可以将wifi名称数据中的停用词进行剔除,可以根据不同需求可以增加停用词词典的停用词数量。

103、根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;

在本实施例中,针对wifi名称中一些特定词语,就是识别wifi名称的类别,如包含“机场”、“火车站”一般为交通出行;包含“饭店”一般为餐饮;包含常见路由器品牌名则一般为家用wifi。针对一些特别的词组,建立专家规则词典,字典包含类型和类别对应的特定单词。此外,针对特定应用场景,我们也能建立特殊字典,例如汽车品牌名字典用于识别汽车销售、汽车服务等场所wifi;ktv、会所、马术等店名字典用于识别高端消费场所wifi等。遍历上一步输出的wifi名称数组,如果命中字典中的规则单词,则将改wifi名称标记为指定类别。专家识别规则能够对大部分包含关键词的wifi名称进行分类标识,有效减少后续建模数据量,并且针对特定场所wifi做特殊规则筛选以提高识别的准确度。

104、若一次识别结果为识别成功,则得到待识别数据的地点类别;

105、若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,二次识别结果包括所述待识别数据的地点类别;

在本实施例中,通过专家规则词典进行一次识别,通过专家规则词典遍历上一步输出的wifi名称数组,如果均未命中字典中的规则单词,则确定未一次识别失败,需要进行二次识别,通过预设的wifi识别模型进行二次识别,其中,利用机器自动学习的能力,通过已经标识好的训练数据,通过自动化训练建立wifi识别模型。

在本实施例中,wifi识别模型是使用dnn(深度神经网络)构成,dnn模型包括词向量层、最大池化层、全连接隐层和输出层,通过词向量层将wifi名称数组中词语映射到词向量,最大池化在时间序列上进行,池化过程消除了不同语料样本在单词数量多少上的差异,并提炼出词向量中每一下标位置上的最大值,经过最大池化后的向量被送入两个连续的全连接隐层进行计算,最后通过输出层输出一个归一化的概率分布,和为1的结果,输出层有多个神经元,神经元的数量与wifi需要分类的类别相同,因此第x个神经元的输出就可以认为是wifi名称数据属于第x类wifi类别的预测概率,将其中的最大值对应的wifi类别作为wifi名称数据的类别,并作为二次识别结果。

106、根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;

在本实施例中,通过专家规则词典获得一次识别结果,通过wifi识别模型得到二次识别结果,一次识别结果和二次识别结果中均有原始wifi数据对于的识别类型,将已经识别出类型的wifi名称数据,和用户连接的wifi名称行关联,这就可以识别出用户连接的wifi类别。通过对用户连接的wifi类别进行汇总,就可以识别出用户的用户位置标注信息。识别后的用户位置标注信息如下:

0-8点家庭住宅wifiid:aaabac设备号xxxxx;

9点交通出行wifiid:erdfhethrh设备号xyyyy;

10点-12点写字楼商业建筑wifiid:qegehwr设备号xyyx;

13点餐饮wifiid:ehfdrh设备号xxxyzz;

14-18点写字楼商业建筑wifiid:ethhdf设备号xxxyzzz;

18点-22点娱乐设施wifiid:ehdfhr设备号xxxyzzzz;

22点-24点家庭住宅wifiid:erhdsg设备号xxxyyzzzz。

107、根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。

在本实施例中,通过用户的gps信息,能够对用户定位,进而实现用户轨迹的生成,但是由于信号的严重衰减和多径效应,gps并不能在建筑物内有效地工作,存在0-100米的误差,造成用户轨迹判断错误,在室内时,通过原始wifi数据中的wifi地址信息,能够用户在室内的用户轨迹进行描绘,主要是通过位置指纹的方法,位置指纹是通过把实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。这个指纹可以是单维或多维的,比如待定位设备在接收或者发送信息,那么指纹可以是这个信息或信号的一个特征或多个特征,例如连接的wifi的信号强度,时延等,通过wifi地址和位置指纹对用户进行室内定位,结合gps的室外定位进行全方位的精准定位。

在本实施例中,通过结合用户的室内室外轨迹后,对轨迹中连接了wifi的地点结合用户位置标注信息进行标注,通过标注的信息和轨迹能够判断用户是否偏离日常轨迹,若偏离日常轨迹,则对该用户事先关联的人进行提醒,例如若用户为学生,用户轨迹在待识别时间段偏离日常轨迹,则可以对家长进行提醒。在本实施例中,通过用户轨迹的用户位置标注信息能够识别用户连接的wifi类型,若不是日常连接的wifi类型,则可以确定该用户偏离日常轨迹。

在本实施例中,获取用户在待识别时间段的原始wifi数据和gps信息,原始wifi数据包括wifi连接时间;对原始wifi数据进行数据预处理,得到待识别数据;根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;若一次识别结果为识别成功,则得到待识别数据的地点类别;若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,二次识别结果包括待识别数据的地点类别;根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。本方法基于深度学习技术,对wifi数据进行用户位置标注信息的生成,根据用户位置标注信息和wifi数据进行小范围的精细用户轨迹识别,并结合gps信息进行大范围的广域用户轨迹识别,生成用户的用户轨迹,根据多种数据进行用户轨迹识别,提高用户轨迹的识别精度,可以自动化用户轨迹的识别流程。

请参阅图2,本发明实施例中用户轨迹识别方法的第二个实施例包括:

201、获取用户在待识别时间段的原始wifi数据和gps信息;

本实施例中的步骤201与第一实施例中的步骤101相似,此处不再赘述。

202、对wifi名称数据进行数据清洗处理,得到数据清洗结果;

在本实施例中,在本实施例中,数据预处理主要数据清洗处理和分词处理,其中数据清洗主要删除异常数据,删除无效数据,删除空白数据,分词处理主要是将与原始wifi数据中的wifi名称数据进行分词,将wifi名称分解由多个词组成的数组,并去除停用词,停用词由没有实际含义的功能性词组成,如语气词、标点等,然后从wifi名称数组中删除这些停用词,剩下的为有效词,由有效词共同构建有效词组,这样做的目的是为了减少后续运算量。

203、对数据清洗结果中的wifi名称数据进行单字切分,得到序列数组;

204、根据预设的前缀词典,构建序列数组的有向无回图,并分别计算有向无回图中各路径的概率;

205、根据有向无回图中最大概率对应的路径,得到最优分词结果,并根据最优分词结果对数据清洗结果中的wifi名称数据进行分词,得到wifi分词数组;

206、将wifi分词数组中的停用词进行剔除,得到待识别数据;

在本实施例中,主要是通过结巴分词法对所述wifi名称进行分词处理,结巴分词法为python的结巴分词模块,该方法支持精确模式、全模式和搜索引擎模式三种分词模式。通过预设的停用词典,可以将wifi名称数据中的停用词进行剔除,可以根据不同需求可以增加停用词词典的停用词数量。

在本实施例中,基于统计词典构造前缀词典,如统计词典中的词“北京大学”的前缀分别是“北”、“北京”、“北京大”;词“大学”的前缀是“大”,将“北”、“北京”、“北京大”“大”作为前缀,然后基于前缀词典,对输入文本进行切分,对于“去”,没有前缀,那么就只有一种划分方式;对于“北”,则有“北”、“北京”、“北京大学”三种划分方式;对于“京”,也只有一种划分方式;对于“大”,则有“大”、“大学”两种划分方式,依次类推,可以得到每个字开始的前缀词的划分方式。如果待切分的字符串有m个字符,考虑每个字符左边和右边的位置,则有m+1个点对应,点的编号从0到m。把候选词看成边,可以根据词典生成一个切分词图。

在jieba分词中会标记每个词的频率(等于出现的次数除以总数,当总体样本很大时,可以近似的看做词的概率),在知道每个词出现的频率之后,就可以基于动态规划的方法来寻找概率最大的分词路径。一般的动态规划寻找最优路径都是从左往右,然而在这里是从右往左去寻找最优路径。这主要是因为汉语句子中的重心往往在后面,后面才是句子的主干,因此从右往左计算的正确率往往要高于从左往右的正确率。

207、根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;

208、若一次识别结果为识别成功,则得到待识别数据的地点类别;

209、若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,二次识别结果包括所述待识别数据的地点类别;

210、根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;

211、根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。

本实施例中的步骤207-211与第一实施例中的步骤103-107相似,此处不再赘述。

本实施例在上一实施例的基础上,详细描述了对原始wifi数据进行数据预处理,得到待识别数据的过程,通过对所述wifi名称数据进行数据清洗处理,得到数据清洗结果;将所述数据清洗结果中的wifi名称数据进行分词处理,得到wifi分词数组;将所述wifi分词数组中的停用词进行剔除,得到待识别数据。通过数据预处理中的数据清洗,分词和停用词剔除,剩下的为有效词,由有效词共同构建有效词组,减少后续运算量,提高用户轨迹识别效率。

请参阅图3,本发明实施例中用户轨迹识别方法的第三个实施例包括:

301、获取用户在待识别时间段的原始wifi数据和gps信息;

302、对原始wifi数据进行数据预处理,得到待识别数据;

本实施例中的步骤301-302与第一实施例中的步骤101-102相似,此处不再赘述。

303、将待识别数据与专家规则词典中的地点单词进行匹配;

304、若匹配成功,则将待识别数据匹配成功的地点单词对应的地点类别作为一次识别结果;

305、若匹配失败,则将一次识别结果设为识别失败;

在本实施例中,在本实施例中,针对wifi名称中一些特定词语,就是识别wifi名称的类别,如包含“机场”、“火车站”一般为交通出行;包含“饭店”一般为餐饮;包含常见路由器品牌名则一般为家用wifi。针对一些特别的词组,建立专家规则词典,字典包含类型和类别对应的特定单词。此外,针对特定应用场景,我们也能建立特殊字典,例如汽车品牌名字典用于识别汽车销售、汽车服务等场所wifi;ktv、会所、马术等店名字典用于识别高端消费场所wifi等。专家识别规则能够对大部分包含关键词的wifi名称进行分类标识,有效减少后续建模数据量,并且针对特定场所wifi做特殊规则筛选以提高识别的准确度。通过遍历上一步输出的wifi名称数组,如果命中字典中的规则单词,则将改wifi名称标记为指定类别,如果均未命中字典中的规则单词,则确定未一次识别失败,需要进行二次识别。

306、若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,二次识别结果包括所述待识别数据的地点类别;

307、根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;

308、根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。

本实施例中的步骤306-308与第一实施例中的步骤104-106相似,此处不再赘述。

本实施例在前实施例的基础上,详细描述了根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果,通过将所述待识别数据与所述专家规则词典中的地点单词进行匹配;若匹配成功,则将所述待识别数据匹配成功的地点单词对应的地点类别作为一次识别结果;若匹配失败,则将所述一次识别结果设为识别失败。通过预设的专家规则词典,对待识别数据进行粗略识别,识别成功的待识别数据不需要进行二次识别,提高了用户轨迹识别的效率。

请参阅图4,本发明实施例中用户轨迹识别方法的第四个实施例包括:

401、获取历史wifi数据和预设的神经网络模型,并初始化神经网络模型中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数,历史wifi数据包括人工标识的地点类别;

402、将历史wifi数据输入神经网络模型中,得到预测的地点类别;

403、根据历史wifi数据通过人工标识的地点类别和通过神经网络模型预测的地点类别,计算预设的损失函数,得到损失值,并判断损失值是否小于预设阈值;

404、若是,则根据神经网络模型中词向量层、最大池化层和全连接隐藏层的网络参数确定wifi识别模型;

405、若否,则根据损失值通过反向传播算法更新神经网络模型的网络参数,反复迭代模型训练过程,直至损失值小于预设阈值,并确定训练后的神经网络模型的中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数确定wifi识别模型;

在本实施例中,使用词向量模型(wordtovector,word2vec)预先训练历史wifi数据得到所述训练好的词向量权重,使用词向量权重,初始化所述神经网络模型的词向量层、卷积网络层和全连接层的参数。设定在第n训练轮次前不更新所述词向量层的参数,n为正整数,具体数值由技术人员根据实际情况进行设定。

在本实施例中,基于所述损失值卷积网络层和全连接隐藏层的参数,从n+1轮次训练起始调整所述词向量层的参数。将神经网络模型除了词向量层以外的其它网络层的学习率调整为初始学习率,将词向量层的学习率调整为比初始学习率小的学习率,继续训练所述神经网络模型直至收敛,即损失值小于误差阈值,确定收敛后的神经网络模型为司wifi识别模型。

406、获取用户在待识别时间段的原始wifi数据和gps信息;

407、对原始wifi数据进行数据预处理,得到待识别数据;

408、根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;

409、若一次识别结果为识别成功,则得到待识别数据的地点类别;

本实施例中的步骤406-409与第一实施例中的步骤101-104相似,此处不再赘述。

410、若一次识别结果为识别失败,将待识别数据输入至wifi识别模型中的词向量层,将待识别数据转化成词向量序列;

411、将词向量输入至wifi识别模型中的最大池化层,得到最大池化结果;

412、将最大池化结果输入至wifi识别模型中的全连接隐藏层,并通过softmax函数,对全连接隐藏层的输出结果进行分类,得到二次识别结果,二次识别结果包括待识别数据的地点类别;

在本实施例中,在本实施例中,wifi识别模型包括词向量层、最大池化层、全连接隐层和输出层,其中词向量层用于为了更好地表示不同词之间语义上的关系,首先将词语转化为固定维度的向量。训练完成后,词与词语义上的相似程度可以用它们的词向量之间的距离来表示,语义上越相似,距离越近,最大池化层用于消除了不同语料样本在单词数量多少上的差异,并提炼出词向量中每一下标位置上的最大值。经过池化后,词向量层输出的向量序列被转化为一条固定维度的向量。例如,假设最大池化前向量的序列为[[2,3,5],[7,3,6],[1,4,0]],则最大池化的结果为:[7,4,6]。全连接隐层用于经过最大池化后的向量被送入两个连续的隐层进行计算,隐层之间为全连接结构,输出层的神经元数量和样本的类别数一致,例如在二分类问题中,输出层会有2个神经元。通过softmax激活函数,输出结果是一个归一化的概率分布,和为1,本发明为多分类模型,输出层有多个神经元,神经元的数量与wifi需要分类的类别相同,因此第x个神经元的输出就可以认为是wifi名称数据属于第x类wifi类别的预测概率,将其中的最大值对应的wifi类别作为wifi名称数据的类别,并作为二次识别结果。

413、根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;

414、根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。

本实施例在前实施例的基础上,详细描述了将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果的过程,。通过将待识别数据输入至wifi识别模型中的词向量层,将待识别数据转化成词向量序列;将词向量输入至wifi识别模型中的最大池化层,得到最大池化结果;将最大池化结果输入至wifi识别模型中的全连接隐藏层,并通过softmax函数,对全连接隐藏层的输出结果进行分类,得到二次识别结果,其中,二次识别结果中包括待识别数据对应的地点类别。同时详细描述了wifi识别模型的具体训练过程,通过深度学习构建的模型进行wifi的识别,能够精确确定wifi数据的地点类别,进而提高用户轨迹的生成效率。

请参阅图5,本发明实施例中用户轨迹识别方法的第五个实施例包括:

501、获取用户在待识别时间段的原始wifi数据和gps信息;

502、对原始wifi数据进行数据预处理,得到待识别数据;

503、根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;

504、若一次识别结果为识别成功,则得到待识别数据的地点类别;

505、若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果;

本实施例中的步骤501-505与第一实施例中的步骤101-105相似,此处不再赘述。

506、根据一次识别结果或二次识别结果,获取待识别时间段中所有原始wifi数据的地点类别;

507、将待识别时间段根据原始wifi数据的wifi连接时间进行切片划分,得到至少一段wifi连接时间段;

508、根据所有原始wifi数据对应的wifi连接时间段和所有原始wifi数据对应的地点类别,生成待识别时间段的用户位置标注信息;

在本实施例中,用户在待识别时间段内,可能连接了多个wifi,并且连接多个wifi的可能存在中间间隔时间,例如待识别时间段是用户在某日的一天,用户连接wifi的时间分别为0-8点——9点——10点-12点——13点——14-18点——18点-22点——22点-24点,用户连接的wifi时将wifi连接时间作为原始wifi数据之一进行存储,并将已经识别出类型的wifi名称数据,和用户连接的wifi名称行关联,这就可以识别出用户连接的wifi类别。通过对用户连接的wifi类别进行汇总,就可以识别出用户的用户位置标注信息。识别后的用户位置标注信息如下:

0-8点家庭住宅wifiid:aaabac设备号xxxxx;

9点交通出行wifiid:erdfhethrh设备号xyyyy;

10点-12点写字楼商业建筑wifiid:qegehwr设备号xyyx;

13点餐饮wifiid:ehfdrh设备号xxxyzz;

14-18点写字楼商业建筑wifiid:ethhdf设备号xxxyzzz;

18点-22点娱乐设施wifiid:ehdfhr设备号xxxyzzzz;

22点-24点家庭住宅wifiid:erhdsg设备号xxxyyzzzz。

509、根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。

本实施例中的步骤509与第一实施例中的步骤107相似,此处不再赘述。

本实施例在前实施例的基础上,详细描述了根据一次识别结果或二次识别结果,生成用户在待识别时间段的用户位置标注信息。通过一次识别结果或二次识别结果,获取待识别时间段中所有原始wifi数据的地点类别;将待识别时间段根据原始wifi数据的wifi连接时间进行切片划分,得到至少一段wifi连接时间段;根据所有原始wifi数据对应的wifi连接时间段和所有原始wifi数据对应的地点类别,生成待识别时间段的用户位置标注信息。通过本方法,能够对wifi数据的地点类型进行标注,进而生成用户轨迹中各点的地点类型。

上面对本发明实施例中用户轨迹识别方法进行了描述,下面对本发明实施例中用户轨迹识别装置进行描述,请参阅图6,本发明实施例中用户轨迹识别装置一个实施例包括:

获取模块601,获取用户在待识别时间段的原始wifi数据和gps信息,所述原始wifi数据包括wifi连接时间;

预处理模块602,用于对所述原始wifi数据进行数据预处理,得到待识别数据;

一次识别模块603,用于根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果,当所述一次识别结果为识别成功时,则得到所述待识别数据的地点类别;

二次识别模块604,用于当所述一次识别结果为识别失败时,将所述待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,所述二次识别结果包括所述待识别数据的地点类别;

标注模块605,用于根据所述wifi连接时间将所述待识别段进行切片划分,得到至少一段wifi连接时间段,并根据所述待识别数据的地点类别对所述wifi连接时间段进行标注,得到用户位置标注信息;

轨迹描绘模块606,用于根据所述用户位置标注信息、所述原始wifi数据和所述gps信息,生成所述用户的用户轨迹。

需要强调的是,为保证数据的私密和安全性,上述原始wifi数据可以存储于一区块链的节点中。

本发明实施例中,所述用户轨迹识别装置运行上述用户轨迹识别方法,所述用户轨迹识别装置获取用户在待识别时间段的原始wifi数据和gps信息,原始wifi数据包括wifi连接时间;对原始wifi数据进行数据预处理,得到待识别数据;根据预设的专家规则词典,对待识别数据进行一次识别,得到一次识别结果;若一次识别结果为识别成功,则得到待识别数据的地点类别;若一次识别结果为识别失败,则将待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,二次识别结果包括待识别数据的地点类别;根据wifi连接时间将待识别段进行切片划分,得到至少一段wifi连接时间段,并根据待识别数据的地点类别对wifi连接时间段进行标注,得到用户位置标注信息;根据用户位置标注信息、原始wifi数据和gps信息,生成用户的用户轨迹。本方法基于深度学习技术,对wifi数据进行用户位置标注信息的生成,根据用户位置标注信息和wifi数据进行小范围的精细用户轨迹识别,并结合gps信息进行大范围的广域用户轨迹识别,生成用户的用户轨迹,根据多种数据进行用户轨迹识别,提高用户轨迹的识别精度,可以自动化用户轨迹的识别流程。

请参阅图7,本发明实施例中用户轨迹识别装置的第二个实施例包括:

获取模块601,获取用户在待识别时间段的原始wifi数据和gps信息,所述原始wifi数据包括wifi连接时间;

预处理模块602,用于对所述原始wifi数据进行数据预处理,得到待识别数据;

一次识别模块603,用于根据预设的专家规则词典,对所述待识别数据进行一次识别,得到一次识别结果,当所述一次识别结果为识别成功时,则得到所述待识别数据的地点类别;

二次识别模块604,用于当所述一次识别结果为识别失败时,将所述待识别数据输入至预先训练好的wifi识别模型中,得到二次识别结果,其中,所述二次识别结果包括所述待识别数据的地点类别;

标注模块605,用于根据所述wifi连接时间将所述待识别段进行切片划分,得到至少一段wifi连接时间段,并根据所述待识别数据的地点类别对所述wifi连接时间段进行标注,得到用户位置标注信息;

轨迹描绘模块606,用于根据所述用户位置标注信息、所述原始wifi数据和所述gps信息,生成所述用户的用户轨迹。

其中,所述预处理模块602包括:数据清洗单元6021,用于对所述wifi名称数据进行数据清洗处理,得到数据清洗结果;分词单元6022,用于将所述数据清洗结果中的wifi名称数据进行分词处理,得到wifi分词数组;剔除单元6023,用于将所述wifi分词数组中的停用词进行剔除,得到待识别数据。

可选的,所述分词单元6022具体用于:对所述数据清洗结果中的wifi名称数据进行单字切分,得到序列数组;根据预设的前缀词典,构建所述序列数组的有向无回图,并分别计算所述有向无回图中各路径的概率;根据所述有向无回图中最大概率对应的路径,得到最优分词结果,并根据所述最优分词结果对所述数据清洗结果中的wifi名称数据进行分词,得到wifi分词数组。

可选的,所述一次识别模块603具体用于:将所述待识别数据与所述专家规则词典中的地点单词进行匹配;若匹配成功,则将所述待识别数据匹配成功的地点单词对应的地点类别作为一次识别结果;若匹配失败,则将所述一次识别结果设为识别失败。

可选的,所述二次识别模块604具体用于:将所述待识别数据输入至所述wifi识别模型中的词向量层,将所述待识别数据转化成词向量序列;将所述词向量输入至所述wifi识别模型中的最大池化层,得到最大池化结果;将所述最大池化结果输入至所述wifi识别模型中的全连接隐藏层,并通过softmax函数,对所述全连接隐藏层的输出结果进行分类,得到二次识别结果。

可选的,所述用户轨迹识别装置还包括模型训练模块607,所述模型训练模块607具体用于:获取历史wifi数据和预设的神经网络模型,并初始化所述神经网络模型中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数,所述历史wifi数据包括人工标识的地点类别;将所述历史wifi数据输入所述神经网络模型中,得到预测的地点类别;根据所述历史wifi数据通过人工标识的地点类别和通过神经网络模型预测的地点类别,计算预设的损失函数,得到损失值,并判断所述损失值是否小于预设阈值;若是,则根据所述神经网络模型中词向量层、最大池化层和全连接隐藏层的网络参数确定wifi识别模型;若否,则根据所述损失值通过反向传播算法更新所述神经网络模型的网络参数,反复迭代模型训练过程,直至损失值小于预设阈值,并确定训练后的神经网络模型的中词向量层、最大池化层和的网络参数和全连接隐藏层的网络参数确定wifi识别模型。

可选的,所述标注模块606具体用于:将所述待识别时间段根据所述原始wifi数据的wifi连接时间进行切片划分,得到至少一段wifi连接时间段;根据所述待识别时间段中各原始wifi数据与各待识别数据的对应关系,确定各原始wifi数据对应的地点类别;根据所述原始wifi数据的地点类别和所述原始wifi数据对所述wifi连接时间段进行标注,得到用户位置标注信息。

本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,通过新增的模块,基于深度学习技术,对wifi数据进行用户位置标注信息的生成,根据所述用户位置标注信息和wifi数据进行小范围的精细用户轨迹识别,并结合gps信息进行大范围的广域用户轨迹识别,生成所述用户的用户轨迹,根据多种数据进行用户轨迹识别,提高用户轨迹的识别精度,可以自动化用户轨迹的识别流程。

上面图6和图7从模块化功能实体的角度对本发明实施例中的中用户轨迹识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中用户轨迹识别设备进行详细描述。

图8是本发明实施例提供的一种用户轨迹识别设备的结构示意图,该用户轨迹识别设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对用户轨迹识别设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在用户轨迹识别设备800上执行存储介质830中的一系列指令操作,以实现上述用户轨迹识别方法的步骤。

用户轨迹识别设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图8示出的用户轨迹识别设备结构并不构成对本申请提供的用户轨迹识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述用户轨迹识别方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1