杨连报,刘新,董兴芝,李新琴,薛蕊,东春昭,徐贵红
(1.中国铁道科学研究院集团有限公司电子计算技术研究所,北京100081;2.中国铁道科学研究院集团有限公司运输及经济研究所,北京100081;3.中国铁道科学研究院集团有限公司铁路基础设施检测中心,北京100081)
随着我国高速铁路的迅猛发展和新技术、新设备的投入使用,对高速铁路的行车安全和技术规章管理提出了更高的要求。高速铁路技术规章是指高速铁路技术设备在交付运营后,涉及行车组织、信号显示、技术设备的运用、管理、维修等方面的规章制度。我国已经形成国铁集团—铁路局集团公司—站段的三级技术规章体系[1-2]。
制定有效、合理、有针对性的技术规章是我国高铁安全运营的重要基础保障。目前国内关于高铁技术规章的制定和优化进行了很多研究,郭锦[3]提出我国技术规章体系中国铁集团和铁路局集团公司级技术规章内容重复、抵触等问题的优化建议;王宇嘉等[4-5]提出应用层次分析法的模糊综合评价模型评价铁路局集团公司级铁路技术规章编制和修订前后对行车组织和安全的影响,并从目标、原则、方法及步骤3个方面对客运专业的技术规章进行优化;保鲁昆等[6]提出利用词频和共词统计定量分析铁路技术规章中内容和条款适应性;孙耿杰等[7]则应用系统工程理论实现工务专业技术规章目录的构建。
不同于既有技术规章的定性或定量的分析,以下提出一种新的基于历史非结构化文本数据分析的高铁技术规章优化方法,即根据技术规章修订专家制定的技术规章分类标准和标注的训练数据,应用集成学习LightGBM文本分类模型实现海量高铁安全巡检记录数据的智能分析和推理。其中,高铁安全巡检记录数据可以为技术规章的制定提供实际的数据参考,从而使技术规章的制定能更加符合现场作业的要求,具有实际的指导和约束作用。
高铁安全巡检记录是铁路局集团公司安监室以及车务、机务、工务、供电等各专业安全科人员在现场巡检时发现现场安全问题而形成原始和处理的非结构化文本记录,是铁路生产作业最直接的体现。既有的安全巡检记录分类主要是从业务角度来区分,并没有和技术规章进行很好对应(见表1)。
表1 高铁安全巡检记录样例数据
高铁安全巡检记录每年产生的记录数达到千万余条,传统通过人工手段对海量原始文档进行提取、处理和分类,不仅费时费力,而且达不到理想效果,已经无法适应当前对海量数据进行快速深度分析的需要。通过应用集成学习LightGBM文本分类模型,可实现巡检记录的智能多级分类。
实现非结构化高铁安全巡检记录的多级分类主要包含学习和推理阶段。其中,学习阶段主要通过制定多级分类标准,并随机选取2008—2018年的安全巡检记录中的部分数据作为训练数据进行标注。标注后的数据通过正则表达式进行数据中特殊字符、标点和英文符号的滤除,应用融合铁路领域词典的中文分词工具Jieba进行分词,并通过Word2Vec和TF-IDF分别生成特征向量,最后应用LightGBM模型实现模型的调参,形成训练好的模型。
高铁安全巡检记录按照技术规章的维度分为2级分类,其中一级包含设备问题、作业人员违规、管理人员违规、信息资料违规4大类,二级包含设备故障或损伤、作业人员出现管理问题、管理人员出现管理问题、信息资料管理违规等18小类(见表2)。
表2 高铁安全巡检记录技术规章分类标准
高铁安全巡检记录数据预处理主要是实现有关巡检记录中常用词的去除以及标点符号的滤除,此外通过对样本数据的观察,发现有很多日期、时间和地点描述,对于实现文本向量的表示会造成干扰。因为高铁技术规章分类的特征向量与日期、时间和地点都无关,最主要的是检查发现的问题和经过。因此采用了正则表达式将日期、时间和地点等干扰词进行了滤除。
在实现高铁安全巡检记录数据预处理之后,需要进行中文文本分词。采用融合铁路领域词典的分词方法和Jieba分词工具实现文本分词[8]。针对分词后的文件,可以使用TF-IDF和Word2Vec实现特征向量表示。其中,Word2Vec是2013年Google开源的可以在百万数量级的词典和上亿的数据集上进行训练的词向量分布式表示算法,成为目前文本向量分布式表示的主要方法[9-10]。
Word2Vec算法的实质为一个浅层神经网络,主要包含CBoW(Continuous Bag-of-Words Model)模型和Skip-gram模型。CBoW模型主要是利用上下文来预测某一个目标词的向量表达。Skip-gram模型则是根据目标词预测上下文,从而获得目标词的词向量。假设文本序列集为C={w1,w2,w3,…,wN},对于一个给定词wt,在选取窗口大小为j时,此时的Skip-gram模型主要是通过构建神经网络,使得在所有给定的词的情况下,能够最大可能预测出周围的词,模型的损失函数采用最大似然估计:
文本词向量表示Skip-gram神经网络模型的整体架构见图1。
图1 文本词向量表示Skip-gram神经网络模型架构
Skip-gram模型最终目标就是通过神经网络学习隐含层中的权重,使得根据给定词one-hot词向量预测出输出词的概率最大。在这一计算过程中,神经网络的隐含层实际上就是像1个word embedding查找表,其输出的1×V维的向量就是词向量。
高铁安全巡检记录文本按照技术规章标准分类是1个2级分类问题,针对多级分类问题可以按照多标签分类的模式进行划分,也可以按照分类器串联的方式,即先选择1个分类模型实现一级分类的识别,然后在一级分类的基础上进行二级分类。多级分类结果与普通分类结果的表示没有区别,均是直接为文本打上分类标签。直接选用集成学习框架LightGBM[11],对二级分类进行识别,之后根据分类关系获得一级分类标签。LightGBM是一个基于决策树的梯度Boosting框架,比传统的支持向量机、朴素贝叶斯分类等可以有更快的训练效率、更高的准确率,并且可以处理大规模数据,支持并行化学习。
LightGBM主要采用直方图算法实现连续的浮点特征值离散化为k个整数离散值,并构造宽度为k的直方图,这样可以较大减少内存的消耗,减少运算的复杂度。此外,LighGBM使用带有深度限制的按叶子生长(leaf-wise)算法,即每次从当前所有叶子中找出增益最大的叶子节点进行分类,从而避免产生过多的误差,为防止产生过拟合增加了最大深度的限制。上述算法的关键参数可以在模型训练中指定和进行调试。Light⁃GBM主要包含核心参数、控制参数、IO参数、目标参数、度量参数、网络参数等,在模型训练中常修改的便是核心参数、控制参数等(见表3)。
表3 LightGBM主要参数说明
实验选取某铁路局集团公司近10年的安全检查数据共计6亿多条,训练数据选取共计6 198条,主要采取准确率(Precision)、召回率(Recall)和F1值(F1)作为模型评价指标。
训练数据主要是首先根据多级分类标准进行标注,即为每条高铁安全巡检记录增加技术规章分类的二级标签,然后针对标注后的数据中的高铁安全巡检记录进行融合铁路词典的中文文本分词和基于Word2Vec的文本向量转换,同时将技术规章分类标签数据进行编码,最终将所有文本转换为数字表示的向量形式。
训练通过GridSearchCV进行网格训练和调优,其中采用80%的训练数据作为训练集,20%的数据作为测试集,最终得到最优的模型参数为:LightGBM设置树的应用类型application=multiclasss,模型使用算法boosting=gbdt,度量函数metric=multi_logss,最大深度max_depth=15,分类数量num_class=18,叶子节点数num_leaves=64,学习速率learning_rate=0.01,随机特征设置比列feature_fraction=0.8,重采样比例bag⁃ging_fraction=0.9,重采样频率bagging_freq=5,正则化系数lambda_l1=0.6。最后在测试集上得到训练结果(见表4)。
表4 模型训练结果
由表4可见,在学习阶段得到的模型整体的准确率、召回率和F1值都比较高,可以应用推理阶段,即实现剩余数据自动分类预测,为技术规章的优化提供支撑。
在我国高铁快速发展和走出去的关键时期,高铁技术规章的科学合理制定和优化关系到高铁的安全生产作业和运营。基于集成学习LightGBM的文本智能分类模型,以非结构化高铁安全巡检记录文本数据为分析对象,基于现场车务、机务、工务、供电等专业的实际作业中常见的作业违规问题,来进行有针对性的技术规章制定和优化,并可以进行有针对性的培训和重点的奖惩。如对于现场作业中常见的培训管理违规问题,可从在技术规章中增加培训次数、培训时长和培训考核的限制,以有效规避高铁运营中由于技术规章制定的疏漏、模糊和不具备针对性等造成现场作业不到位,从而从技术规章制定和优化角度规避风险隐患,避免故障乃至事故的发生,保障高铁的安全运行。