文本数据驱动下的高速公路事故持续时间预测模型*
2020-03-14纪柯柯肖思瑶王祥宇刘亦欣傅志妍
纪柯柯 陈 坚▲ 肖思瑶 王祥宇 刘亦欣 傅志妍
(1.重庆交通大学交通运输学院 重庆 400074;2.重庆交通大学信息科学与工程学院 重庆 400074;3.西南交通大学唐山研究生院 河北 唐山 063000;4.重庆第二师范学院 经济与工商管理学院 重庆 400067)
0 引 言
交通事故是造成道路拥堵的主要原因,尤其是突发性事故造成的非经常性拥堵[1]。为减少交通事故带来的社会和经济损失,众多学者对事故自动检测[2]、救援车辆诱导[3]、事故下的现场处置[4]等开展研究,而事故持续时间预测研究较少。事故持续时间预测作为高速公路事故应急管理的重要前提,准确预测有助于道路交通管理部门针对已发生的事故做出合理的决策,开展相应的道路疏通工作,配置最优保障资源,减少事故发生后可能带来的后续损失;同时,也有助于出行者合理调整自己的出行线路。
目前,针对于道路交通事故持续时间预测的研究主要基于结构化数据(数值),结合概率分布[5]、机器学习[6-7]、生存模型[8]以及混合模型[9]等方法开展,该类研究多是建立在假设已获取所有可能信息的基础上。然而,在真实情景中,事故持续时间受到各种因素的影响,加之交通事故存在异质性,有些影响因素是客观可测的,如事故车辆数、事故位置等;另一些则是主观划分的,如天气状况、道路条件等。大量事故信息被记录在自由流文本中,难以全部数值化处理,因此,现有的研究方法由于受数据类型、数据精度的影响,无论是在时效上还是对数据本身挖掘程度上都难以满足实际需要。
而自然语言处理(natural language processing,NLP)技术为事故持续时间的预测提供了1 种新的方法。Pereira 等[10]基于自然语言处理中的主题模型,结合时间序列预测方法,对道路事故持续时间进行预测,结果提升了预测模型的性能;Li 等[11]同样采用主题建模从人类语言中提取有用的信息,并在Pereira 的基础上建立多项式逻辑和基于参数风险的混合模型,从而提升预测精度。上述研究均表明,自然语言处理技术的应用,有助于提高事故持续时间预测效果。但上诉研究仅仅将自然语言处理(NLP)技术作为传统结构化数据的补充,未能真正实现利用事故文本信息数据对事故持续时间进行预测。
基于以上分析,考虑到高速公路事故实际处理过程中,通常以主观经验对事故持续时间进行估计,并且相似事故状况所确定的持续时间以及采取措施往往相同。故笔者提出V-Fisher 有序文本聚类模型,完全基于事故文本数据,利用文本特征之间的差异程度,实现事故文本的有序聚类。并通过多种文本分类算法对聚类结果进行学习训练,得到事故持续时间预测结果;最后通过仿真实验验证所提出方法的可行性和有效性。
1 数据描述
本文数据来源于2 部分,一部分是四川省高速公路管理中心提供的2017—2018 年原始事故记录数据,共968条,包含事故发生的时间、天气状况、发生线路、具体位置、事故类别、伤亡人数、路产损失(元)、估计经损(元)、处理情况以及事故简要经过及原因等字段,部分原始文本数据见表1。
表1 部分原始事故记录文本数据表Tab.1 Partial original accident record text data table
另一部分来源于对“四川高速”微博账号发布的信息,通过式(1)和人工筛选对爬取后的微博信息相似度比较,选择文本内容相似,且包含同一起事故发生时间与终止时间的完整事故信息。通过收集2018—2020年10 月共40 000 余条数据,提取完整信息数据3 196条。故本文实验数据共有4 164条。
式中:D1,D2分别表示2个文本,其向量化表示分别为当sim(D1,D2)→1时,表示为文本具有较高的相似度。
1.1 事故持续时间
道路事故持续时间通常定义为事故发生与响应到车辆离开事故现场之间的时间差,根据《公路通行能力手册》[12],事故组成部分可分为4个阶段:事故检测/发现阶段(从事故发生到事故被检测或发现之间的时间)、响应阶段(从事故检测/发现到事故救援到达现场之间的时间)、清除阶段(从救援组到达现场直到事故清除之间的时间)和交通恢复阶段(从事故清除到恢复正常交通流的时间,无因事故造成的上游拥堵);康国祥等[13]考虑到交通恢复阶段各种因素的影响比较复杂,在实际难以获得关键信息,因此,选择事故发生、响应以及清除3 个阶段作为事故持续时间的研究内容;Li等[14]把事故持续时间分为:检测/报告阶段、准备/响应阶段、行程时间段及清除阶段,并选取准备/响应、行程和清除3 个阶段作为事故持续时间。
考虑到在实际道路交通事故处理过程中,一方面,事故信息传播的延迟性,难以获取事故从发生到响应之间的时间段;另一方面,源事故数据集中记录的时间范围。本文定义事故清除阶段和交通恢复阶段2 个部分作为事故持续时间研究内容,见图1。
图1 事故持续时间区段图Fig.1 Section diagram of accident duration
综上所述,通过式(2)得到事故持续时间Yi。
式中:Yi为事故持续时间,min;resure_timei为交通管理部门开始展开救援的时间戳,min;recover_timei为交通恢复的时间戳,min。
1.2 事故持续时间分布
通过对事故持续时间的处理,剔除无效数据后,对原始道路交通事故持续时间进行统计分析,分别得到记录数据和微博数据中持续时间基本信息,见表2,记录数据中数据跨度较大,最小值为10 min,最大值达到1 245 min。通过对事故持续时间分布拟合,见图2(a)~(b),二者均近似呈泊松分布,且记录数据主要分布在0~400 min,而微博数据则主要分布在0~200 min。
表2 事故持续时间基本信息Tab.2 Basic information about accident duration
图2 事故持续时间分布图Fig.2 A map of accident duration
从图2可知,无论是记录数据还是微博数据,事故持续时间分布均较为分散,加大了文本特征向量表示的稀疏性,降低预测结果的准确率。因而,根据四川省高速公路联网收费数据,采用高速公路平均通行时间作为事故时间上限,减小时间跨度,计算方法为
2 文本数据处理
自然语言处理(NLP)是将人类交流沟通所用的语言经过处理转化为机器所能理解的机器语言。事故文本数据是1 种短字符集、含有噪声的非结构化自然语言,不能直接被计算机读取,须经过文本数据处理转换成计算机可以识别的结构化数据。其中主要包括文本数据预处理和文本向量表示2 个部分,基本流程见图3。
图3 文本数据处理流程Fig.3 Text data processing flow
2.1 文本数据预处理
文本数据预处理包含2 个方面内容:分词、去停用词。分词是保证后续研究能够准确分析句子表达内容的基础,由于中文句子中包含大量的虚词、感叹词等无特殊意义的停用词,故一般先去除文本中无用的停用词,减少文本冗余特征数量;再通过Jieba 分词工具,利用构建的交通术语词典,实现有效分词。
2.2 文本向量表示
当前常用的文本向量表示方法为向量空间模型(vector space model,VSM),它是1 种根据特定算法将文本数据转换成若干特征词的集合,并且将这些特征词集合表示成特征向量的1 种文本表示方法。目的是采用向量化的方式将文本数据转换为计算机可以读取的结构化数据。常用的有词袋模型和TF-IDF(term frequency-inverse document frequency)模型2种方法。
词袋模型将分词后的所有词语看成1 个集合,集合中词语之间是相互独立的,没有考虑相近词语之间的含义以及词语在语料库中的顺序,是1 种仅考虑词语词频的文本表示方法;而TF-IDF 模型则以词频TF 和逆文本频率指数IDF 乘积的形式来表示词语在文档中的重要性,词频TF和逆文本频率指数IDF的计算[15]见式(4)。
式中:idfi为ti词的逆文本频率指数为语料库中文件总量为包含ti词的文件数。
得到TF-IDF的结果为
由于高速公路道路交通事故文本数据中包含大量无意义的描述性信息,使用词袋模型一方面会产生较大的向量维度,另一方面无法突出关键信息词的重要性,因此本文选取TF-IDF 模型进行文本向量表示。
以表1 中的事故经过及原因为数据对象,应用TF-IDF模型进行特征向量表示,设定最大特征值为15,得到提取结果:事故、交通、厦蓉高速、厦门、发生、小货车、成渝段、成都、断道、方向、施救、未超限、现场、相撞、轻伤。
所对应的特征矩阵为:[3 1 1 1 1.406 1 1 1.405 1 1.405 1.405 1.405 1.405;1 1 1 1 1 0 1 1 0 1 0 0 0 0 0]
3 有序文本聚类(V-Fisher)模型
事故文本信息通常语句较短,且相同事故持续时间周边范围内的语义表达较为相似,即存在事故类型、事故地点等因素的相似性,因此,通过聚类算法减少事故持续时间的稀疏性,将有利于提升最终预测的准确率。由于高速公路事故持续时间具有连续有序性特点,因此普通的聚类算法并不能依据时间顺序对事故文本进行有序聚类。因此,本文借鉴Fisher聚类算法思想[16],提出V-Fisher有序文本聚类模型,通过对TF-IDF 模型提取的VSM 特征,采用离差平方和表示各文本特征的差异程度,使得同类文本特征之间的差异最小,不同类别文本特征间的差异最大,实现有序聚类。再通过各种文本分类算法,验证模型的有效性。算法的结构框架见图4,具体步骤如下。
步骤1。将事故文本数据按照持续时间大小有序排列。
步骤2。文本数据预处理。对文本数据进行去噪、分词、去停用词,并利用TF-IDF 模型提取文本特征,构建特征向量。
步骤3。设置时间分段数k,计算可能每段的类直径D(i)以及最小损失函数
步骤4。根据β检验法确定最优分类结果。
步骤5。按一定比例划分训练集和测试集,并通过分类算法对模型进行训练,得到训练结果。
步骤6。对结果进行评估。
图4 NLP-Fisher预测模型流程图Fig.4 Flow chart of NLP-Fisher prediction model
3.1 模型构建
3.1.1 定义类的直径
式中:D(i,j)为该类中不同时间标签i,i+1,…,j对应事故文本数据之间的差异;Xt为每个文本句向量值,该类的均值向量表示为
3.1.2 定义分类损失函数
将N个有序文本分为k类的表示方法为
式中:分割点为1=i1,i2,…,ik<N。
定义不同事故持续时间对应的文本向量划分为k类的损失函数为
从而,得到分类结果。
3.1.3 确定最优分类数
目前常用的k值确定方法是曲线法和β检验法。本文在此采用β检验法,确定最优分类数,其公式为
当β值较大时,说明划分为k+1 类比k类要更优;β值越接近于1时,则可认为该划分类数k为最优分类数。
3.2 分类算法
自然语言处理中的分类算法有很多,包括支持向量机(support vector machine,SVM)分类算法、逻辑回归(logistic regression,LR)、神经网络分类算法等[17-18]。本文选择支持向量机、逻辑回归对文本聚类模型进行评估。
3.2.1 支持向量机
支持向量机(SVM)是1 种监督式学习算法,泛化错误率低,具有良好的学习能力,可以解决小样本情况下的预测问题。其是将输入的文本向量映射到1个特征空间中,并在这个特征空间中寻找优化的线性分界线,随后构造出1个分离类别的超平面,从而实现对文本数据的分类。支持向量机(SVM)算法的决策函数为[19]
3.2.2 逻辑回归
逻辑回归(LR)是以某种结果发生的概率为因变量,影响该结果发生的因素为自变量建立的回归。逻辑回归本质和SVM一致,都是寻找具有最大间隔的超平面,但计算复杂度要远低于SVM,且分类速度也要快于SVM。
这2种算法均既可以用于回归,又可以用于分类,在参数不变的情况进行对比分析,可更有效的反应本文所建模型的适应性,且更适用于小数据集的研究。
3.3.3 模型评价
选取准确率P、召回率R、F值作为评价指标。准确率P表示对测试集进行时间区间分类后,预测为某类样本中真正属于该类别的样本所占比例,即
式中:r,t的含义见表3。
图5 LR回归模型与SVR回归模型预测结果图Fig.5 LR regression model and SVR regression model prediction results
表3 分类判别混淆矩阵Tab.3 The classification identifies the confusion matrix
召回率R表示对测试集进行时间区间分类后,预测为某类样本中真实类别占所有真实类别的比例,即
为了对准确率P和召回率R进行综合考虑,本文使用二者的加权调和平均数F来衡量最终的分类效果,即
考虑到本文对事故时间的分类任务面向的是多分类任务,因此再计算出各个类别所对应的准确率P、召回率R以及F值,采用各个类别所对应的平均准确率AVP、平均召回率AVR,以及平均F值AVF作为衡量时间区间分类器性能的评价指标。
4 仿真实验与分析
本实验基于Python 语言编写,选取预处理后事故记录数据和微博发布数据作为实验数据,运用式(3),计算得到四川省高速公路车辆平均出行时间为275 min,并以此为事故持续时间上限,在总数4 164条数据的基础上,筛选得到3 731条有效数据,有效占比为89.6%。其中训练集3 335条,测试数据396条。
4.1 回归预测
将事故文本数据经过分词、去停用词以及特征提取等基本流程处理后,把得到的特征向量矩阵为自变量,事故持续时间为自变量,分别采用逻辑回归(LR),支持向量机回归(SVR)方法对模型进行回归预测。
针对于测试集,无论是SVR算法还是LR算法,在事故持续时间预测拟合精度均较低,见图5 和表4。从图5(b)可知,尤其是SVR算法,预测结果集中在50~100 min 之间,难以在实际生产活动中产生有效作用;其次,虽然LR 算法的R2远大于SVR 算法,但其MAE和MSE性能指标均大于LR 算法,表明该模型预测结果的具有极高的不稳定性。因此,采用回归模型得到的预测结果几乎不具备实际效用。故结合实际道路交通管理部门的工作流程,根据事故状况对持续时间进行分区段处理,将更有助于道路管理部门开展应急管理工作。
表4 回归模型性能表Tab.4 Performance table of regression model
4.2 V-Fisher有序文本聚类模型
将经过自然语言处理后的特征向量,通过V-Fisher 聚类模型,得到不同分段结果以及所对应的损失函数值,见表5,并利用β检验法确定最优分类数;根据β检验值可知,当划分为3 段时β值最小,为1.001 2,且最接近于1,可以认为聚类效果最好。
表5 聚类结果及损失函数值、 β 值Tab.5 Clustering results and loss function values, β alues
对聚类后的结果分别采用SVM 分类算法、LR分类算法以及集成学习的思想对模型进行训练与预测,并针对于评价指标AVP,AVR,AVF进行对比分析,具体结果见表6和图6。
表6 各算法分类性能对比Tab.6 Classification performance comparison of algorithms
图6 各算法分类性能对比图Fig.6 Comparison of classification performance of each algorithm
从图6 可知,通过分类预测算法效果远好于回归预测,各项性能指标均在0.65 以上。尤其是在采用对SVM 和LR 集成后,模型准确率更是达到了0.82。而SVM 算法在预测过程中各指标值表现得较为平稳,没有较大的波动。综上,通过本文提出的V-Fisher 有序聚类模型,在单纯自然语言文本数据的基础上,各分类算法均表现出较好的预测结果,表明本文所建模型具有较好的适应性,将有助于在实际情景中对事故持续时间做出较为精准的预测,并达到预期的效果。
5 结束语
针对目前智慧交通领域研究热点,就大量交通事故信息被记录在自由流文本中的现象,引入自然语言处理技术,对高速公路事故持续时间预测问题展开研究。
1)基于事故文本数据,利用自然语言处理技术,建立文本驱动下的事故持续时间预测模型。适用于以自然语言形式存在的任何信息文本,更及时、有效、便捷的预测事故可能持续时间,从而满足交通管理和出行服务需要。
2)在传统文本分类基础上,提出1种针对于有序文本数据的聚类算法模型(V-Fisher),在一定程度上提升了事故持续时间预测有效性。
3)由于事故文本数据向量表示的稀疏性,传统回归预测模型的有效性较差,预测结果与真实结果存在较大偏差。而分类预测模型则受文本向量表示影响较小,在集成学习模型下准确率可以达到0.82。
本研究目前只是利用自然语言处理技术在交通领域中的试探性研究,因此,该方法还有待于进一步地应用检验,并不断扩充训练集数量,优化预测模型。