Loading [MathJax]/jax/output/SVG/jax.js
  • 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

铁路新一代客票系统大数据应用创新研究

朱建生

朱建生. 铁路新一代客票系统大数据应用创新研究[J]. 铁路计算机应用, 2019, 28(4): 1-7.
引用本文: 朱建生. 铁路新一代客票系统大数据应用创新研究[J]. 铁路计算机应用, 2019, 28(4): 1-7.
ZHU Jiansheng. Big data application innovation of new generation of railway ticketing andreservation system[J]. Railway Computer Application, 2019, 28(4): 1-7.
Citation: ZHU Jiansheng. Big data application innovation of new generation of railway ticketing andreservation system[J]. Railway Computer Application, 2019, 28(4): 1-7.

铁路新一代客票系统大数据应用创新研究

基金项目: 

国家重点研发计划(2018YFB1201404);铁路总公司科研计划课题(2017X004-C;2018F012)

详细信息
    作者简介:

    朱建生,研究员。

  • 中图分类号: U293.22;TP39

Big data application innovation of new generation of railway ticketing andreservation system

  • 摘要: 介绍铁路新一代客票系统,基于铁路新一代客票系统建设和运营过程中积累的大量的系统运行、业务运营等数据,结合分布式数据存储和计算框架、实时流式计算分析和大数据可视化技术等关键技术构建铁路客运大数据平台,实现了票额智能预分、铁路旅客画像和客运运营支撑等大数据应用创新。提出铁路客运大数据在扩大铁路客运业务应用范围,提升旅客出行体验,以及构建交通大数据业务生态圈等方面进一步研究的方向。
    Abstract: This paper introduced a new generation of railway ticketing and reservation system. Based on a largeamount of data accumulated during the construction and operation of the new generation of railway ticketing andreservation system, such as system operation and business operation, a big data platform for railway passengertransport was constructed by combining key technologies of distributed data storage and computing framework, realtime flow computing analysis, big data visualization technology. It was implemented the big data application innovationof intelligent ticket pre-allocation, users portrait of railway passenger and passenger transport operation support. Thepaper put forward the direction of further research on railway passenger transport big data in expanding the scope ofapplication of railway passenger transport business, improving passenger travel experience, and constructing the trafficbig data business ecosystem.
  • 对话系统早在上个世纪60年代就已经出现,Eliza[1]是第一个对话系统,能够实现简单人机问答对话。随着人工智能自然语言处理技术不断发展,目前的智能对话系统允许用户通过语音或自然语言文本与机器进行交互,不仅提高工作效率,也提升了用户体验。科技巨头(微软、Google、百度、阿里等)纷纷发布了智能人机对话产品和服务对话系统,如苹果Siri、小度智能音箱、比亚迪汽车小迪语音助手等。尤其是OpenAI公司发布ChatGPT[2]模型后,业界更加重视基于自然语言的智能交互技术,各行业智能对话系统的应用日益广泛。例如,智能家居对话系统可通过语音指令控制家电设备,使人们生活更为轻松便捷;智能客服机器人能够随时在线解答用户问题,并推荐相关产品信息;人工智能医疗对话系统能够像医生一样与患者对话问诊,给出初步诊断和治疗建议;金融对话系统可识别客户意图,为客户推荐适宜的贷款理财产品等。

    随着我国铁路客运的不断发展,全国铁路每天开行的旅客列车数量不断增加,客运业务种类日益丰富。铁路客运营销业务人员在业务分析和运营决策的过程中,面临着更加复杂多变的场景。为了提高铁路客运营销分析能力,单杏花等人[3]开展营销分析架构的研究,融合数据仓库技术、客流预测模型技术以及票额预分预警等,研发了铁路客运营销辅助决策系统,通过铁路客运市场调查、预测与分析评价,为运营策划提供决策支持;张军峰等人[4]整合客票系统数据、十八点统计数据、财收数据以及客流调查数据,开发了基于Cognos的铁路局集团公司客运营销辅助决策系统,为铁路局客运营销分析人员提供了内容丰富形式多样的数据统计和分析报表;汪健雄等人[5]采用开源商业智能技术,实现铁路客运业务数据的抽取、转换和装载,提供报表立方体和OLAP分析应用,且支持数据报表的自定义开发,增强了铁路客运营销分析能力。

    目前,铁路客运营销业务人员主要是通过铁路客运营销辅助决策系统来开展数据分析工作,使用各种固定业务主题的报表,但是这些报表只能满足日常性分析需要。有不少分析场景没有现成的报表可用,往往需要依靠技术人员从客运数据仓库中检索业务分析所需的数据,手工整理成所需的报表和图表,且业务人员需要收集和整理大量相关数据,才能得到所需的分析结果。为了进一步提高铁路客运营销分析能力,尝试将智能对话系统应用于铁路客运营销分析,使业务人员能够以自然语言人机对话方式获取所需数据。

    本文研究铁路客运营销分析智能对话系统(简称:客运分析对话系统),利用自然语言处理技术,准确理解用户(铁路客运营销业务人员)语音提问中蕴含的数据分析意图,运用数据挖掘技术自动完成数据分析任务,为用户提供专业、准确的应答信息,以期提高铁路客运营销分析业务的智能化水平。

    智能对话系统对用户输入的自然语言语音进行处理和分析,理解其真实意图后,以适宜的方式自动应答用户。根据不同的应用场景,智能对话系统划分为开放域(open-domain)问题和封闭域(closed-domain)问题2种类型[6]。本文研究的客运分析对话系统属于封闭域问题,对话场景应用于铁路客运营销分析业务,通过整理铁路客运专业术语和常见的铁路客运营销业务用语,使该系统通过理解铁路专业术语,准确识别用户意图。

    本文设计的客运分析对话系统划分为语音识别、自然语言文本处理、智能数据挖掘、智能应答4个主要功能模块,系统模块划分与工作流程如图1所示。

    图  1  客运分析对话系统模块划分与工作流程示意

    (1)语音识别模块利用语音识别模型对用户语音数据进行处理,包括语音唤醒和语音输入;其中,语音唤醒是根据语音关键词声纹,允许用户通过语音指令来启动语音输入;语音输入读取用户音频数据,并将其转换成自然语言文本,作为后续自然语言处理的输入数据。

    (2)自然语言处理模块完成自然语言文本处理,先对存在大量口语化信息的自然语言文本数据进行预处理,形成规范化文本数据,依次进行分词处理、词法句法分析和语义分析后,准确理解用户意图。

    (3)智能数据挖掘模块根据用户意图,从数据库中抽取相关数据,运用数据挖掘分析方法完成数据分析,形成数据分析结果。

    (4)智能应答模块是将数据分析结果转化为对用户的应答,通过自然语音合成语音应答,或者以可视化方式呈现数据分析结果,为用户提供正确的应答信息。

    自然语言处理是智能对话系统的关键技术,通过语音识别、自然语言文本处理、语义理解来明确用户意图,理解用户所需的数据服务,以确定后续数据挖掘任务。

    语音识别是将语音数据转换成文本数据的技术,是典型的模式识别应用,其核心是对输入的语音数据进行预处理,提取特征参数,并训练声学模型。传统语音识别主要方法有隐马尔可夫法(HMM)、矢量量化法(VQ)和动态时间规整法(DTW)[7]。在应用过程中,语音识别方法对环境要求较为严格,在不同条件环境下识别精度会有差异,多数情况下要求环境相对安静,以消除噪声影响。同时,对语音说话者要求也比较严格,不同的语调、语速也会导致不同的识别精度。此外,语音识别对系统响应速度要求较高,传统的语音识别方法在处理语音数据时消耗较多系统资源,会导致系统响应慢,影响用户体验。研究表明,深度学习方法在各种模型训练中具有明显优势,利用深度学习进行语音特征提取和声学建模非常成功,语音识别准确度较高[8]

    本文使用的开源语音识别工具包是WeNet。它具有高性能、易部署的特点,模型兼具传统卷积神经网络(CNN,Convolutional Neural Networks)和Transformer的优势,使语音数据处理更加高效。此外,模型训练完全基于 Pytorch 生态,不依赖 kaldi 等复杂工具,开发调试更为简便,识别准确率也较高。

    语音唤醒是一种特殊的语音识别技术,可作为一种语音数据接收方式,通过语音唤醒自动开启对话服务,该工作模式被广泛应用于各种智能化设备[9]。在实际的应用场景中,语音唤醒应用偶尔会出现自动唤醒或无法唤醒的情况,主要是因为语音唤醒关键词识别精度过低或过高所致。

    本文使用WeNet框架进行语音唤醒模型训练,实现语音唤醒服务,并通过训练数据集,完成语音唤醒模型的参数调优。为此,设置了铁路客运服务特定的唤醒词,如“小铁小铁”和“你好小铁”,并对唤醒热词进行定向增强,以提高语音识别率。此外,为了消除背景噪音的干扰,在语音训练集中加入不同的噪音声,利用真实的加噪语音数据来训练语音唤醒模型。

    将训练好的语音唤醒模型部署在本地服务中,实时开启麦克风,启动录音功能,利用语音唤醒模型实时处理语音流式文件,实现唤醒热词离线识别,以提高响应效率,降低系统延迟。

    针对开放办公室、封闭会议室和户外3种不同场景进行实验,以唤醒率(唤醒率=语音唤醒次数/测试语音数)作为语音唤醒功能的性能评价指标,实验结果如表1所示。

    表  1  语音唤醒实验结果
    实验场景 麦克风距离/m 测试语音条数 语音唤醒次数 唤醒率
    办公室 <3 200 194 97.0%
    会议室 <3 200 196 98.0%
    户外 <3 200 191 95.5%
    下载: 导出CSV 
    | 显示表格

    表1可知,在相对安静的办公场景下,语音唤醒率达到95%以上,能够较好地满足日常工作需求。

    用户通过语音唤醒启动对话服务,继续输入语音数据,或是不通过语音唤醒服务,手动开启语音输入功能来直接输入语音数据。

    对话系统的语音识别是将输入的语音数据自动转换为文本数据,即生成一段文字序列(由词或字组成),使其与输入的那一段语音数据的匹配度最高。考虑到现实中存在大量连续语音输入的场景,本文将输入的语音数据转换成数据流实时上传到云端服务器,利用云端服务器强大的计算能力来完成声学模型和和语言模型的解码,以获得连续的语音识别文本结果。本文语音识别的环境场景相对安静,受背景噪音影响较少。另外,考虑到语音输入用户是铁路客运营销业务人员,普通话水平较高,可忽略方言对语音识别准确度的影响。

    目前,基于RNN-T的语音识别模型[10]已经应用于铁路旅客服务智能机器人,并取得良好的效果。本文在该模型中增加入了针对铁路客运营销分析专有名词的处理机制,使语音识别准确率在原模型92.09%的基础上进一步提高。

    一般情况下,语音识别得到的自然语言文本较为口语化,需要通过自然语言处理(NLP,Natural Language Processing)技术,将其转化为计算机能识别的结构化信息。如何从一段非结构化的文本数据中提取结构化信息,是自然语言信息抽取的关键。自然语言信息抽取过程主要划分为3步:(1)对非结构化的自然语言文本数据进行预处理,(2)抽取关键文本信息,(3)对抽取信息进行规范化表达。

    自然语言文本预处理是将口语化自然语言文本转换成计算机能够正确识别的文字文本,例如,需要将语音文本“高幺零七五次列车人数”转换为“G1075次列车人数”,文本“直幺两拐列车客座率”要转换为“Z128列车客座率”。为了更好识别铁路客运业务特定的专有名词,得到正确的文本信息。本文建立基于正则表达式的自然语言文本预处理模型,通过匹配算法来识别铁路客运服务专有名词。

    正则表达式是字符串匹配的一种算法,通过通配符来实现字符串匹配,如字符“*”表示能匹配任意多个字符串,字符“?”匹配某一个字符。设文本字符串为W,长度为n,正则表达式为ε,能匹配ε的字符集合为Q ,设ij为字符串的下标,如果存在ij(ij)使得WijQ,则Wij为匹配到的字符数据。

    以铁路客运车次号识别为例,铁路客运车次编号以列车种类汉语拼音首字母和阿拉伯数字组成,是一种用于区分不同方向、不同等级列车车次的标识代码。车次编号规范如表2所示[11]

    表  2  客运列车车次编号规范
    列车等级 字头 列车类型 车次编号 标准念法
    高速动车组 G 直通 G1-G4998 高xx次
    高速动车组 G 管内 G5001-G9998 高xx次
    城际动车组 C 管内 C1-C9998 城xx次
    动车组 D 直通 D1-D4998 动xx次
    动车组 D 管内 D5001-D9998 动xx次
    直达特快列车 Z 直通 Z1-Z4998 直xx次
    直达特快列车 Z 管内 Z5001-Z9998 直xx次
    特快列车 T 直通 T1-T3998 特xx次
    特快列车 T 管内 T4001-T9998 特xx次
    快速列车 K 直通 K1-K4998 快xx次
    快速列车 K 管内 K5001-K9998 快xx次
    普快列车 - 直通 1001-3998 xx次
    普快列车 - 管内 4001-5998 xx次
    普客列车 - 直通 6001-6198 xx次
    普客列车 - 管内 6200-7598 xx次
    通勤列车 - - 7601-8998 xx次
    临时旅客列车 L 直通 L1-L6998 临xx次
    临时旅客列车 L 管内 L7001-L9998 临xx次
    临时旅游列车 Y 直通 Y1-Y498 游xx次
    临时旅游列车 Y 管内 Y501-Y998 游xx次
    下载: 导出CSV 
    | 显示表格

    根据客运列车车次号的标准念法,设置相应的正则表达式。同时,考虑到用户在念车次时会有各种表达习惯,还需要匹配其它不同模式,比如“G123” 次列车还有“高一二三”“高幺二三”、“高幺两三”“高一百二十三”等念法。为此,针对车次号匹配,本文设置了如表3所示的数字语音文字与标准数字文字的对应关系。

    表  3  数字语音文字与标准数字文字的对应关系
    文字
    转义
    下载: 导出CSV 
    | 显示表格

    根据上述对应关系建立正则表达式模型,实现列车车次编号的准确识别。

    除了车次外,铁路客运服务对话中还有其它专有名词需要特殊处理,例如“精报”“速报”“上车局”“担当局”“沿途局”“OD”“预分”“候补兑现”“常旅客”“新票制”“三率”等用语,需要提前设置这些专有名词用语的特定正则表达式。

    分词是将一段自然语言文本按照一定的规则进行拆分,将其转化为词的集合。中文自然语言文本的分词与英文大不一样,由于中文词之间没有空格,使得中文自然语言文本的分词更为复杂。一个典型的例子是,“武汉市长江大桥”在分词时可能出现“武汉/市长/江大桥”和“武汉市/长江大桥”的分歧。在铁路客运方面也存在类似问题,“北京局长票数”该文本在一般情况下可能会被理解为“北京/局长/票数”,而在铁路客运业务场景中应理解为“北京局/长票数”。因此,分词处理也需要结合铁路专有名词词汇,对客运服务对话自然语言进行分词处理,并剔除文本中的标点符号、介词、语气词等。

    在文本分词处理上,对于任意一段自然语言文本,将其拆解成一个字串集合C={c1,c2,,cn},按分词划分后有词串集合W={w1,w2,,wm}nm分词算法模型的目标是找到一个分词方案,使得分词方案的词频概率最大。设P(W|C)是字符串C得到的分词方案W的概率,PC)是字符串在分词语料库中出现的概率,PW)是词串在分词语料库中出现的概率。对于分词方案W,即有

    P(W|C)=P(C|W)P(W)P(C) (1)

    通常,P(C|W)表示从词串W得到字符串C的概率是唯一的,显然P(C|W)=1。对于同段自然语言文本的2个不同分词方案WaWb,如果P(Wa)>P(Wb),则必有P(Wa|C)>P(Wb|C),且P(Ca)=P(Cb)。因此,评判一个分词方案的好坏,只需要关注分词语料库中对应词频的出现概率,可有效简化自然语言文本分词算法。

    针对铁路客运服务场景,本文设计了分词语料库,主要包括“客座率”“发送量”“车内人数”“动车组”“密度表”“余票”“售出”“票额预分方案”等300多个分词,对每个分词设置词频,通过上述概率语言模型能够很好的形成词语切分方案。

    (1)词法分析:主要包括词性标注、词义消歧等[12],以确定每个分词的实际含义。本文中,自然语言文本词法分析采用基于规则的算法。在词性标注上,一方面是对常用的词语进行语料库标注,常见的比如“车次”“车站”“路局”“指标”是名词,“查询”“分析”是动词。另一方面是基于规则方法,一种是从汉语语法规则判断词性,如介词后面接名词;另一种是基于模板的匹配规则法。在客运营销分析问题文本中,通过配置问题模板判断词性,如常用模板“xy是多少?”xy均为名词。按照此模版,针对问题文本“请问北京的发送量是多少”,从模版匹配上可以判断“北京”和“发送量”的名词词性。在词义消歧方面。确定出歧义词在特定语境中的具体含义。同一个词语在不同的语境中,它的含义可能会有所不同。比如词语“车底”在铁路行业和在一般性对话表达的含义不同,一般情况下会是认为是车的底部,而在铁路指的是列车车组。本文的词义消歧采用人工标注方式解决,由于铁路客运专业用语存在歧义较少,人工标注能覆盖大部分数据分析场景。

    (2)句法分析:主要是分析文本中各分词实体含义及其之间的关系。本文建立针对停用词、关键词、实体词、修饰词、主题词、类目词、情感词等词句法分析规则。停用词是文本用于停用的单词,一般无意义,如“的”“了”等;关键词是对文本的重点提取,包括“客流预测”“票额预分”等;实体词是营销分析的实体对象,例如“国铁”“北京局”“珠三角城际”等;修饰词是对实体对象的修饰,例如“始发”“终到”“途径”等;主题词用于明确数据分析主题,进而识别分析意图,例如“售票组织”“候补购票”等;类目词是方便将分析内容归属到不同的类目,例如“发送”“客运收入”等;情感词表征文本的情感倾向,例如“下降”“好”“坏”等。实体之间的关系,文本通过修辞结构和依存关系进行比对分析,确定文本是主谓关系、动宾关系和并列关系等。本文结合业务人员的工作经验和日常语言习惯,构造了客运营销词法分析规则库,实现自然语言文本预处理,为自然语言语义理解提供输入信息。

    自然语言语义理解是为了识别语义角色,以理解自然语言文本的具体含义。自然语言文本理解需要结合上下文语境、现场语境等,才能准确理解各分词之间的逻辑关系。例如,对于“北京到上海的客流量”和“上海到北京的客流量”这两段自然语言文本,按分词处理后得到的分词集合都是{北京,上海,到,客流量},但两段自然语言文本所表达的含义是不同的。本文采用的词向量分析法,在理解分词之间的关系上,将分词转换成词向量。通过词向量和语义关系分析,将分词转换成逻辑空间关系,便于理解句子的语义信息。

    在语义理解上,本文主要是基于长短期记忆神经网络(LSTM,Long Short-term Memory Networks)的深度学习技术,将提前准备好的自然语言文本数据进行单词分词和词性标签标注,把文本句子处理成相同长度的序列。使用Trax的LSTM来建立自然语言文本语义识别模型。例如,对于“请问一下今年五月份高八九次列车的平均客座率”这样一段自然语言文本,通过模型计算后,识别出这段自然语言文本的含义是查询车次是“G89”、时间为“今年五月”,查询数据项是“平均客座率”。针对类似场景,本文整理了400余条日常工作常用自然语言文本数据,将其中250条用于训练,其余150条用于测试。经过训练和调优后,数据验证结果如表4所示。

    表  4  自然语言文本语义识别模型验证结果
    类别 词法句法分析准确度 语义理解准确度
    验证数据集 95.3% 92.7%
    下载: 导出CSV 
    | 显示表格

    目前,样本数据比较少,后续需要不断增加样本数据,对自然语言文本语义识别模型进行训练,进一步提高该模型识别语义的准确度。

    数据挖掘是从海量数据中提取有价值信息。在通过自然语言文本语义识别模型识别出旅客的真实意图后,利用数据挖掘技术, 实现智能化数据挖掘服务,面向用户提供有价值的信息服务,为铁路企业开展客运营销提供辅助决策支持。

    智能数据挖掘主要包括2类任务:智能数据查询和智能数据分析。智能数据查询是相对简单的查询任务,能够直接从数据库中检索出用户所需数据并马上返回查询结果,例如:“什么是客座率”、“昨天的客流量是多少”等。智能数据分析是面对复杂问题时,不但需要从数据库中检索相关数据,还要对检索出的数据进行挖掘分析,才能获得恰当的数据分析结论来回答用户,例如:对于“分析一下本周客流下降的原因”这个问题,需要选择合适的数据挖掘任务,通过对不同区段、分不同列车等级、不同方向、不同席别等多个变量之间的依赖关系对比分析后,才能找到导致客流下降的最主要因素。对于“五一放假期间铁路客流有什么特点”这个问题,需要从客票发售量、OD客流量、列车运用效率、客流成份等方面开展数据挖掘,才能得出全面、可靠的客流特点分析结论。

    根据用户数据分析意图,通过选择合适的数据挖掘分析任务,对应形成的分析结果符合用户需求预期。系统需要判定是通过智能数据查询,还是通过智能数据分析来获取分析结果数据。

    本文采用近邻算法来确定数据挖掘任务类型。自然语言文本处理模块对文本进行预处理后,得到规范化文本分词,在客运营销词法分析规则库中,提前标注每一类分词的数据挖掘任务选择系数α=(x,y);其中,x表示选择智能数据查询任务(即任务x)的概率,y表示选择智能数据分析任务(任务y)的概率,则有x[0,1],y[0,1];例如,“客座率”的选择系数为(0.9,0.1)、“客流特点” 的选择系数为(0.1,0.9)等。

    近邻算法的基本思想是:在特征空间中设定某个类别中心点,如果一个样本与那个中心点最相邻,则该样本也属于这个类别。通过计算分词与分类中心点的距离,并根据样本距离确定数据挖掘任务类型。设任务x的中心点为(1,0),任务y的中心点为(0,1) 。对于一个文本分词集合有n个分词,对应的选择系数为α1,α2,,αn。采用欧式距离计算选择系数与中心点的距离:对于任意一个分词选择系数(a,b),与任务x的距离为:dx=(a1)2+b2,与任务y的距离dy=a2+(b1)2 。设所有分词与任务x的总距离为Dx,与任务y的总距离为Dy,如果Dx<Dy则选择任务x,否则选择任务y。由于各分词主题的分析任务类型较为明确,得到的选择系数倾向性较为明显,选择系数的设置相对合理,任务选择的准确性高。

    智能数据查询要为用户生成准确的答案,需要先明确用户提问的时间和用户关注的地点或地区等基本属性。例如,用户提问“今天的客流量是多少?”,对不同用户和不同日期,该问题的答案是不一样的。中国铁路北京局集团有限公司(简称:北京局)用户想要得到的答案是北京局全局的数据,上海站用户得到的答案则是上海站本站的数据,客流量指的应该是出发量而不是到达量。因此,根据问题的基本属性特点,本文建立了时间、用户、数据指标等属性值映射模型,用于当前对话的属性信息。例如,将“今天”映射成当天日期值,将“本局”映射成具体铁路局或者当前用户所属地区。这样,可将属性值转成具体数值,再通过SQL语句从数据库中提取相关数据,来生成精确的应答数据。

    本文采用基于Bert模型的Text-to-SQL技术,将规范化自然语言文本数据转换成计算机可执行的SQL语句的技术,以完成数据查询。Bert是深度学习模型Transformer 的变体,具有较高的泛化特性[13],将Bert模型应用于Text-to-SQL的工作原理如图2所示。

    图  2  Bert应用于Text-to-SQL的工作原理示意

    先对自然语言文本进行分词,通过编码器转换成分词向量Ei;经过多层的模型转换后,生成SQL向量特征编码Ti,按照不同数据库语法规则,组合生成SQL语句。由数据库执行SQL语句,并返回查询结果。

    例如,对于用户提问 “我需要查看一下2024年上半年全国铁路发送量”,通过自然语言文本处理模块,将自然语言拆分成“查询/2024年上半年/旅客发送量”,并转换成分词向量Ei,其中E1=“查看”, E2=“全国铁路发送量”,因为发送量是按照乘车日期计算的,还需识别出E3=“乘车日期”,E4=“2024年上半年”,假设旅客发送量存储在客流表(设表名为TableName)中,故E5=“客流表”。通过Bert模型,该问题文本被转换为SQL向量特征编码Ti,根据客运分析对话系统中数据库的语法特点,得到T1=“SELECT”; T2=“SUM(up_num)”; T3=“train_date”;T4= “BETWEEN ‘20240101’ and ‘20240630’ ”; T5= “FROM TableName”。根据SQL语法,最后生成SQL语句:

    SELECT SUM(up_um) FROM TableName

    WHERE train_date BETWEEN ‘20240101’ AND ‘20240630’

    由指定数据库执行SQL语句,返回查询结果数据。

    例如,用户提问“查看昨天北京局的客流量”,识别出用户要查询的范围“北京局”为上车局,查询时间为“昨天”,查询数据为“客流量”,对应的SQL语句为:

    SELECT SUM([发送量])FROM [客流表] WHERE [车次日期]=‘昨天’

    AND [上车局]=‘北京’

    例如,用户提问“查看高八拐两次列车四月份的客座率”,识别车次范围是“G872”,日期范围“四月份”是指始发日期,对应的SQL语句为:

    SELECT SUM([实际周转量])/ SUM([票额周转量])AS [客座率]

    FROM [能力表] WHERE [始发日期] BETWEEN‘20240401’ AND ‘20240430’ AND [车次]=‘G872’

    为了验证自然语言文本转换成SQL语句的准确性,通常使用WikiSQL[14]和 Spider[15]数据集进行模型测试。同时,本文根据日常客运营销分析场景中的常见问题,收集整理常用问题数据集用于模型测试,并采用BLEU (Bilingual Evaluation Understudy)[16]评分作为评估指标。BLEU评分数值处于0~1之间,越接近于1表明基于文本生成SQL的正确率越高。

    针对售票业务查询、客流分析查询、其他业务查询3类典型的客运营销分析场景,分别制作200个自然语言文本测试用例,其对应BLEU分数如表5所示。

    表  5  3种客运营销分析场景测试结果的BLEU评分
    分类 BLEU评分
    售票业务查询 0.79
    客流分析业务查询 0.83
    其它业务数据查询 0.73
    下载: 导出CSV 
    | 显示表格

    表4可知 ,针对该模型在铁路客运营销分析应用达到可接受的水平,能够有效的将自然语言文本转换成合法正确的SQL语句。

    智能数据分析需要运用数据分析算法模型来寻找回答用户复杂问题的答案。本文引入智能Agent技术[17],构建智能数据挖掘模型。需要针对用户具体的数据分析需求(意图),确定合适的数据挖掘任务,并选择相应的数据分析工具方法,以生成数据分析结果。如果客运分析对话系统给出的数据分析结果与分析需求不匹配,则需要根据情况重新处理数据,或是重新选择数据挖掘任务。通过重复多次数据采掘过程,使数据分析结果与业务需求保持一致,最终得到正确的应答数据。

    针对铁路客运营销分析业务的典型场景,本文将相关的数据挖掘任务划分为4类:基于预测模型的知识发现、基于数据总结和聚类的关联规则发现、依赖关系/依赖模型发现、异常和趋势发现等。

    (1)基于预测模型的知识发现:主要用于处理预测相关的应用场景,预测是客运运营和运输分析的基础核心工作。目前,铁路客运营销分析主要关注客流预测、收入预测、售票预测等,要求从宏观到微观的分流量、流向,分时间、空间开展预测分析。本文的预测模型知识发现主要基于历史同期数据、近期客票数据及其他影响客流的外部数据,主要使用时间序列类算法模型(时序回归模型、loess回归模等)、机器学习类模型(GBDT树模型、随机森林模型等)等模型算法。通过多个模型测算后,选择结果相近的模型作为分析知识发现,形成预测结果。

    (2)基于数据总结和聚类的关联规则发现:主要用于解决业务总结、业务分类及变量之间的规律关系等方面的应用场景。在客运营销分析工作中,往往需要开展阶段性客流总结或业务分析,例如每周/每月/每季度/每年的客流盘点、春运/暑运前瞻分析、候补购票服务应用情况分析、客流成分分析等,需要开展数据总结和聚类关联的分析。对于该类别数据挖掘任务,常用的模型算法主要有 K-Means、SVM、Apriori等。

    (3)依赖关系/依赖模型发现:主要用于发现各业务或者各因素之间关系的应用场景。在客运营销分析工作中,在业务数据发生变化时,往往需要进行原因分析。例如,当出现客流环比或同比下降明显、退票量突然增加等情形时,需要就此开展原因分析,通过数据纵向比对和各业务数据之间横向比对得到分析结果。对于该类别数据挖掘任务,主要的模型算法有回归分析、主成分分析等。

    (4)异常和趋势发现:主要应用于监控分析、异常行为发现和趋势发现的应用场景。在客票发售过程中,及时发现异常行为和趋势十分重要。例如,通过列车超员预警分析,提前分析旅客买长乘短和买短乘长情况,可采取相应措施有效防止列车超员停运事故的发生。对于该类别数据挖掘任务,异常检测算法主要使用线性模型、基于相似度的度量算法(KNN、LOF)、基于概率的算法(COPOD)以及时间序列异常检测模型(ARIMA)等。

    针对用户数据分析场景,按上述各数据挖掘分类任务的应用场景,执行合适的数据挖掘任务,以生成正确解答用户问题的数据分析结果。

    智能应答是指在已经生成数据分析结果后,根据用户提出的数据分析任务的性质和复杂度,灵活地解答用户提问。对于智能数据查询任务,查询结果是为数不多的几个指标数据,可直接将查询结果数据转换成自然语言文本,再通过语音合成技术将文本转换成语音,以语音播报形式传递应答信息。 对于智能数据分析任务生成的应答数据,往往数据内容较多,通过语音回答不便于用户记忆和完整掌握,需要将不同类别的数据分析结果生成各种可视化图表,方便用户快速、全面地掌握应答信息,提高决策分析的有效性和效率。

    在自然语言对话系统中,用户通过语音提问系统对获取到的结果通过模拟人声进行回答,是一种非常自然和理想的人机交互模式。该方法分2步完成:将用户提问的答案转换成自然语言文本(即自然语言生成),再将自然语言文本合成为语音并播报(即自然语言合成)。

    (1)自然语言生成:自然语言生成(NLG,Natural Language Generation)是一个十分复杂的过程,计算机需要将查询结果转换为一段类似人类口语表述的文本。不仅要回应用户所需的数据查询结果,还要按照自然语言表达方式组织好应答内容。本文采用基于问答模版的自然语言文本生成方法,如图3所示。根据常见问答的表述方式,预先设置一组问答模版,每个问答模版包含若干个问题插槽和答案插槽;例如,对于问答模版“xywz”,其中xw为问题插槽,yz为答案插槽。问答模版选择算法根据用户问题文本,与问答模版库中的问答模板逐一进行匹配(通过对比问题本文与问答模版中问题插槽的相似度),从中选出与该问题文本匹配度最高的问答模版;由应答文本生成算法依据选定的问答模版,将查询结果与答案插槽进行匹配,生成应答文本。

    图  3  基于问答模版的自然语言文本生成方法示意

    对于查询结果,除了要将数据匹配到相应的答案插槽,还要加上度量单位量词,使数据表述更符合中文自然语言表述习惯。 例如,对于问题文本“今天的客流预测是多少?”,对应的问题分词为“今天”“客流预测”,智能数据查询模块得到的客流量预测数据为1000,匹配的问答模板为“今天是几年几月几日,客流预测为1000”;加上适当转换表述和单位修饰词后,生成的应答文本为“今天是几年几月几日,预计发送旅客为1000万人次”。采用基于问答模版的自然语言文本生成方法,生成的应答文本具有较强的解释性,且通俗易懂。目前本文创建的问答模板数量较少,后续将投入更多工作量对问答模块库进行丰富和完善。

    (2)自然语言合成:使用自然语言合成(TTS,Text-to-Speech)技术,将生成的应答文本通过语音合成后进行播报,达到自然、友好的人机交互效果。基于深度学习的中文语音合成技术能够生成质量较高的合成语音[18]。目前,科大讯飞、百度、阿里巴巴等企业都提供开放的自然语言合成云服务,本文采用开放的文本在线语音合成云服务,来实现语音合成。以百度语音合成为例,先从百度智能云开放平台获取开发者access_token,将文本数据和access_token数据POST到云服务API接口地址(如:https://tsn.baidu.com/text2audio),借助自然语言合成云服务,获得应答播报语音。语音合成API接口地址一般还提供音调、语速、音量、音色等参数的调整。为使系统生成的语音符合铁路客运服务行业特点,本文在参数设置上采用中音音调、中语速、中高音量、男生音色、MP3/WAV音频格式。通过调整参数设置,合成发音清晰、准确、沉稳的语音数据,确保用户能够听清语音应答的内容。

    对内容丰富、数据量大的数据分析结果,用户不便于通过语音应答来掌握数据分析结果,智能应答模块通过数据可视化方式进行应答。本文结合铁路客运业务数据可视化应用习惯,利用商业智能(BI,Business Intelligence)技术实现数据可视化呈现,将可视化分析结果显示在终端上,脱离了传统报表方式的限制,且用户无需预先设计报表。

    智能应答模块展示数据分析结果的方式包括:列表数据、交叉表、中国式复杂报表、饼图、折线图、地图、组合图、分析报告等。根据不同的数据分析结果,自动选择最适合的图表,由图形引擎完成数据可视化展现。针对数据可视化图形选择,本文为数据分析结果设计了数据类别图表选择算法,智能应答模块可根据不同的数据类别,选择不同的图表来展示数据分析结果,基本的运用规则如表6所示。

    表  6  数据可视化图表应答方式规则表
    数据类别 应答方式
    趋势数据 折线图
    分类数据、成分数据 饼图
    带地理信息数据 地图
    多指标数据,且数量级基本一致 柱状图
    多指标数据,且数量级差别大 组合图
    数据量较多,数据维度也多 列表
    OD类含有两个维度数据 交叉表
    包含多个维度合计数据 中国式复杂报表
    业务分析 分析报告
    下载: 导出CSV 
    | 显示表格

    为提高客运营销数据分析能力,进一步丰富营销分析工具手段,本文研究开发了客运分析对话系统,为铁路客运营销业务人员提供一个基于人机对话的数据分析工具。该系统采用模块化设计,结构设计合理,扩展性强,集成应用了一系列人工智能和深度学习技术,通过人工智能(AI, Artificial Intelligence)技术完成数据分析,使用商业智能(BI,Business Intelligence)技术呈现数据分析结果,实现AI技术与BI技术的融合。客运分析对话系统提供端到端的服务,能够完成日常客运营销分析任务,生成语音应答或者可视化分析结果应答。用户通过语音对话即可完成数据分析,使客运营销决策过程变得更加简单快捷。

    目前,客运分析对话系统已在中国国家铁路集团有限公司和铁路局集团公司开展试用,并根据用户反馈意见不断进行优化,能够满足部分客运营销分析业务需求。智能数据挖掘功能是该系统最具挑战的难点,目前本文只是提出一个粗线条的智能数据分析框架,下一步需要重点深化数据挖掘模型和算法的研究,使该系统能够辅助用户完成深层次的数据分析任务。另外,该系统需要增强对数据分析功能和数据访问权限的控制,细化角色定义和权限控制策略,保证系统应用安全性和数据安全。

  • [1] 中华人民共和国国务院.促进大数据发展行动纲要[Z].北京:中华人民共和国国务院, 2015, 8.
    [2] 单杏花,王富章,朱建生,等.铁路客运大数据平台架构及技术应用研究[J].铁路计算机应用, 2016, 25(9):14-17.
    [3] 文继荣,陈红,王珊.Shared-nothing并行数据库系统查询优化技术[J].计算机学报, 2000, 23(1):28-39.
    [4]

    Davidb J. Dewitt, Jim Gray. Parallel Database Systems:The Future of High Performance Database Systems[J].Communications of ACM, 1992, 35(6):85-98P.

    [5] 王利卿,张华敏.分布式计算框架的研究[J].信息技术与信息化, 2015(10):199-200.
    [6] 孙大为,张广艳,郑纬民.大数据流式计算:关键技术及系统实例[J].软件学报, 2014, 25(4):839-862.
    [7] 丁维龙,赵卓峰,韩燕波. Storm:大数据流式计算及应用实践[M].北京:电子工业出版社, 2015:54-55.
    [8] 蔡宇,赵国锋,郭航.实时流处理系统Storm的调度优化综述[J].计算机应用研究, 2018, 35(9):13-19.
    [9] Julie Steele, Noah Iliinsky.数据可视化之美[M].祝洪凯,李妹芳,译.北京:机械工业出版社, 2011, 6.
    [10] 胡志鹏,王洪业,王元媛,等.铁路客票席位智能预分的设计与实现[J].铁路计算机应用, 2016, 25(1):30-33.
    [11] 汪健雄.基于大数据平台的动态票额智能预分系统的研究与实现[J].铁路计算机应用, 2016, 25(9):31-37.
    [12] 张军锋.铁路旅客用户画像系统设计与应用研究[J].铁路计算机应用, 2018, 27(7):54-57
    [13] 王同军.中国铁路大数据应用顶层设计研究与实践[J].中国铁路, 2017(1):8-16.
    [14] 宋超.大数据在铁路客运工作中的运用[J].铁路计算机应用, 2016, 25(12):31-34.
    [15] 李仕旺,潘跃,吕晓艳.数据可视化技术研究及其在铁路中的应用[J].铁路计算机应用, 2015, 24(10):23-26.
  • 期刊类型引用(2)

    1. 黄凡. 基于自然语言处理的智能对话系统研究. 信息与电脑. 2025(04): 38-40 . 百度学术
    2. 朱坚榕,高永东,叶才金,吴乐凡,唐岑,林贤斌. 基于Transformer的铁路作业语音ASR系统与应用. 现代信息科技. 2025(10): 142-146+151 . 百度学术

    其他类型引用(0)

计量
  • 文章访问数:  160
  • HTML全文浏览量:  63
  • PDF下载量:  46
  • 被引次数: 2
出版历程
  • 收稿日期:  2018-07-15
  • 刊出日期:  2020-08-03

目录

/

返回文章
返回