CTC/TDCS调度命令内容安全卡控技术研究
2024-04-16赵全赏姚大鹏费振豪
游 政,赵全赏,姚大鹏,费振豪
调度命令作为列车行车指挥的重要指令,对保障铁路运输安全具有重要意义。调度命令具有严肃性、规范性、单一性、即时性等特点,行车人员必须严格执行列车调度员的命令、指示,故对调度命令文本内容准确性的要求极为严格[1]。CTC/TDCS系统通过调度命令软件终端实现调度命令的拟写、编辑、下达、接收等功能,将命令复诵核对及主任审核等流程固化入软件中实现安全卡控,但该方式依然需要人工识别调度命令的准确性,易导致错发、漏发等问题[2]。
目前,通过智能算法识别调度命令,实现列车调度指挥数据的综合应用和分析,成为智能调度集中系统的重要补充[3-4]。彭其渊等[5]基于长短时记忆(LSTM)网络构建的序列-序列(seq2seq)模型算法可识别车站信息;袁枫等[6]基于生成式摘要模型和知识蒸馏算法,研究了符合铁路专业场景调度命令的解析方法;陈啸等[7]基于知识图谱识别CTC 系统故障日志文本,实现系统故障诊断和分析;李新琴等[8]基于多维字符特征表示方法以及Transformer 网络,实现了铁路设备故障文本对象识别提取。但上述模型、算法与既有系统融合存在识别响应延时,在当前CTC/TDCS 系统架构与业务要求范畴内,无法完全满足实际应用需求。
为提高调度命令文本的准确性,基于调度命令信息的校核规则,研究能够准确识别调度命令关键信息和检验反馈错误原因的策略,并应用于调度命令程序,以期进一步降低调度员的工作强度,提升铁路运输组织效率。
1 调度命令内容卡控策略
综合考虑系统功能性、可靠性、兼容性、可维护性等要求[9],提出调度命令业务类型识别、文本识别、业务逻辑检查3 方面的技术策略,并通过实例数据进行验证。调度命令内容卡控策略架构见图1。
图1 调度命令内容卡控策略架构
1)调度命令业务类型识别。由于调度命令种类繁多,其文本内容正确性的判断方法也随着业务类型不同而变化,因此需结合检查需求进行针对性分析。
2)调度命令文本识别。在明确调度命令业务类型后,结合CTC/TDCS 系统特点和调度命令性质,基于正则表达式、基础数据匹配、关键词辅助定位等算法,实现调度命令文本信息识别,针对性地提取各类命令信息。
3)调度命令业务逻辑检查。结合静态线路里程基础数据配置、实时运行图数据以及调度命令程序的实际操作状态,完成调度命令内容校核与卡控。若调度命令内容有误,用户界面(UI)应弹窗警告提示,且不允许调度员直接下发调度命令,实现调度命令下发的事前安全保障。
2 调度命令业务类型识别
调度员主要通过2 种方式编辑调度命令:①根据预制命令模板填充命令内容;②根据既有命令修改。第一种方式使用命令模板进行业务类型关联最为准确;第二种方式无法通过命令模板识别业务类型,可通过设置一个或一组特殊业务关键词进行命令类型识别。
分别设计模板编号与业务类型代号、业务关键词与业务类型代号之间的映射关系。如图2 所示,模板1~模板n组成调度命令模板库,关键词库则由单个词语和关键词组(如“封锁…救援”)组成。识别调度命令业务类型时,优先将当前调度命令所使用的模板文本与模板库文本进行匹配,若匹配成功,则可直接通过模板库中的编号映射业务类型;若未匹配成功,再通过业务关键词获取指定的业务类型代号。
图2 调度命令业务类型识别策略
3 调度命令文本识别
3.1 正则表达式识别
调度命令信息主要包括车次号、限速值、公里标值、行别方向、时间等5 种类型,这些数据均有固定的表述组合。由于正则表达式可以相对快速地获取固定格式的文本信息,因此本文使用正则表达式进行信息提取[10]。
1)车次号。调度命令文本中的车次号通常仅由字母和数字组成(如“0G123 次列车”),因此可通过正则表达式“ [0-9]{0,2}[a-zA-Z]{0,2}[0-9]*次”提取车次号信息。
2)限速值。调度命令中的限速值通常有具体范围要求,普速与高铁依据的限速值范围也不相同,而且限速值通常以5 km/h递增或递减;限速命令中的限速信息均需严格按照要求填写,以“km/h”为单位,因此可以通过正则表达式“d+km/h”提取限速值,且限速值需为5 的整数倍,并在指定的范围内,否则报警提示调度员进行校核。
3)公里标值。公里标通常为“12 km 3 m”或者“k12+3”格式的标准表述,公里标值则为数字类型,可以使用正则表达式“[0-9]{1,10}km[0-9]{1,10}m|k[0-9]{1,10}+[0-9]{1,10}”提取,并根据文本中公里标出现的先后顺序,依次判定为开始公里标值或结束公里标值。
4)行别方向。行别方向是纯中文的固定表述,因此可通过正则表达式“上行|下行|上、下行|上下行”提取,表达式中覆盖所有行别方向,确保提取准确结果。
5)时间。调度命令中的时间主要有2 种表述形式,“5 日10 时10 分”或者“10 时10 分”,后一种表述是前一种表述的真子集,对于此类型数据,通过正则表达式提取日期信息时将获得重复数据,因此需先以“[0-9]{0,2}日[0-9]{0,2}时[0-9]{0,2}分”提取含日期的时间,然后剔除已识别的时间信息,再以“ [0-9]{0,2} 时[0-9]{0,2}分”提取不含日期的时间[11]。由于不含日期的时间并不是精确的时间表达,因此程序计算时自动将该结果认定为当天日期的时间。
3.2 基础数据匹配
调度命令中也包含了大量的基础要素信息,主要有线路名称、车站名称、调度台名称。这些行车指挥要素指定了具体的作业范围、作业负责单位等信息,且以变量的形式存在于不同的调度命令中。对于这类非确定值的业务数据,可通过设计各类基础数据词典的配置信息,将词典中的固定名称依次与文本内容进行字符串匹配,从而实现以确定值查找非确定值的策略。如图3所示,依次将配置的线路名词典、车站名词典、调度台名词典与文本内容进行比对识别,并最终提取出线路名“甲”、车站名“A”和“B”、调度台名“a”。
图3 基础数据词典的文本匹配
3.3 关键词辅助定位
由于调度命令由人工灵活拟定,而非格式化输入,通常涵盖若干组有效业务信息,因此调度命令内容卡控技术需根据业务信息,针对性地进行逻辑校核计算,识别各组业务信息之间的关联性,以正确理解调度命令语义。
调度命令文本通常以标准的行为动词或连接词来指挥现场施工或者运输组织,因此可基于文本中各类指挥业务关键词的位置进行辅助定位,分别发掘前方或者后方的文本业务数据对象,形成一组有效关联的业务信息,为后续调度命令卡控校核提供可靠输入。常见的调度命令指挥行为关键词见表1。
表1 常见的调度命令指挥行为关键词
4 调度命令业务逻辑检查
在识别调度命令业务类型并提取车次号、限速值等业务数据后,即可对调度命令的文本内容进行业务逻辑校核计算。调度命令正确性主要包含所表述业务信息的准确性、有效性及所涉及的业务传达操作的规范性。
4.1 业务信息准确性计算
首先需设定标准数据作为业务信息准确性评价的参照依据,然后再设计相关业务逻辑校核算法。本文以调度命令中最复杂、最常见的线路里程信息为例来阐述校核算法的设计。
4.1.1 标准数据配置
线路里程信息准确性的参照依据是标准工程的线路里程基础数据,这些数据目前以零散的静态配置数据格式存储在CTC 系统中。为实现调度命令软件系统的逻辑运算,设计了以车站为节点的线路里程基础数据拓扑结构,见图4。基于该拓扑结构,建立静态配置数据文件用于程序读取与计算,配置规则如下。
图4 线路里程基础数据拓扑结构
1)以车站为节点,每个车站节点用站号表示,一个车站包含若干个出入口,每个出入口对应一个向外连接的车站站号及该连接车站的出入口号。
2)铁路线路将各个站号连接,在出入口数据中体现连接关系,每条出入口数据包含中心公里标与出入口公里标的数值、线路名称、公里标系、行别号。
3)以车站各出入口为纽带连接各个车站节点数据,从而组成整体铁路线路网络,最终以拓扑结构数据建立完整的里程信息配置规则,准确描述线路区间范围的精准位置。
4.1.2 数据校核算法设计
基于线路里程基础数据拓扑结构,将调度命令文本中提取的基础业务数据组与线路配置数据依次进行逻辑比较运算,逐步校核各业务数据并通过调度命令程序弹窗警告提示调度员,校核流程见图5。
图5 线路里程信息校核流程
Step 1检查公里标值的升降顺序是否与调度命令文本中开始、终止公里标值的升降顺序一致,如不一致则退出检查,提示“请核对行别方向”。
Step 2检查文本中开始公里标与结束公里标的升降顺序是否与起、止车站节点在线路数据中出现的顺序一致,如不一致则退出检查,提示“请核对车站区间方向”。
Step 3检查起、止公里标与起、止车站描述范围是否一致,若完全没有交集,则退出检查,提示“公里标与区间范围完全不一致”。
Step 4将起始公里标与起始车站所对应的车站范围进行数值校核,如不一致则退出检查,提示“请核对开始公里标”。
Step 5将终止公里标与终止车站所对应的车站范围进行数值校核,若一致则此调度命令中线路里程信息准确无误,若不一致则不进行其他检查并提示“请核对终止公里标”。
4.2 业务数据有效性评判
CTC/TDCS 各子系统不断地产生和更新运输调度数据,且各种数据之间存在着紧密的业务关联,可通过增设共享数据服务器来访问各子系统的实时运输调度数据,并对外提供数据查询服务,调度命令程序子系统仅需向后台数据服务器发起请求,即可获取各类实时公共业务数据。
调度命令中的车次信息是重要的行车指挥对象,在实际作业过程中,通常应先在实时运行图中绘制列车运行线,再拟制包含列车车次的调度命令文本,因此依据实时运行图,即可实现调度命令文本中车次号的比对校核。调度命令与运行图分别使用2 套子系统处理,调度命令程序向共享数据服务器请求实时运行线信息,并在实时运行线数据指定时间范围内检索调度命令中的车次信息。若提取的车次信息为错误数据,则无法从运行图数据中获取指定的运行线数据,系统即可判断该车次号为无效的错误输入,并通过警告信息提示调度员校核。
4.3 业务传达操作的规范性检查
调度命令业务传达操作的规范性主要指调度员规范设置调度命令需发送的收令单位以及无线收令车次。基于调度命令文本识别策略可获得关联车站及调度台等信息,即为调度命令需设置的收令单位。将提取的收令单位与当前调度员实际设置的收令单位列表进行比对分析,判断是否存在多发、漏发、错发的情况。此外,根据调度命令内容中提取的车次信息,可检查调度员是否设置了无线收令车次,从而检查该调度命令是否已传达至列车。
5 实例验证
5.1 试验设计
1)试验数据。本文以铁路局集团公司的实际调度命令数据为例,来验证调度命令内容卡控技术的准确性,试验数据设计见表2。
表2 试验数据设计
2)试验参考标准数据。本文构建了富拉尔基、富拉尔基西场、虎尔虎拉站三站二区间的公里标标准数据作为试验命令文本的校核参考依据,见图6。
图6 试验参考标准数据
5.2 结果分析
将调度命令输入程序后,获得调度命令内容识别结果和卡控结果,见表3。
表3 试验结果
由表3 可知,该命令为限速类调度命令,限速值为45 km/h,车次号为12345,时间为10 日10 时10 分,文本中包含富拉尔基与虎尔虎拉2 个车站,限速范围是富拉尔基站(含)至虎尔虎拉上行183 km 500 m至189 km 050 m。以上识别结果可卡控收令车站、检测实时车次信息、评判命令有效时间、限速值合法检查、校核线路里程范围及该范围内的隐含车站。基于标准里程数据评判,调度命令文本内容中三站二区间所描述的线路范围正确,但漏写“富拉尔基西场”,且未勾选虎尔虎拉站,限速时间晚于当前系统时间。
基于校验结果,通过调度命令程序UI 界面弹窗警告,提示内容为“命令时间晚于当前时间、限速范围漏写富拉尔基西场、收令人未选择虎尔虎拉站”。调度命令程序不允许直接下发有误的调度命令,调度员可根据提示信息修改命令内容,从而达到调度命令校核、卡控一体化的目标。
6 结论
1)经过10 000 条以上的调度命令实例数据测试验证,该调度命令内容识别与卡控策略的准确度达到98%以上,符合调度命令内容卡控的实际需求。
2)结合铁路局实际应用情况,可持续补充卡控场景并优化检查策略。
未来再结合更加稳定的人工智能语义分析技术,可进一步扩大调度命令内容识别与卡控策略的应用范围,为CTC/TDCS 系统智能化发展提供技术支撑。