地址兴趣面模型的训练方法、地址的预测方法及装置与流程

文档序号:22931312发布日期:2020-11-13 16:30阅读:259来源:国知局
地址兴趣面模型的训练方法、地址的预测方法及装置与流程

本申请涉及自然语言处理和及机器学习技术领域,具体涉及一种地址兴趣面模型的训练方法、地址的预测方法及装置。



背景技术:

自然语言处理(naturelanguageprocessing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

aoi(areaofinterest),即信息面,也叫兴趣面。指的是地图数据中的区域状的地理实体。大厦、写字楼、广场、医院、学校、居住小区等区域都是独立的aoi,每个aoi包含的地址都有很多不同写法、有不同描述方式。地址写法的多样性使得地址与aoi之间的映射关系不能通过一个有限的字典映射集合来涵盖完整,如:软件产业基地、软基都是指同一个aoi。当同一个地物的中文地址写法多样,无法建立全面穷举的地址名称与地物标签间多对一的线性函数映射关系的问题,造成对地址预测的准确率较低。



技术实现要素:

本申请旨在提供一种地址兴趣面模型的训练方法、地址的预测方法及装置,旨在解决现有技术对地址预测的准确率较低的问题。

一方面,本申请提供一种地址兴趣面模型的训练方法,所述训练方法包括:

获取地址文本样本;

对所述地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

对所述文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

基于所述地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

其中,所述对所述地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列,包括:

对所述地址文本样本进行分词,得到多个第一地址文本分词和所述多个第一地址文本分词对应的词级序列;

对所述多个第一地址文本分词进行向量化,得到所述文本内容向量序列;

对所述词级序列进行向量化,得到所述文本词级向量序列。

其中,所述对所述地址文本样本进行分词,得到多个第一地址文本分词和所述多个第一地址文本分词对应的词级序列,包括:

对所述地址文本样本进行分词,得到多个第二地址文本分词和所述多个第二地址文本分词的词级;

对所述多个第二地址文本分词中词级满足预设条件的第二地址文本分词进行拆分,得到所述多个第一地址文本分词和所述多个第一地址文本分词对应的词级序列。

其中,所述基于所述地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型,包括:

基于所述地址文本向量序列获取待训练地址兴趣面模型的预测值;

获取所述待训练地址兴趣面模型的预测值与期望值的误差值;

若所述待训练地址兴趣面模型的预测值与期望值的误差值小于第一预设值,则结束训练,得到所述目标地址兴趣面模型。

其中,所述待训练地址兴趣面模型包括注意力层和/或掩膜层;

所述基于所述地址文本向量序列获取待训练地址兴趣面模型的预测值,包括:

基于所述注意力层和/或掩膜层和所述地址文本向量序列中各个向量的词级对所述地址文本向量序列中各个向量进行权重分配,得到权重分配后的地址文本向量序列;

基于所述权重分配后的所述地址文本向量序列获取所述待训练地址兴趣面模型的预测值。

其中,所述训练方法还包括:

若所述待训练地址兴趣面模型的预测值与期望值的误差值不小于第一预设值且小于第二预设值,则降低所述待训练地址兴趣面模型的学习率至预设学习率。

其中,所述基于所述地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型,之后,包括:

获取所述待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本;

将有歧义易预测错的地址文本存储至预设数据库。

一方面,本申请提供一种地址的预测方法,所述预测方法包括:

获取用户的地址预测请求;

基于所述地址预测请求获取地址预测文本;

基于预设的目标地址兴趣面模型对所述地址预测文本进行预测,得到所述地址预测文本对应的兴趣面预测结果,其中,所述预设的目标地址兴趣面模型为第一方面任意一项所述的目标地址兴趣面模型。

其中,所述基于预设的目标地址兴趣面模型对所述地址预测文本进行预测,得到所述地址预测文本对应的兴趣面预测结果,包括:

从预设数据库调用有歧义易预测错的地址文本;

判断所述地址预测文本是否为有歧义易预测错的地址文本;

若所述地址预测文本不为有歧义易预测错的地址文本,则基于预设的目标地址兴趣面模型对所述地址预测文本进行预测,得到所述地址预测文本对应的兴趣面预测结果。

一方面,本申请提供一种地址兴趣面模型的训练装置,所述训练装置包括:

获取单元,用于获取地址文本样本;

向量化单元,用于对所述地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

拼接单元,用于对所述文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

模型训练单元,用于基于所述地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

其中,所述向量化单元,还用于对所述地址文本样本进行分词,得到多个第一地址文本分词和所述多个第一地址文本分词对应的词级序列;

对所述多个第一地址文本分词进行向量化,得到所述文本内容向量序列;

对所述词级序列进行向量化,得到所述文本词级向量序列。

其中,所述向量化单元,还用于对所述地址文本样本进行分词,得到多个第二地址文本分词和所述多个第二地址文本分词的词级;

对所述多个第二地址文本分词中词级满足预设条件的第二地址文本分词进行拆分,得到所述多个第一地址文本分词和所述多个第一地址文本分词对应的词级序列。

其中,所述模型训练单元,还用于基于所述地址文本向量序列获取待训练地址兴趣面模型的预测值;

获取所述待训练地址兴趣面模型的预测值与期望值的误差值;

若所述待训练地址兴趣面模型的预测值与期望值的误差值小于第一预设值,则结束训练,得到所述目标地址兴趣面模型。

其中,所述待训练地址兴趣面模型包括注意力层和/或掩膜层;

所述模型训练单元,还用于基于所述注意力层和/或掩膜层和所述地址文本向量序列中各个向量的词级对所述地址文本向量序列中各个向量进行权重分配,得到权重分配后的地址文本向量序列;

基于所述权重分配后的所述地址文本向量序列获取所述待训练地址兴趣面模型的预测值。

其中,所述模型训练单元,还用于若所述待训练地址兴趣面模型的预测值与期望值的误差值不小于第一预设值且小于第二预设值,则降低所述待训练地址兴趣面模型的学习率至预设学习率。

其中,所述模型训练单元,还用于获取所述待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本;

将有歧义易预测错的地址文本存储至预设数据库。

一方面,本申请提供一种地址的预测装置,所述预测装置包括:

第一获取单元,用于获取用户的地址预测请求;

第二获取单元,用于基于所述地址预测请求获取地址预测文本;

地址预测单元,用于基于预设的目标地址兴趣面模型对所述地址预测文本进行预测,得到所述地址预测文本对应的兴趣面预测结果,其中,所述预设的目标地址兴趣面模型为第一方面任意一项所述的目标地址兴趣面模型。

其中,所述地址预测单元,还用于从预设数据库调用有歧义易预测错的地址文本;

判断所述地址预测文本是否为有歧义易预测错的地址文本;

若所述地址预测文本不为有歧义易预测错的地址文本,则基于预设的目标地址兴趣面模型对所述地址预测文本进行预测,得到所述地址预测文本对应的兴趣面预测结果。

一方面,本申请还提供一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的地址兴趣面模型的训练方法。

一方面,本申请还提供一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第二方面中任一项所述的地址的预测方法。

一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的地址兴趣面模型的训练方法中的步骤或者执行第二方面任一项所述的地址的预测方法中的步骤。

本申请提供一种地址兴趣面模型的训练方法,不仅对地址文本样本的文本内容进行向量化,还对地址文本样本的文本词级也进行了向量化,最后再合并使用,能够更好的表现地址文本样本向量化后的地址文本词级关系,从而能够得到预测能力更准确的目标地址兴趣面模型,提高对地址预测的准确率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的地址的预测系统的场景示意图;

图2是本申请实施例提供的地址兴趣面模型的训练方法的一个实施例流程示意图;

图3是本申请实施例提供的地址的预测方法的一个实施例流程示意图;

图4是本申请实施例中提供的地址兴趣面模型的训练装置一个实施例结构示意图;

图5是本申请实施例中提供的地址的预测装置一个实施例结构示意图;

图6是本申请实施例中提供的电子设备的一个实施例结构示意图;

图7是本申请实施例中提供的电子设备的另一个实施例结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

需要说明的是,本申请实施例方法由于是在电子设备中执行,各电子设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。

本申请实施例提供一种地址兴趣面模型的训练方法、地址的预测方法及装置,以下分别进行详细说明。

请参阅图1,图1为本申请实施例所提供的地址的预测系统的场景示意图,该地址的预测系统可以包括电子设备100,电子设备100中集成有地址的预测装置和/或地址兴趣面模型的训练装置,如图1中的电子设备。

本申请实施例中,该电子设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的电子设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloudcomputing)的大量计算机或网络服务器构成。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的电子设备,例如图1中仅示出1个电子设备,可以理解的,该地址的预测系统还可以包括一个或多个其他服务,具体此处不作限定。

另外,如图1所示,该地址的预测系统还可以包括存储器200,用于存储数据,如存储数据,例如训练数据等。

需要说明的是,图1所示的地址的预测系统的场景示意图仅仅是一个示例,本申请实施例描述的地址的预测系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着地址的预测系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

首先,本申请实施例中提供一种地址兴趣面模型的训练方法,该地址兴趣面模型的训练方法的执行主体为地址兴趣面模型的训练装置,该地址兴趣面模型的训练装置应用于电子设备,该地址兴趣面模型的训练方法包括:

获取地址文本样本;

对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

对文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

参阅图2,图2是本申请实施例提供的地址兴趣面模型的训练方法的一个实施例流程示意图。如图2所示,该地址兴趣面模型的训练方法包括:

s201、获取地址文本样本。

本申请实施例中,使用预设时间段内记录的标准地址地物标签为训练数据。标准地址地物标签包括地址文本样本和地址文本样本对应的地址兴趣面。从标准地址地物标签中获取地址文本样本。其中,地址文本样本为中文地址文本。当然,在其他实施例中,地址文本样本也可以是英文地址样本、日文地址样本等。地址文本样本是经过去掉标点、去掉特殊符号以及去掉重复词等方式进行地址规范标准化后的中文地址文本。例如,地址文本样本是:河北省张家口市崇礼区西湾子镇太平湖仙悦庄;所属的兴趣面为:0955fe2e20dc4283a5e90717b6b21d51。

在一个具体的实施例中,对训练数据进行数据清洗,得到清洗后的训练数据,从清洗后的训练数据获取地址文本样本。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机而不是人工完成。

在一个优选的实施例中,使用spark并行计算框架清洗海量训练数据,使训练集已是最终无需再预处理数据集,保证模型训练迭代效率。spark是加州大学伯克利分校的amp实验室所开源的类hadoopmapreduce的通用并行框架,spark,拥有hadoopmapreduce所具有的优点;但不同于mapreduce的是job中间输出结果可以保存在内存中,从而不再需要读写hdfs,因此spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。spark是一种与hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使spark在某些工作负载方面表现得更加优越,换句话说,spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

在其他实施例中,也可以采用python的pandas框架、kettle框架、rapidminer框架等对训练数据进行清洗。

s202、对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列。

本申请实施例中,对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列,包括:

(1)对地址文本样本进行分词,得到多个第一地址文本分词和多个第一地址文本分词对应的词级序列。

在一个具体的实施例中,对地址文本样本进行分词,得到多个第一地址文本分词,对每个第一地址文本分词进行词级标注,得到多个第一地址文本分词对应的词级序列。例如,地址文本样本的词级共有10个词级,分别为省、市、区、街道、道路、道路编号、园区、楼栋、单元、房号。当然,也可地址文本样本的词级也可以是18个词级、17个词级或者其他数量的词级,根据具体情况设置,本申请对此不作限定。词级是地址文本分词后,分词后每个分词的所属层级,表示分词后的每个分词的重要程度,例如,省份信息和楼层信息这样的词级,对模型训练不起作用,并不重要。

例如,地址文本样本为“广东省深圳市南山区南海大道3688号深圳大学”,分词之后,得到:广东省^1|深圳市^2|南山区^3|南海大道^9|3688号^11|深圳大学^13。“深圳大学”是第一地址文本分词,13就是“深圳大学”的词级。多个第一地址文本分词分别为:广东省|深圳市|南山区|南海大道|3688号|深圳大学,多个第一地址文本分词对应的词级序列为:1、2、3、9、11、13。

在模型训练时,省份信息和楼层信息这样的词级,对模型训练不起作用,并不重要。因此模型训练前会对非相关的词级的词进行删除预处理。为了提高模型训练的效率,同时提高模型对关键词汇的关注度,对不重要词级的分词进行过滤,对重要词级的分词进行再次分词,实行两级分词。

在另一个具体的实施例中,首先对地址文本样本进行分词,得到多个第二地址文本分词和多个第二地址文本分词的词级。具体的,利用预设的分词工具对地址文本样本进行分词得到多个第二地址文本,对每个第二地址文本进行词级标注,得到多个第二地址文本分词的词级。

具体的,可以通过jieba、thulac、snownlp、pynlpir、corenlp以及pyltp等分词工具对地址文本样本进行分词,本申请对此不作限定。例如,jieba分词工具支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。根据具体情况选用具体的分词模式,本申请对此不作限定。

将多个第二地址文本分词中词级满足预设条件的第二地址文本分词进行拆分,得到多个第一地址文本分词和多个第一地址文本分词的对应的词级序列。具体的,预设条件为词级大于预设词级。预设词级可以为8、9、12、11等,根据具体情况设定,本申请对此不作限定。词级满足预设条件表明该第二地址文本分词对预测结果很重要。因此,只将词级满足预设条件的第二地址文本分词进行拆分,然后进行后续训练,而将词级不满足预设条件的第二地址文本分词进行剔除,能够减少训练数据,提高模型训练效率。

进一步的,在多个第二地址文本分词中词级满足预设条件的第二地址文本分词中,将文本长度大于预设文本长度的第二地址文本分词进行拆分。其中,预设文本长度可以为5、6等,根据具体情况设定。文本长度大于预设文本长度表明该第二地址文本分词的文本长度非常的长,有必要对这个词进行进一步的分词,来提取有用信息。

例如,第二地址文本分词为“南山区第六人民医院”,词级为13,文本长度为9,预设词级为12,预设文本长度为6,第二地址文本分词满足预设条件。将词级满足预设条件的第二地址文本分词进行拆分,得到多个第一地址文本分词和多个第一地址文本分词的对应的词级序列。具体的,通过是jieba、thulac、snownlp、pynlpir、corenlp以及pyltp等分词工具对第二地址文本分词进行拆分。

(2)对多个第一地址文本分词进行向量化,得到文本内容向量序列。

本申请实施例中,将多个第一地址文本分词输入词向量转化模型,基于词向量转化模型得到文本内容向量序列。词向量转化模型可以是word2vec模型、cbow模型、glove模型以及kip-gram模型中的一种或多种组合。词向量是深度学习中的一种词语的分布式表示,将词语表示成一个定长连续的稠密向量。

word2vec模型,是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。

cbow(连续词袋模型,continuousbag-of-wordsmodel)是个在自然语言处理和信息检索下被简化的表达模型。

skip-gram模型是一个简单但却非常实用的模型。在自然语言处理中,语料的选取是一个相当重要的问题:第一,语料必须充分。一方面词典的词量要足够大,另一方面要尽可能多地包含反映词语之间关系的句子,例如,只有“鱼在水中游”这种句式在语料中尽可能地多,模型才能够学习到该句中的语义和语法关系,这和人类学习自然语言一个道理,重复的次数多了,也就会模仿了;第二,语料必须准确。也就是说所选取的语料能够正确反映该语言的语义和语法关系,这一点似乎不难做到,例如中文里,《人民日报》的语料比较准确。但是,更多的时候,并不是语料的选取引发了对准确性问题的担忧,而是处理的方法。n元模型中,因为窗口大小的限制,导致超出窗口范围的词语与当前词之间的关系不能被正确地反映到模型之中,如果单纯扩大窗口大小又会增加训练的复杂度。skip-gram模型的提出很好地解决了这些问题。顾名思义,skip-gram就是“跳过某些符号”,例如,句子“中国足球踢得真是太烂了”有4个3元词组,分别是“中国足球踢得”、“足球踢得真是”、“踢得真是太烂”、“真是太烂了”,可是我们发现,这个句子的本意就是“中国足球太烂”可是上述4个3元词组并不能反映出这个信息。skip-gram模型却允许某些词被跳过,因此可以组成“中国足球太烂”这个3元词组。如果允许跳过2个词,即2-skip-gram。

优选的,通过word2vec模型对多个第一地址文本分词进行向量化处理,得到文本内容向量序列。其中,word2vec模型为使用地址文本语料训练过的word2vec模型。

(3)对词级序列进行向量化,得到文本词级向量序列。

本申请实施例中,将词级序列输入词向量转化模型,基于词向量转化模型得到文本词级向量序列。词向量转化模型可以是word2vec模型、cbow模型、glove模型以及kip-gram模型中的一种或多种组合。词向量是深度学习中的一种词语的分布式表示,将词语表示成一个定长连续的稠密向量。

优选的,通过word2vec模型对词级序列进行向量化处理,得到文本词级向量序列。其中,word2vec模型为使用地址词级语料训练过的word2vec模型。

s203、对文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列。

本申请实施例中,将文本内容向量序列和文本词级向量序列进行加和处理,拼接形成地址文本向量序列。地址文本向量序列为文本内容向量序列和文本词级向量序列的和向量。使用这个地址文本向量序列作为待训练地址兴趣面模型的输入,待训练地址兴趣面模型即可对地址文本向量序列进行预测,得到预测值。地址文本向量序列中的每个部分是有层级关系的,把层级关系代入了向量,使待训练地址兴趣面模型对地址文本向量序列中每个分词向量的地址位置更敏感,同时对有相同分词不同词级的分词向量也能进行区分。

s204、基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

本申请实施例中,待训练地址兴趣面模型可以包括循环神经网络模型,也可以包括卷积神经网络。优选的,待训练地址兴趣面模型包括长短期记忆模型。循环神经网络(rnn,recurrentneuralnetwork)是一种节点定向连接成环的人工神经网络。这种网络的内部状态可以展示动态时序行为。不同于前馈神经网络的是,rnn可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。长短期记忆模型(lstm,longshort-termmemory)是rnn(recurrentneuralnetwork)的一种。长短期记忆模型由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。长短期记忆模型是一种具有链状结构的特殊的循环神经网络,和普通的循环神经网络相比,长短期记忆模型的重复循环模块具有不同的结构,主要有四层神经网络组成,网络层之间的交互是复杂的。长短期记忆模型的核心是由每个传输单元的状态决定。长短期记忆模型的另一个优势就是可以对单元状态中信息的传输进行控制,并通过门限结构管理信息,门限的作用就是对信息进行选择,使其有选择性地通过。阈值的组成主要有sigmoid神经网络层和逐点乘法组成。输出表示信息传递的选择程度,0表示不允许任何信息通过,1表示都可以通过。lstm一共有三个门限,分别为:输入门、遗忘门和输出门。通过这三种门限结构对单元状态进行控制和保护。

待训练地址兴趣面模型也可以是卷积神经网络(convolutionalneuralnetworks,cnn)是一类包含卷积计算且具有深度结构的前馈神经网络(feedforwardneuralnetworks),是深度学习(deeplearning)的代表算法之一。卷积神经网络具有表征学习(representationlearning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariantclassification),因此也被称为“平移不变人工神经网络(shift-invariantartificialneuralnetworks,siann)”。卷积神经网络一般由输入层、卷积层、激活函数、池化层、全连接层组成。

在一个具体的实施例中,采用pytorch框架基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。2017年1月,facebook人工智能研究院团队在github上开源了pytorch,并迅速占领github热度榜榜。作为一个2017年才发布,具有先进设计理念的框架。相比较其他深度学习模型建模训练框架而言,pytorch框架有很多优点,如:动态计算图,模型定制灵活,调试方便,发展趋势用户增长率高等特点。

在另一个具体的实施例中,采用tensorflow框架基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

在其他实施例中,还可以采用keras框架、mxnet框架等基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

本申请实施例中,基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型,可以包括:

(1)基于地址文本向量序列获取待训练地址兴趣面模型的预测值。

在一个具体的实施例中,待训练地址兴趣面模型还包括注意力层和/或掩膜层。基于注意力层和/或掩膜层和地址文本向量序列中各个向量的词级对地址文本向量序列中各个向量进行权重分配,得到权重分配后的地址文本向量序列。

注意力层为基于注意力机制的网络层。神经注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力:选择特定的输入。注意力可以应用于任何类型的输入而不管其形状如何。在计算能力有限情况下,注意力机制(attentionmechanism)是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。

具体的,注意力层对地址文本向量序列的每个节点进行一个权重矩阵计算,将预定位置的向量的权重升高,该位置对在权重计算后的向量影响就高,计算后的向量就包含更多该位置信息。掩膜层对地址文本向量序列中预定位置的向量进行屏蔽,和和不会把该位置向量进行计算。例如,可以在注意力层中对包含13词级的向量权重提高,增加13词级对输出的影响。在掩模层中对1词级的向量进行屏蔽。

在得到权重分配后的地址文本向量序列,基于权重分配后的地址文本向量序列获取待训练地址兴趣面模型的预测值。

(2)获取待训练地址兴趣面模型的预测值与期望值的误差值。

具体的,待训练地址兴趣面模型的预测值与期望值的误差值通过待训练地址兴趣面模型的损失函数来计算。

损失函数是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。损失函数的作用就是描述模型的预测值与期望值之间的差距大小。

例如,在标准地址地物标签中,地址文本样本是:河北省张家口市崇礼区西湾子镇太平湖仙悦庄;所属的兴趣面为:a1。将地址文本样本输入待训练地址兴趣面模型,得到待训练地址兴趣面模型的预测值为a2。则a1为期望值,a2为预测值。

(3)若待训练地址兴趣面模型的预测值与期望值的误差值小于第一预设值,则结束训练,得到目标地址兴趣面模型。

本申请实施例中,第一预设值可根据具体情况设置,本申请对此不作限定。若待训练地址兴趣面模型的预测值与期望值的误差值不小于第一预设值,则根据误差值更新待训练地址兴趣面模型的权重参数,重新迭代训练。

进一步的,若待训练地址兴趣面模型的预测值与期望值的误差值不小于第一预设值且小于第二预设值,则降低待训练地址兴趣面模型的学习率至预设学习率。第一预设值和第二预设值可根据具体情况设置,本申请对此不作限定。例如,预设学习率为当前学习率的1/10,可根据情况设定。学习率(learningrate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。

待训练地址兴趣面模型开始会以给定学习率进行训练,学习率越大在损失函数梯度向下求解过程中前进梯度就越大,收敛的就更快。比如一个学习率为r的模型,进行100个epoch后能收敛,如果学习率为2r,那可能60个epoch就能收敛。问题是在损失函数快要收敛的时候,梯度变化会很小,如果维持学习率不变就会导致找到的收敛点存在误差。在模型训练中,模型训练了三轮,每轮若干个epoch,每轮的学习率都为前一轮1/10,这样是为了找到最准确的收敛点。

进一步的,获取待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本;将有歧义易预测错的地址文本存储至预设数据库。预设数据库可以是redis或mysql。

具体的,可通过人工比对获取待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本,人工将有歧义易预测错的地址文本输入电子设备,电子设备获取待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本;将有歧义易预测错的地址文本存储至预设数据库。有歧义易预测错的地址文本指的是地址不详细、地址中的某些词存在不同的地理位置指向,地址中存在地理位置矛盾,地址存在错别字缺字多字导致指向了其它地理位置。有歧义易预测错的地址文本有以下特点:可能是有歧义地址,可能模型没能泛化到这个地址,可能地址是正确的但是训练数据中相同地址标签是错误的。

进一步的,将有歧义易预测错的地址文本和有歧义易预测错的地址文本对应的真实标签存储至预设数据库。该真实标签可以由人工进行输入,保证有歧义易预测错的地址文本的真实标签的准确性。

参阅图3,图3是本申请实施例提供的地址的预测方法的一个实施例流程示意图。如图3所示,该地址的预测方法包括:

s301、获取用户的地址预测请求。

本申请实施例中,用户通过客户端向电子设备发送地址预测请求,电子设备获取用户的地址预测请求。其中,地址预测请求中包括地址预测文本。

在一个具体的实施中,电子设备使用nginx+gevent+flask框架提供高并发的客户端访问服务。电子设备使用rest方式获取用户的地址预测请求。rest(表现层状态转换,英文:representationalstatetransfer)是roythomasfielding博士于2000年在他的博士论文中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络中互相传递信息。

比如:用户在客户端上的浏览器地址栏输入:“http://10.82.232.40:9514/tc?citycode=313&address=河北省张家口市崇礼区西湾子镇太平湖仙悦庄”,或将该url地址作为其他客户端程序调用请求时,电子设备中将通过上述rest方式接收地址预测请求。

s302、基于地址预测请求获取地址预测文本。

s303、基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果。

其中,预设的目标地址兴趣面模型为以上任一实施例中的目标地址兴趣面模型。

在一个具体的实施例中,在基于地址预测请求获取地址预测文本后,从预设数据库调用有歧义易预测错的地址文本;判断地址预测文本是否为有歧义易预测错的地址文本;若地址预测文本不为有歧义易预测错的地址文本,则基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果。若地址预测文本为有歧义易预测错的地址文本,则从预设数据库中获取地址预测文本对应的真实标签,作为兴趣面预测结果。

在获取兴趣预测结果后,将兴趣面预测结果返回给客户端。可以通过json格式字符串的方式将兴趣面预测结果返回给客户端。

为了更好实施本申请实施例中地址兴趣面模型的训练方法,在地址兴趣面模型的训练方法基础之上,本申请实施例中还提供一种地址兴趣面模型的训练装置,如图4所示,图4是本申请实施例中提供的地址兴趣面模型的训练装置一个实施例结构示意图,该地址兴趣面模型的训练装置包括:

获取单元401,用于获取地址文本样本;

向量化单元402,用于对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

拼接单元403,用于对文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

模型训练单元404,用于基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

其中,向量化单元402,还用于对地址文本样本进行分词,得到多个第一地址文本分词和多个第一地址文本分词对应的词级序列;

对多个第一地址文本分词进行向量化,得到文本内容向量序列;

对词级序列进行向量化,得到文本词级向量序列。

其中,向量化单元402,还用于对地址文本样本进行分词,得到多个第二地址文本分词和多个第二地址文本分词的词级;

对多个第二地址文本分词中词级满足预设条件的第二地址文本分词进行拆分,得到多个第一地址文本分词和多个第一地址文本分词对应的词级序列。

其中,模型训练单元404,还用于基于地址文本向量序列获取待训练地址兴趣面模型的预测值;

获取待训练地址兴趣面模型的预测值与期望值的误差值;

若待训练地址兴趣面模型的预测值与期望值的误差值小于第一预设值,则结束训练,得到目标地址兴趣面模型。

其中,待训练地址兴趣面模型包括注意力层和/或掩膜层;

模型训练单元404,还用于基于注意力层和/或掩膜层和地址文本向量序列中各个向量的词级对地址文本向量序列中各个向量进行权重分配,得到权重分配后的地址文本向量序列;

基于权重分配后的地址文本向量序列获取待训练地址兴趣面模型的预测值。

其中,模型训练单元404,还用于若待训练地址兴趣面模型的预测值与期望值的误差值不小于第一预设值且小于第二预设值,则降低待训练地址兴趣面模型的学习率至预设学习率。

其中,模型训练单元404,还用于获取待训练地址兴趣面模型训练过程中有歧义易预测错的地址文本;

将有歧义易预测错的地址文本存储至预设数据库。

为了更好实施本申请实施例中地址的预测方法,在地址的预测方法基础之上,本申请实施例中还提供一种地址的预测装置,如图5所示,图5是本申请实施例中提供的地址的预测装置一个实施例结构示意图,该地址的预测装置包括:

第一获取单元501,用于获取用户的地址预测请求;

第二获取单元502,用于基于地址预测请求获取地址预测文本;

地址预测单元503,用于基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果,其中,预设的目标地址兴趣面模型为第一方面任意一项的目标地址兴趣面模型。

其中,地址预测单元503,还用于从预设数据库调用有歧义易预测错的地址文本;

判断地址预测文本是否为有歧义易预测错的地址文本;

若地址预测文本不为有歧义易预测错的地址文本,则基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果。

本申请实施例还提供一种电子设备,其集成了本申请实施例所提供的任一种地址兴趣面模型的训练装置。如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。

存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。

电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:

获取地址文本样本;

对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

对文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型。

本申请实施例还提供一种电子设备,其集成了本申请实施例所提供的任一种地址的预测装置。如图7所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器701是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。

存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。

电子设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:

获取用户的地址预测请求;

基于地址预测请求获取地址预测文本;

基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种地址兴趣面模型的训练方法中的步骤或者地址的预测方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:

获取地址文本样本;

对地址文本样本进行向量化,得到文本内容向量序列和文本词级向量序列;

对文本内容向量序列和文本词级向量序列进行拼接,得到地址文本向量序列;

基于地址文本向量序列对待训练地址兴趣面模型进行训练,得到目标地址兴趣面模型;

或者,获取用户的地址预测请求;

基于地址预测请求获取地址预测文本;

基于预设的目标地址兴趣面模型对地址预测文本进行预测,得到地址预测文本对应的兴趣面预测结果。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。

具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种地址兴趣面模型的训练方法、地址的预测方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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