基于BERT-BiLSTM-CRF的中文地址解析方法
2021-08-12吴恪涵,张雪英,叶鹏,怀安,张航
吴 恪 涵,张 雪 英,叶 鹏,怀 安,张 航
(自然资源部城市国土资源监测与仿真重点实验室,广东 深圳 518034;南京师范大学虚拟地理环境教育部重点实验室/江苏省地理信息资源开发与利用协同创新中心,江苏 南京 210023)
0 引言
地址作为不可或缺的基础地理信息和社会公共信息,在国家治理、经济建设、文化传承等方面发挥着重要作用[1]。2019年,国家自然资源部发布《智慧城市时空大数据平台建设技术大纲》,其中明确要求实现高效、精准、实用的地址匹配服务技术,以建立智慧城市中时空数据和非时空数据的有序化组织与关联。地址解析是地址匹配的一项基础环节,可为地址数据检索、地址标准化、地址语义理解等应用提供支撑[2]。面对日益增长的地址数据规模,实现地址要素的准确解析已成为提升地址匹配服务水平的重要技术挑战。
西文地址解析主要依靠词与词之间的空格和标点符号间隔,对每个单词进行词干还原和词形还原,如经典的波特算法等[3,4]。中文地址由于缺少形态、没有分隔符、特征字词省略或冗余等特点,解析难度较大。目前,对于中文地址解析的研究主要包括地名词典、规则模型和统计学习等方法。基于地名词典的方法原理简单,但词典构建的人工工作量较大,同时也存在未登录词和歧义识别等难以解决的缺陷[5,6]。规则模型是将地址数据按照一定的扫描规则进行匹配,包括正向最大匹配法和逆向最大匹配法等[7,8],但不同地区的地址命名与使用方式存在较大差异,适用于特定地区的词典与规则难以在其他地区推广应用。统计学习方法不依赖地址要素词典,而是根据相邻字词的共现频繁度进行地址解析,语句中频繁共现的字词一定程度上可以反映其组合成地址要素的可信度,通常采用马尔可夫模型、N元模型、最大熵模型和支持向量机等机器学习模型[9-11],但基于统计的机器学习方法效果受特征设定的限制,特征过多时易出现模型训练过拟合的状况,且单一的概率条件也难以作为地址解析的依据[12]。
近年来,人工智能、大数据和自然语言处理等技术快速发展,深度学习模型凭借其在深层结构上自动学习上下文特征的优势,为中文地址解析提供了新思路和强有力的技术支撑,如长短记忆(Long-Short Term Memory,LSTM)网络、双向长短记忆(Bi-directional Long Short-Term Memory,BiLSTM)网络、K近邻标签修正等模型已成功应用于中文地址解析[13-15]。但深度学习模型的参数量相较于上述统计机器学习模型迅速增加,需要更大规模的标注语料库进行模型训练以防止参数欠拟合或过拟合,而标注语料的生产代价高昂,对于大多数自然语言处理任务而言,构建大规模的标注数据集是一项巨大的挑战[16]。BERT(Bidirectional Encoder Representation from Transformers)作为一种先进且应用广泛的语言表达模型,通过非监督学习的方式从大规模文本中提取中文语句的双向语义特征,进一步增强词向量模型泛化能力,能更好地表征不同语境中的句法与语义信息,一定程度上可摆脱监督学习对于大规模标注数据的依赖,有效减少人工标注的劳动介入[17]。因此,将BERT融合到深度学习模型中将成为提升中文地址解析性能的一种新途径。
1 基本思路
中文地址解析是面向中文地址文本展开地址要素结构化切分处理和地址要素语义识别的过程。由于中文在表达上缺乏天然分隔符,使得中文地址中各要素的描述多样化且结构模式复杂,利用传统的自然语言分词技术可能会导致地址要素的错误拆分。捕捉和挖掘地址中各类地址要素间存在的层级与顺序约束关系,成为解析中文地址的关键,然而,由于地址文本相较于普通文本篇幅较短,需扩展地址中的上下文信息。汉字是中文表达中最小的语音、句法和语义单元,对于各个词项的关联性比词组更丰富[18,19],许多中文地址要素可以被分割为单个具有独立语义的汉字字符。以“山西省”为例,该地址要素中各字符都具有独立的语义,“山”指太行山,“西”指西边、西部,“省”则特指中国二级行政区划,可见字符级向量相比词向量能表达粒度更细的语义信息。因此,本文提出一种基于字符级嵌入的BERT-BiLSTM-CRF模型,用于解析中文地址。
BERT-BiLSTM-CRF模型是基于BiLSTM-CRF模型[20]发展的一种无需人工归纳特征、端到端的深度学习模型,可满足目前中文地址解析和地址要素标注任务需求。该模型自底向上由编码器、BiLSTM神经网络层和条件随机场(CRF)层组成:编码器是基于字符级的中文BERT模型,将输入的中文地址字符映射到低维稠密的实数空间中,挖掘中文地址中各类地址要素蕴含的潜在语义;BiLSTM神经网络层将编码器转化而来的字符向量作为输入,捕捉中文地址序列前向(自左向右)和后向(自右向左)的双向特征;条件随机场层以上游BiLSTM提取的双向特征作为输入,结合BIOES标注范式[21]生成地址中各字符对应的标签,从而进一步将中文地址按照标签解析为各类地址要素(图1)。
图1 BERT-BiLSTM-CRF模型框架Fig.1 Framework of BERT-BiLSTM-CRF model
2 研究方法
2.1 中文地址的规范化表达
2.1.1 中文地址要素分类 地址通常由一个或多个表达不同地理区域范围的地址要素排列而成,不同地址要素指代的地理区域范围具有显著的层次性[22-25]。中文地址要素包括行政区划、道路、门牌号等六大类型(表 1),不同类型的地址要素在地址描述中的作用不同,因而可将其划分为不同级别。例如,一个地址描述的基本要素包括行政区划和道路,则将其定义为一级主地址要素,每增加一个级别,地址对于地理位置的描述更详细。
表1 中文地址要素分类Table 1 Classification of Chinese address elements
2.1.2 中文地址语料标注 标注语料库是利用机器学习和深度学习模型进行地址解析和匹配的重要基础,也是一项较为复杂、需大量人工介入的知识工程。以txt为标记元语言,参考地址要素分类体系,制定地址数据标注规范以构建中文地址数据标注语料库。序列标注标签方案BIOES具有通用性,其中,B(Begin)表示开始,I(Inside)表示中间,O(Outside)表示外部,E(End)表示结尾,S(Single)表示该词可单独组成一个要素。由于一个地址涉及多种类型的要素,需对传统BIOES进行扩展,为每个标签加上地址要素类型,如B-A1、I-A1、E-A1、O-A1和单个词O。为简化标注操作,直接在每个地址要素的结尾打标签(表 2),该方案既能提高地址标注的效率,也可自动生成适用于深度学习的标注语料格式。
表2 基于扩展BIOES的中文地址语料标注示例Table 2 An example of Chinese address corpus label based on extended BIOES
2.2 基于BERT模型的中文字符向量化
预训练语言模型的核心思想是使用大规模文本语料库进行预训练,对特定的小规模数据集微调,降低下游自然语言处理任务的难度[16,26]。研究表明,大型语料库的预训练模型可学习通用的语言表达模式,对模型更好地参数初始化、正则化。通用的语言表达模式指能捕获隐藏在文本数据中的语言规则和常识,如词汇含义、句法结构和语义角色[27,28]等。基于BERT模型的中文字符向量化主要分为两阶段:1)模型训练。BERT模型基于大规模无标注语料,利用表义能力较强的双向Transformer深度学习网络结构进行无监督训练,以获取语料上下文相关、富含文本语义信息的双向特征表示;同时,依据小规模中文地址标注语料库进行模型参数微调,获得面向中文地址文本的语义表示。2)地址文本的中文字符向量化。将输入的中文地址分割为独立字符,依次输入到BERT模型中获取字符对应的实数向量,将结果拼接后获得中文字符向量矩阵。
2.3 基于BiLSTM-CRF的地址解析模型
LSTM网络模型是在标准循环神经网络(Recurrent Neural Network,RNN)基础上改进后的神经网络模型,其利用门控单元极大缓解了标准RNN模型存在的梯度消失和梯度爆炸问题,提升了模型提取时间序列数据中潜在长距离依赖关系和发掘潜在语义特征的能力[29,30]。地址文本数据作为一种特殊的文本序列数据,在地址解析过程中需要模型提取地址要素间的语义关联和相互依赖关系,由于LSTM模型只能获取与地址文本阅读顺序相同方向上的地理要素依赖关系,无法兼顾与地址文本阅读相反顺序的地址要素语义关联,因此本研究采用BiLSTM网络模型提取地址文本中的潜在语义关联。BiLSTM网络模型由两层LSTM网络构成,且两个LSTM层均与输入层、输出层相连,模型对输入的地址字符向量分别按照前向和后向序列进行训练,利用隐藏状态和门控单元传递上下文依赖关系,将模型前向与后向LSTM神经网络的最终隐藏状态拼接、运算后获得每个字符在各标签的得分。
条件随机场(CRF)是一个判别式无向图机器学习模型,在中文分词和中文命名实体名词识别等序列标注中表现出色[31-34]。CRF模型可看作给定观测变量x和序列标注结果y的条件模型,由数据直接学习决策函数y=f(x)或条件概率分布p(y|x)作为预测的模型,在给定x(地址文本中每个字符在所有标签上的得分)的条件下,序列标注结果y的概率联合分布的表现形式可定义为:
(1)
式中:ti(yi-1,yi,x,i)是整个观察值序列、位置i和i-1 标记序列的转移特征函数;sk(yi,x,i)是位置i的标记和观察序列的状态特征函数;系数λj和μk需要从训练语料中估计得出。
根据条件随机场模型的理论,求解地址要素序列标注最优解问题可转化为求解以概率最大化为目标的最优路径问题[35]。
3 实验方案及结果分析
3.1 实验方案
以2019年5 800万条深圳市地址数据作为基础数据集,66.8万条全国行政区划数据作为辅助数据集,进行中文地址解析,抽取基础数据集中4万条地址数据作为训练集。由于全部数据集规模巨大,采用抽查的方式进行解析性能评估,从基础数据集中随机抽取5 000条地址数据,共抽取5次,以全部测试数据的平均值作为评估结果。在准确率(P)、召回率(R)和F1值基础上,进一步采用宏平均(Macro)算法评估解析结果,计算公式为:
P=TP/(TP+FP)
(2)
R=TP/(TP+FN)
(3)
F1=P×R×2/(P+R)
(4)
(5)
(6)
(7)
式中:TP为正样本被模型预测为正样本的数量;FP为负样本被模型预测为正样本的数量;FN为正样本被模型预测为负样本的数量;TN为负样本被模型预测为负样本的数量。
本实验中BERT-BiLSTM-CRF模型基于深度学习框架Tensorflow实现,开发语言为Python 3.6,多线程部署方式为Tornado。实验环境采用12核Intel Core i7-5820K 3.30 GHz处理器,32 G内存Nvidia GeForce GTX2060 GPU,Ubuntu 14.10 Linux 64位操作系统。模型中相关参数设置如表3所示。
表3 BERT-BiLSTM-CRF模型参数设置Table 3 Parameter setting of BERT-BiLSTM-CRF model
3.2 字符级中文地址解析分析
选取CRF、IDCNN-CRF与BiLSTM-CRF等主流机器学习模型,从字符级层面对中文地址解析结果进行对比。各模型的训练时长和准确率等指标如表4所示。在解析性能方面,基于CRF的地址解析模型受限于模型结构,解析效果相对较差;IDCNN-CRF、BiLSTM-CRF的解析效果优于CRF模型,但两者差距不大;BERT-BiLSTM-CRF的解析效果明显优于其他模型,可有效获取地址字符、词语和句子3种等级的特征信息,能更高效地表示不同语境下的句法和语义信息,提高地址解析模型的泛化能力和精度,但该模型受内存等硬件设备限制,模型训练中迭代窗口的大小有限,训练时间是其他模型的数倍,加之模型中涉及的参数规模大,需耗费更多的计算资源。
表4 不同模型的字符级中文地址解析结果Table 4 Results of character-level Chinese address resolution using different models
3.3 要素级中文地址解析分析
地址要素是中文地址的最小语义单元,进一步分析要素级地址解析结果(表5)可知,BERT-BiLSTM-CRF模型对中文地址各类要素的解析效果均较好,多数类型的中文地址要素解析准确率达90%以上,一至四级行政区划、道路、户室号和部分附加信息等类型的准确率达95%以上。五级行政区划的准确率和召回率比前四级行政区划低,主要因为在中文地址描述中,五级行政区划常被缩写或省略,且易与局部区域等要素类型混淆;可通过增加辅助的全国行政区划数据集进行优化,将识别出的要素与辅助数据集进行匹配,以获得行政区划要素的正确类型。局部区域要素的解析准确率较差,通过解析错误案例分析其原因在于:1)地址要素解析粒度不统一,不同局部区域在空间范围表征上有尺度差异,当多级局部区域相互嵌套时解析难度增加;2)局部区域易与五级行政区划、楼幢号等要素类型混淆,缺乏明显的描述规律,可通过增加部分人工总结的规则模型提升准确性。附加信息虽在中文地址描述中的出现频次不高,但可通过对空间关系的表达使地址的地理位置描述更丰富。实验结果中方位、距离和拓扑(如“周围”“附近”“交叉”等)等空间关系信息在准确率和召回率方面都表现良好,表明该模型可以进行中文地址中空间关系的语义解析。
表5 要素级中文地址解析结果Table 5 Results of element-level Chinese address resolution
4 结论
在中文地址要素多级分类体系基础上,对传统BIOES序列标注标签方案进行扩展,设计中文地址标注方案;将预训练模型、统计学习模型和深度学习模型相结合,充分利用三者优势构建综合深度学习模型;以深圳市地址数据为例,利用标注地址语料训练CRF、IDCNN-CRF、BiLSTM-CRF和BERT-BiLSTM-CRF模型并对比其解析结果。实验结果表明:扩展的BIOES方案有利于提高地址标注效率,也更易于深度学习训练;相较于其他单一或双层的机器学习模型,BERT-BiLSTM-CRF模型在小规模地址语料上解析效果更优,且对于不同类型的地址要素都具有良好的性能。后续研究需探讨以下内容:多层次的深度学习模型训练时间过长,为提升实际应用效果需深入研究大规模的深度学习并行训练方法;针对部分低层次地址要素类型解析错误,需在深度学习中更多地融合语法规则与领域知识作为引导,进一步提升中文地址的解析精度。