CN111767476B - 一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 - Google Patents
一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 Download PDFInfo
- Publication number
- CN111767476B CN111767476B CN202010448763.8A CN202010448763A CN111767476B CN 111767476 B CN111767476 B CN 111767476B CN 202010448763 A CN202010448763 A CN 202010448763A CN 111767476 B CN111767476 B CN 111767476B
- Authority
- CN
- China
- Prior art keywords
- word
- chinese
- word segmentation
- index
- space
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
Abstract
本发明涉及计算机应用技术和测绘地理信息技术领域,具体涉及一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,本发明通过客户端发起服务访问请求、关键字预处理、中文语义分析、获取索引、检索标准地名地址数据库、结果排序和返回结果给客户端等步骤,通过引入HMM模型来改进以往的中文语义解析方法,从而实现对中文地址信息的准确理解和高效检索,并返回符合期望值的地理坐标,为时空大数据的空间分析提供服务支持;通过语义分析、中文分词、创建索引、访问标准地址数据库、计算匹配度、结果排序等步骤,实现了对中文地名地址的高精度、高效率匹配,为智慧城市时空大数据进行空间化提供支撑。
Description
技术领域
本发明涉及计算机应用技术和测绘地理信息技术领域,具体涉及一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法。
背景技术
根据自然资源部出台的《智慧城市时空大数据平台建设技术大纲(2019版)》要求,一个典型的智慧城市时空大数据平台至少应包括服务资源池、服务引擎、数据空间化引擎、业务流引擎、知识引擎和云端管理系统六个组成部分。数据空间化引擎作为其中的基础性组件之一,既是行业大数据空间化的媒介,也是智慧城市时空基础设施体系中不可或缺的重要组成部分。
目前国内对于中文地名地址解析和匹配的研究具有了一定基础,已有研究的一般做法是基于Lucene、IKAnalyzer等开源模块进行中文地名地址的机器识别后,再进行标准地址入库、搜索引擎正向、逆向、分级搜索、查询匹配等。但由于中文本身的复杂性和多义性,Lucene、IKAnalyzer等分词器本身对中文语义的理解不够理想,解析的准确性过于依赖自定义关键词词典,这无疑一方面会增加数据空间化引擎的研发难度和工作量,另一方面也降低了检索效率,且对于复杂文本判断的准确度有待进一步提高。
本发明所涉及的背景技术有:
(1)HMM模型
HMM模型是在马尔可夫链模型发展起来的一种统计分析模型,是一种基于统计的方法。它用来描述一个含有隐含未知参数的马尔可夫过程。它是一个双重随机过程,其一是用来描述状态的转移的马尔科夫链;其二是一个隐藏的过程,基于统计学来描述状态和观察值之间的对应关系,不能直接观察到。
HMM模型创立于20世纪70年代,现在语音识别、行为识别、文字识别及故障诊断等领域有了很大的成效。
(2)基于维特比算法的分词解码
在分词实例中,目标是把每个字打上最有可能的状态标识(B,M,E,S),据此来切分字串(单字词和词尾切开),问题转换为已知参数(O,π,A,B),求解最大概率词状态值序列S,即HMM的解码问题。
维特比(Viterbi)算法实际是用动态规划原理解HMM模型预测问题,即用动态规划(Dynamic Programming)求概率最大路径(最优路径)
(3)倒排索引
索引是提高引擎效率的核心,为了进行快速检索,需要把源数据处理成便于查询的索引文件。本发明采用倒排索引(inverted index)机制,也就是一种以关键词作为索引关键字和链表访问入口的索引结构,用来存储在全文检索下某个关键词在一个文档或者一组文档中存储位置的映射。
发明内容
针对现有技术的不足,本发明公开了一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,本发明通过引入HMM模型来改进以往的中文语义解析方法,从而实现对中文地址信息的准确理解和高效检索,并返回符合期望值的地理坐标,为时空大数据的空间分析提供服务支持。
本发明通过以下技术方案予以实现:
第一方面,本发明公开一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,所述方法包括以下步骤:
S1客户端采用POST方法向服务器提交HTTP请求,并由地名地址解析服务接收参数信息;
S2对查询关键字进行结构化处理,并将预处理后的结果提交给中文解析器;
S3中文解析器采用python语言编写的HMM模型进行机器识别,最终得到中文语义分词列表;
S4通过中文语义分词列表判断选择直接获取索引或构造分词集合后访问索引库获取索引;
S5根据索引进行地名地址数据的快速检索,并返回最终的匹配度结果;
S6根据匹配度和激励因子进行结果排序,并返回排序结果集合;
S7客户端接收JSON或XML字符串,通过解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
更进一步的,所述S3中,所述HMM模型是五元组(S,O,A,B,π)的表达式,包括:
隐含的状态集合S,S为S1S2…Sn,其中n为状态总数,所述S包含四种状态,用以代表该字在词语中的位置,分别为词头B、词中M、词尾E和单字词S;
观察值集合O,在模型中与隐含状态相关联,通过直接观测而得到,具体为汉字字串,其中O1O2…Ok代表字串的每个字,k即整个字串的长度;
初始状态概率π,为字串的第一个字属于(B,M,E,S)的初始概率分布(π1,π2,π3,π4);
状态转移概率矩阵A,是一个n*n的概率矩阵,A(i,j)表示对每个字从i状态到j状态转移的概率;
观察值概率分布矩阵B,是一个n*k的观察概率分布矩阵,bij表示在当前状态Si的情况下可观察单字是Oj的概率。
更进一步的,所述S3中,根据统计指标计算在待处理的中文地名地址描述信息,每个字符的B、E、M、S状态可能性矩阵,根据计算结果,来决定每个字符与相邻字符的组合,得到第一个分词结果列表,在此基础上,再去访问自定义词典,若中文地名地址描述信息中存在与自定义词典相同的字符组合,则使之强制成为一个分词且不再进行切分,并据此对第一个分词结果列表进行修正,得到中文语义分词列表。
更进一步的,所述S3中,对分词解码时采用维特比算法用动态规划求概率最大路径,具体如下:定义两个n×k的矩阵T1、T2,其中:
上式中T1(i,j)储存前一词的所有可能状态到当前词状态j的最大概率,T2储存这个最大概率时对应的前一词的状态,当对最后一次完成分析并求得最大概率后,就可通过T2逆推出前面词的状态,得出所有词的状态,进而进行切分操作。
更进一步的,所述S3中,自定义词典的生成包括以下步骤:
T1构建词典源数据文件,源数据文件是一个文本发明件,其中每一行存储一个独立的词条;
T2对源数据文件进行文本预处理,按照分类将源数据文件存储与不同的词典文件中,并根据词条长度的不同将其存入链表;
T3对链表进行排序操作,排序依据是各个字符的整形数值之和;
T4将经过排序的链表内容重新写回到对应的词典文件中,即完成了自定义词典的创建过程
更进一步的,所述S4中,若中文分词的结果若为单分词则直接获取索引,若为多分词结构,则需要构造分词集合后访问索引库获取索引;
其索引创建为,采用不定长字节编码方式,对索引文件进行压缩;支持动态索引,在保持现有索引不变的前提下,对动态追加新分词索引,并能够对细碎的索引文件进行归并。
更进一步的,所述S5中,根据索引进行地名地址数据的快速检索,若精确命中,则直接构造结果文件返回匹配结果,匹配度标识为1;若未精确命中,则按照逆向最大匹配法进行循环递归调用,并根据匹配度计算公式逐个计算分词的匹配度,返回最终的匹配度结果。
更进一步的,所述S6中,在匹配度差别较大的情况下,按照匹配度由高到低进行排序,激励因子不影响排序结果;在匹配度接近的情况下则要根据匹配度和类别的激励因子权重进行综合计算后,得到最终的排序结果,并返回结果集合。
更进一步的,所述S7中,所述JSON或XML字符串包括查询字符串、匹配度、空间坐标信息、状态信息等内容,客户端只需要解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
第二方面,本发明公开一种基于HMM模型的时空大数据空间化引擎构建系统,所述系统用于实现第一方面所述的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,包括自底向上的数据层、数据链路层、业务逻辑层和应用层;
所述应用层用于前端web服务;
所述业务逻辑层包括中文分词器、自定义词典、检索索引、匹配模型和排序器;
所述数据链路层包括数据库访问对象和数据操作对象;
所述数据层为结构化的地名地址数据库。
本发明的有益效果为:
本发明通过引入HMM模型来改进以往的中文语义解析方法,从而实现对中文地址信息的准确理解和高效检索,并返回符合期望值的地理坐标,为时空大数据的空间分析提供服务支持,通过语义分析、中文分词、创建索引、访问标准地址数据库、计算匹配度、结果排序等步骤,实现了对中文地名地址的高精度、高效率匹配,为智慧城市时空大数据进行空间化提供支撑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法的原理步骤图;
图2是一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法的结构框图;
图3是本发明实施例的技术流程图;
图4是本发明实施例的空间化匹配结果可视化效果(高邮市中心城区)图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开如图1所示的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,所述方法包括以下步骤:
S1客户端采用POST方法向服务器提交HTTP请求,并由地名地址解析服务接收参数信息;
S2对查询关键字进行结构化处理,并将预处理后的结果提交给中文解析器;
S3中文解析器采用python语言编写的HMM模型进行机器识别,最终得到中文语义分词列表;
S4通过中文语义分词列表判断选择直接获取索引或构造分词集合后访问索引库获取索引;
S5根据索引进行地名地址数据的快速检索,并返回最终的匹配度结果;
S6根据匹配度和激励因子进行结果排序,并返回排序结果集合;
S7客户端接收JSON或XML字符串,通过解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
HMM模型是五元组(S,O,A,B,π)的表达式,包括:
隐含的状态集合S,S为S1S2…Sn,其中n为状态总数,所述S包含四种状态,用以代表该字在词语中的位置,分别为词头B、词中M、词尾E和单字词S;
观察值集合O,在模型中与隐含状态相关联,通过直接观测而得到,具体为汉字字串,其中O1O2…Ok代表字串的每个字,k即整个字串的长度;
初始状态概率π,为字串的第一个字属于(B,M,E,S)的初始概率分布(π1,π2,π3,π4);
状态转移概率矩阵A,是一个n*n的概率矩阵,A(i,j)表示对每个字从i状态到j状态转移的概率;
观察值概率分布矩阵B,是一个n*k的观察概率分布矩阵,bij表示在当前状态Si的情况下可观察单字是Oj的概率。
S3中,根据统计指标计算在待处理的中文地名地址描述信息,每个字符的B、E、M、S状态可能性矩阵,根据计算结果,来决定每个字符与相邻字符的组合,得到第一个分词结果列表,在此基础上,再去访问自定义词典,若中文地名地址描述信息中存在与自定义词典相同的字符组合,则使之强制成为一个分词且不再进行切分,并据此对第一个分词结果列表进行修正,得到中文语义分词列表。
S3中,对分词解码时采用维特比算法用动态规划求概率最大路径,具体如下:定义两个n×k的矩阵T1、T2,其中:
上式中T1(i,j)储存前一词的所有可能状态到当前词状态j的最大概率,T2储存这个最大概率时对应的前一词的状态,当对最后一次完成分析并求得最大概率后,就可通过T2逆推出前面词的状态,得出所有词的状态,进而进行切分操作。
S3中,自定义词典的生成包括以下步骤:
T1构建词典源数据文件,源数据文件是一个文本发明件,其中每一行存储一个独立的词条;
T2对源数据文件进行文本预处理,按照分类将源数据文件存储与不同的词典文件中,并根据词条长度的不同将其存入链表;
T3对链表进行排序操作,排序依据是各个字符的整形数值之和;
T4将经过排序的链表内容重新写回到对应的词典文件中,即完成了自定义词典的创建过程
S4中,若中文分词的结果若为单分词则直接获取索引,若为多分词结构,则需要构造分词集合后访问索引库获取索引;
其索引创建为,采用不定长字节编码方式,对索引文件进行压缩;支持动态索引,在保持现有索引不变的前提下,对动态追加新分词索引,并能够对细碎的索引文件进行归并。
S5中,根据索引进行地名地址数据的快速检索,若精确命中,则直接构造结果文件返回匹配结果,匹配度标识为1;若未精确命中,则按照逆向最大匹配法进行循环递归调用,并根据匹配度计算公式逐个S6中,在匹配度差别较大的情况下,按照匹配度由高到低进行排序,激励因子不影响排序结果;在匹配度接近的情况下则要根据匹配度和类别的激励因子权重进行综合计算后,得到最终的排序结果,并返回结果集合。
S7中,所述JSON或XML字符串包括查询字符串、匹配度、空间坐标信息、状态信息等内容,客户端只需要解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
本实施例通过语义分析、中文分词、创建索引、访问标准地址数据库、计算匹配度、结果排序等步骤,实现了对中文地名地址的高精度、高效率匹配,为智慧城市时空大数据进行空间化提供支撑。
实施例2
本实施例公开如图2所示的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,本实施例对时空大数据空间化引擎进行了构建,并以Web API的形式提供服务。该服务从逻辑架构上分为四个层次,自底向上分别为:数据层、数据链路层、业务逻辑层和应用层。
如图2所示。其中,中文分词器、自定义词典、排序器等核心模块位于业务逻辑层,采用Python语言编写,基于HMM模型对分词算法进行改进实现中文语义的准确解析。地名地址数据库采用关系型数据模型。应用层采用REST风格的API接口接收客户端查询请求。
实施例3
本实施例公开基于分词的HMM模型参数,HMM模型是一个五元组(S,O,A,B,π)的表达式,包括:
(1)隐含状态集合S
隐含的状态集合S1S2…Sn(n为状态总数)。在实际应用中,虽然状态是隐藏的,但模型的每一个状态都与一些物理意义相联系,且状态之间也是相互联系的,可以从一种状态转移到其它状态[8,9]。在分词实例中,隐含状态集合S即每个字的状态的集合,且S仅包含四种状态,用以代表该字在词语中的位置,分别为:B(Begin即词头)、M(Middle即词中)、E(End即词尾)、S(Single即单字词)。
(2)观察值集合O
观察值集合O,在模型中与隐含状态相关联,可通过直接观测而得到。对于分词示例就是一个汉字字串,其中O1O2…Ok代表字串的每个字,k即整个字串的长度。
(3)初始状态概率π
初始状态概率π,在分词实例中,即字串的第一个字属于(B,M,E,S)的初始概率分布(π1,π2,π3,π4)。
(4)状态转移概率矩阵A
状态转移概率矩阵A是一个n*n的概率矩阵,A(i,j)表示对每个字从i状态到j状态转移的概率。对于分词来说,有些状态转移是不可能的,如词头→词头、词头→单字词等,下表即为4*4的分词状态转移概率矩阵,下图为隐含关系转换示意图,其中0表示前一状态到后一状态的概率为0,如表1所示。
表1状态转移概率矩阵
(5)观察值概率分布矩阵B
B是一个n*k的观察概率分布矩阵,bij表示在当前状态Si的情况下可观察单字是Oj的概率,比如在对“江苏省自然资源厅”进行分析的时候,B(0,0)表示当是字头的情况下,词库中是“江”的概率。
在分词实例中,目标是把每个字打上最有可能的状态标识(B,M,E,S),据此来切分字串(单字词和词尾切开),问题转换为已知参数(O,π,A,B),求解最大概率词状态值序列S,即HMM的解码问题。
维特比(Viterbi)算法实际是用动态规划原理解HMM模型预测问题,即用动态规划(Dynamic Programming)求概率最大路径(最优路径)。
定义两个n×k的矩阵T1、T2,其中:
上式中T1(i,j)储存前一词的所有可能状态到当前词状态j的最大概率,T2储存这个最大概率时对应的前一词的状态,当对最后一次完成分析并求得最大概率后,就可通过T2逆推出前面词的状态,得出所有词的状态,进而进行切分操作。
在中文地名地址解析服务中,中文机器识别所需要的各类信息知识都要从分词词典中获取。地名地址库的词典设计既要考虑区域范围内地名数据的特征,还要考虑用户对地名数据的模糊查询、日常用词、短语、专用词汇等均应包含其中。分词词典既要具有良好的数据结构,又要具有通用性。
自定义词典的生成包括以下步骤:(1)构建词典源数据文件,源数据文件是一个文本发明件,其中每一行存储一个独立的词条;(2)对源数据文件进行文本预处理,按照分类将源数据文件存储与不同的词典文件中,并根据词条长度的不同将其存入链表;(3)对链表进行排序操作,排序依据是各个字符的整形数值之和;(4)将经过排序的链表内容重新写回到对应的词典文件中,即完成了自定义词典的创建过程。
索引是提高引擎效率的核心,为了进行快速检索,需要把源数据处理成便于查询的索引文件。
本实施例采用倒排索引(inverted index)机制,也就是一种以关键词作为索引关键字和链表访问入口的索引结构,用来存储在全文检索下某个关键词在一个文档或者一组文档中存储位置的映射。
本实施例进行索引创建的技术要点有:(1)采用不定长字节编码方式,对索引文件进行压缩,尽可能减少索引文件体积,从而减小I/0的时间开销;(2)支持动态索引,即在保持现有索引不变的前提下,能够动态追加新分词的索引,并能够对细碎的索引文件进行归并,以提高索引效率。
本实施例采用逆向最大匹配与权重匹配相结合的方法进行分词结果匹配,且匹配度会影响搜索结果的排序。同时,用于匹配检索的关键词在重要性上并不相互对等,需预定义检索关键词的权重,基于不同类型的描述性文本信息以不同的权重,以期达到最优的匹配度。
检索结果的排序受到两个因子的影响,即匹配度和激励因子。匹配度i的定义如下:i=C/K
其中C表示步长,用以表示从原字符串转换到目标字符串串所需要的最少的编辑次数。K表示原始分词集合中的元素个数。i是一个0到1的浮点数,1表示完全匹配,0表示完全不匹配。激励因子是预定义的各搜索词的权重,根据实验地区的实际情况,并结合GB/T18521-2001《地名分类与类别代码编制规则》中的分类规范,本发明的激励因子优先级定义如表2所示。
表2激励因子优先级定义
实施例4
本实施例公开如图3所示的流程如下:
(1)客户端发起服务访问请求
应用程序采用POST方法向服务器提交HTTP请求,将待解析的中文地名地址文本描述信息作为请求参数传递给服务器的指定端口,由地名地址解析服务接收参数信息。
(2)关键字预处理
对查询关键字进行结构化处理,确保不含有乱码、空格以及不规范字符,将预处理后的结果提交给中文解析器。
(3)中文语义分析
中文解析器采用python语言编写的HMM模型进行机器识别,即根据统计指标计算在待处理的中文地名地址描述信息,每个字符的B、E、M、S状态可能性矩阵,根据计算结果,来决定每个字符与相邻字符的组合,得到第一个分词结果列表。在此基础上,再去访问自定义词典,若中文地名地址描述信息中存在与自定义词典相同的字符组合,则使之强制成为一个分词且不再进行切分,并据此对第一个分词结果列表进行修正,得到中文语义分词列表。
(4)获取索引
中文分词的结果若为单分词则直接获取索引。若为多分词结构,则需要构造分词集合后访问索引库获取索引。
(5)检索标准地名地址数据库
根据索引进行地名地址数据的快速检索。检索可能存在两种结果:若精确命中,则直接构造结果文件返回匹配结果,匹配度标识为1;若未精确命中,则按照逆向最大匹配法进行循环递归调用,并根据匹配度计算公式逐个计算分词的匹配度,返回最终的匹配度结果。
(6)结果排序
结果排序主要受两个因素影响:匹配度和激励因子。在匹配度差别较大的情况下,按照匹配度由高到低进行排序,激励因子不影响排序结果;在匹配度接近的情况下则要根据匹配度和类别的激励因子权重进行综合计算后,得到最终的排序结果,并返回结果集合。
(7)返回结果给客户端。
客户端应用程序接收到的是一个包含了查询字符串、匹配度、空间坐标信息、状态信息等内容的JSON或XML字符串,只需要解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
上述流程如附图3所示。此流程的关键点在于当为多分词结构时,要进行循环递归构造分词检索集合并逐个检索。
实施例5
本实施例以江苏省扬州市高邮市中心城区地名地址数据库抽取的1000条中文地名信息记录作为实验数据。
为反映真实状况,实验数据在空间上尽量均匀分布,类型上尽可能涵盖GB/T18521-2001《地名分类与类别代码编制规则》中的全部大类,在遵循以上两个原则的前提下,采用随机抽样的方法提取样本实验数据。由于实验数据中存在不规范或不完整的地名地址信息,故在进行匹配前对非法地名地址信息进行了数据清洗预处理,确保地名地址信息按照GB/T 18521-2001《地名分类与类别代码编制规则》和GB/T23705-2009《数字城市地理信息公共平台地名/地址编码规则》的要求进行正确表达。对照组数据采用高邮市基础地理信息数据库中的地名地址数据集。该数据集现势性为2019年末,共计约6.4万条,由人工野外实地采集并经质检和验收,准确性、权威性和可信度能够得到保证,因此可用于验证匹配结果。
本实施例采用两种方法进行匹配对比,分别是:方法一为采用本发明的技术方法进行中文地名地址的空间化匹配;方法二为不采用本发明的方法、直接采用模糊查询方法进行检索匹配。对比的目的是验证本发明对于中文地名地址语义解析和空间化效果是否有显著提升。
对于时空大数据空间化引擎的性能,通常从两个方面进行评价,即效率和效果。评价效率主要通过时间复杂度和空间复杂度两个指标;效果即匹配的准确性。
本实施例的匹配准确率指标为将匹配结果坐标值与对照组数据进行对比,考虑到地名地址的空间坐标通常为一个点,在表达面状地理实体的位置时可能存在一定的误差,故设定阈值小于等于10米则认为匹配准确。
表3是以对照组数据为标准,方法一和方法二的匹配结果指标统计。其中,匹配成功包括精确命中记录和未精确命中记录,即返回值不为错误标识的记录数量;匹配准确数是指与对照组数据对比,同名点空间距离小于10米;匹配准确率是指匹配准确的记录数量占匹配成功的记录数量百分比。
表3是空间化效果的评价指标统计情况,附图4是空间化结果的可视化效果图。
表3空间化效果的评价指标统计情况
上述匹配结果的分析如下:
(1)匹配效果:对于同样的实验样本数据和参照数据,调用基于HMM模型构建的地名地址时空数据引擎进行匹配的成功率和准确率比直接模糊查询要高得多。由于在匹配之前对样本数据进行了清洗,方法一的匹配成功率高达95%以上,准确率近90%。方法二的匹配效果不理想,即使对于清洗过的数据,匹配成功率也只有70%不到,准确率则低于60%。
(2)匹配效率:方法一的时间开销显著高于方法二,这是由于方法一调用的地名地址引擎服务的匹配流程较复杂,需引用多个功能组件,且核心功能模块由Python语言编写,Python语言本身并不是强调效率的编程语言。但时间开销增加的同时,带来了匹配效果的大幅度提升,且时间开销完全在可接受的范围之内。匹配效率在后期可以通过算法优化或多线程并发得到进一步提升。
(3)计算资源消耗:两种方法在计算资源的消耗上差别不大,这是因为实验采用了高性能服务器和工作站,计算能力已远超需求。
综上所述,本发明通过引入HMM模型来改进以往的中文语义解析方法,从而实现对中文地址信息的准确理解和高效检索,并返回符合期望值的地理坐标,为时空大数据的空间分析提供服务支持。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,其特征在于,所述方法包括以下步骤:
S1客户端采用POST方法向服务器提交HTTP请求,并由地名地址解析服务接收参数信息;
S2对查询关键字进行结构化处理,并将预处理后的结果提交给中文解析器;
S3中文解析器采用python语言编写的HMM模型进行机器识别,最终得到中文语义分词列表;
S4通过中文语义分词列表判断选择直接获取索引或构造分词集合后访问索引库获取索引;
S5根据索引进行地名地址数据的快速检索,并返回最终的匹配度结果;
S6根据匹配度和激励因子进行结果排序,并返回排序结果集合;
S7客户端接收JSON或XML字符串,通过解析特定的节点即可获得所查询中文地名地址的空间坐标信息;
所述S3中,所述HMM模型是五元组(S,O,A,B,π)的表达式,包括:
隐含的状态集合S,S为S1S2…Sn,其中n为状态总数,所述S包含四种状态,用以代表该字在词语中的位置,分别为词头B、词中M、词尾E和单字词S;
观察值集合O,在模型中与隐含状态相关联,通过直接观测而得到,具体为汉字字串,其中O1O2…Ok代表字串的每个字,k即整个字串的长度;
初始状态概率π,为字串的第一个字属于(B,M,E,S)的初始概率分布(π1,π2,π3,π4);
状态转移概率矩阵A,是一个n*n的概率矩阵,A(i,j)表示对每个字从i状态到j状态转移的概率;
观察值概率分布矩阵B,是一个n*k的观察概率分布矩阵,bij表示在当前状态Si的情况下可观察单字是Oj的概率;
所述S3中,根据统计指标计算在待处理的中文地名地址描述信息,每个字符的B、E、M、S状态可能性矩阵,根据计算结果,来决定每个字符与相邻字符的组合,得到第一个分词结果列表,在此基础上,再去访问自定义词典,若中文地名地址描述信息中存在与自定义词典相同的字符组合,则使之强制成为一个分词且不再进行切分,并据此对第一个分词结果列表进行修正,得到中文语义分词列表;
所述S3中,对分词解码时采用维特比算法用动态规划求概率最大路径,具体如下:定义两个n×k的矩阵T1、T2,其中:
上式中T1(i,j)储存前一词的所有可能状态到当前词状态j的最大概率,T2储存这个最大概率时对应的前一词的状态,当对最后一次完成分析并求得最大概率后,就可通过T2逆推出前面词的状态,得出所有词的状态,进而进行切分操作;
所述S3中,自定义词典的生成包括以下步骤:
T1构建词典源数据文件,源数据文件是一个文本发明件,其中每一行存储一个独立的词条;
T2对源数据文件进行文本预处理,按照分类将源数据文件存储与不同的词典文件中,并根据词条长度的不同将其存入链表;
T3对链表进行排序操作,排序依据是各个字符的整形数值之和;
T4将经过排序的链表内容重新写回到对应的词典文件中,即完成了自定义词典的创建过程;
所述S7中,所述JSON或XML字符串包括查询字符串、匹配度、空间坐标信息、状态信息等内容,客户端只需要解析特定的节点即可获得所查询中文地名地址的空间坐标信息。
2.根据权利要求1所述的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,其特征在于,所述S4中,若中文分词的结果若为单分词则直接获取索引,若为多分词结构,则需要构造分词集合后访问索引库获取索引;
其索引创建为,采用不定长字节编码方式,对索引文件进行压缩;支持动态索引,在保持现有索引不变的前提下,对动态追加新分词索引,并能够对细碎的索引文件进行归并。
3.根据权利要求1所述的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,其特征在于,所述S5中,根据索引进行地名地址数据的快速检索,若精确命中,则直接构造结果文件返回匹配结果,匹配度标识为1;若未精确命中,则按照逆向最大匹配法进行循环递归调用,并根据匹配度计算公式逐个计算分词的匹配度,返回最终的匹配度结果。
4.根据权利要求1所述的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,其特征在于,所述S6中,在匹配度差别较大的情况下,按照匹配度由高到低进行排序,激励因子不影响排序结果;在匹配度接近的情况下则要根据匹配度和类别的激励因子权重进行综合计算后,得到最终的排序结果,并返回结果集合。
5.一种基于HMM模型的时空大数据空间化引擎构建系统,所述系统用于实现如权利要求1-4任一项所述的一种基于HMM模型的智慧城市时空大数据空间化引擎构建方法,其特征在于,包括自底向上的数据层、数据链路层、业务逻辑层和应用层;
所述应用层用于前端web服务;
所述业务逻辑层包括中文分词器、自定义词典、检索索引、匹配模型和排序器;
所述数据链路层包括数据库访问对象和数据操作对象;
所述数据层为结构化的地名地址数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010448763.8A CN111767476B (zh) | 2020-05-25 | 2020-05-25 | 一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010448763.8A CN111767476B (zh) | 2020-05-25 | 2020-05-25 | 一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767476A CN111767476A (zh) | 2020-10-13 |
CN111767476B true CN111767476B (zh) | 2023-08-29 |
Family
ID=72719297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010448763.8A Active CN111767476B (zh) | 2020-05-25 | 2020-05-25 | 一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767476B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168705B (zh) * | 2021-12-03 | 2022-11-11 | 南京大峡谷信息科技有限公司 | 一种基于地址要素索引的中文地址匹配方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886020A (zh) * | 2014-02-21 | 2014-06-25 | 杭州电子科技大学 | 一种房地产信息快速搜索方法 |
CN107256212A (zh) * | 2017-06-21 | 2017-10-17 | 成都布林特信息技术有限公司 | 中文搜索词智能切分方法 |
CN109145169A (zh) * | 2018-07-26 | 2019-01-04 | 浙江省测绘科学技术研究院 | 一种基于统计分词的地址匹配方法 |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及系统 |
-
2020
- 2020-05-25 CN CN202010448763.8A patent/CN111767476B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886020A (zh) * | 2014-02-21 | 2014-06-25 | 杭州电子科技大学 | 一种房地产信息快速搜索方法 |
CN107256212A (zh) * | 2017-06-21 | 2017-10-17 | 成都布林特信息技术有限公司 | 中文搜索词智能切分方法 |
CN109145169A (zh) * | 2018-07-26 | 2019-01-04 | 浙江省测绘科学技术研究院 | 一种基于统计分词的地址匹配方法 |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于混合HMM的文献元数据地名抽取方法研究;杜秋霞;王洪国;邵增珍;付鑫;刘衍民;;计算机与数字工程(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111767476A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353030A (zh) | 基于旅游领域知识图谱的知识问答检索方法及装置 | |
CN112035730B (zh) | 一种语义检索方法、装置及电子设备 | |
CN111967761B (zh) | 一种基于知识图谱的监控预警方法、装置及电子设备 | |
CN111522910B (zh) | 一种基于文物知识图谱的智能语义检索方法 | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN109947796B (zh) | 一种分布式数据库系统查询中间结果集的缓存方法 | |
CN112434024B (zh) | 面向关系型数据库的数据字典生成方法、装置、设备及介质 | |
CN113254630B (zh) | 一种面向全球综合观测成果的领域知识图谱推荐方法 | |
CN115576984A (zh) | 中文自然语言生成sql语句及跨数据库查询方法 | |
Dong et al. | Data-anonymous encoding for text-to-SQL generation | |
CN111767476B (zh) | 一种基于hmm模型的智慧城市时空大数据空间化引擎构建方法 | |
CN114168705B (zh) | 一种基于地址要素索引的中文地址匹配方法 | |
CN103336850B (zh) | 一种数据库检索系统中确定检索词的方法及装置 | |
CN111046092B (zh) | 一种基于cpu-gpu异构体系结构的并行相似性连接方法 | |
CN117076590A (zh) | 地址标准化方法、装置、计算机设备及可读存储介质 | |
CN106776590A (zh) | 一种获取词条译文的方法及系统 | |
CN115455249A (zh) | 双引擎驱动的多模态数据检索方法、设备及系统 | |
CN114579468A (zh) | 基于语义度量值的源项目选择软件缺陷预测方法 | |
CN117609281B (zh) | 一种Text2Sql方法、系统、电子设备及存储介质 | |
KR102605929B1 (ko) | 서로 다른 프로세서 자원을 할당하여 정형 데이터와 비정형 데이터를 처리하는 방법 및 이러한 방법을 제공하는 데이터 처리 시스템 | |
CN116842030B (zh) | 一种服务器的数据同步更新方法及系统 | |
Assaf et al. | RUBIX: a framework for improving data integration with linked data | |
CN115481220B (zh) | 基于岗位和简历内容的对比学习人岗智能匹配方法及系统 | |
CN117851607A (zh) | 一种适用于制造大数据的条件知识图谱的抽取和管理方法 | |
CN115906864A (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 |