CN107665404A - 一种面向出租车监管的领域特定语言描述系统及方法 - Google Patents
一种面向出租车监管的领域特定语言描述系统及方法 Download PDFInfo
- Publication number
- CN107665404A CN107665404A CN201710872862.7A CN201710872862A CN107665404A CN 107665404 A CN107665404 A CN 107665404A CN 201710872862 A CN201710872862 A CN 201710872862A CN 107665404 A CN107665404 A CN 107665404A
- Authority
- CN
- China
- Prior art keywords
- index
- data
- language
- taxi
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004458 analytical method Methods 0.000 claims abstract description 99
- 238000013461 design Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 19
- 238000007726 management method Methods 0.000 claims description 15
- 230000000877 morphologic effect Effects 0.000 claims description 15
- 238000005538 encapsulation Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 13
- 238000013480 data collection Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 9
- 241001269238 Data Species 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000000205 computational method Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 4
- 238000012797 qualification Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 9
- 238000011160 research Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000035764 nutrition Effects 0.000 description 2
- 235000016709 nutrition Nutrition 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Finance (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Primary Health Care (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种面向出租车监管的领域特定语言描述系统及方法,包括语言设计模块、语言分析模块和指标计算模块;针对出租车监管领域的指标分析工作,避免了代码的冗余,增加了指标的可扩展性;避免了领域专家的代码工作,为分析工作提供便利;可以作为领域专家与代码人员之间的媒介,减少领域专家与代码人员使用各自难以理解的语言进行沟通的时间,使用经过验证的、无二义性的、清晰准确的语言来进行交流,可以尽可能地避免歧义的产生。
Description
技术领域
本发明涉及一种面向出租车监管的领域特定语言描述系统及方法,属于数据分析技术领域。
背景技术
目前城市汽车保有量逐步上升,出行需求不断增加,很多城市的交通都出现了一定的拥堵问题,大力发展公共交通是满足市民出行需求的重要途径,出租车作为公共交通的一部分,在人们的出行中占据了不小的比例,但是出租车的空驶率仍处于较高的水平。
根据资料显示,2012年底北京市机动车保有量为520万辆,比2011年底净增长21.6万辆,六环内日均出行总量达3033万人次(不含步行),比2011年底增加了160万人次,其中出租汽车的出行比例占6.6%。早、晚高峰常发拥堵路段分别为219公里、343公里,分别占统计范围的2.1%、3.2%,2012年,全日拥堵持续时间(包括严重拥堵、中度拥堵)较2011年同期增加了20分钟。
由于出租车行业的灵活性,该行业整理的运营组织能力和服务水平不高。了解出租车运营情况,有利于相关领域人员掌握城市交通的一些特征,进行出租车运营管理。
为解决上述问题,智能交通系统应运而生。智能交通系统(Intelligent TrafficSystem,简称ITS),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统[]。我国的智能交通体系结构中,共分为8大服务领域,其中之一便是运营管理。
目前,GPS定位技术提供了实时定位的能力,出租车GPS数据的分析可以得到出租车运营情况,便于相关领域专家进行出租车及交通监管,做出相应的决策。
目前针对出租车运营监管,相关研究均是集中在对出租车轨迹数据的处理,分析影响出租车运营水平的各个因素,以便为决策者提供重要的数据支持和决策支持。目前通用的方法,均是针对不同地点建立指标模型做独立的分析和处理,并且对于编码人员的依赖性较大,编码人员对交通领域的专业术语及分析方法不甚了解,有些概念比较模糊。
在文献[1]中,面向城市交管部门,调查分析了北京市交通管理者在出租车运营管理中的信息需求,分析表明,出租车行业中的运营管理信息需求包含有:出租车运营基础指标,出租车运营时空分布规律,城市出租车合理规模和驾驶员劳动强度等,基于数据分析研究了北京市出租车运营的时空分布特点等。
在文献[2]中,利用哈尔滨市两天的出租车GPS数据,针对出租车交通运行特性,对原数据进行了预处理,并对处理后数据进行了出租车交通运行特性相关的研究,包括上下客高峰期的研究,工作日和非工作日载客时长的对比、高峰时段和平峰时段载客时长的对比,出租车平均载客距离的研究、平均运行速度的分析以及从时间和空间两方面研究出租车的空驶率等。
在文献[3]中,建立了针对出租车运营特性的指标的模型,从里程指标、时间指标、速度指标三个方面分析出租车运营现状,选取广州市的5个典型工作日的出租车GPS数据,分析了广州市出租车运营的出行需求分布,里程空载率,时间空载率,载客行驶速度、载客出行时间和载客出行距离等指标。
在文献[4]中,作者以苏州市作为实例,对比分析了工作日、节假日和特殊节日出租车的出行特征、出行时间分布及出行空间分布,基本出行特征包括运营车数量、全天载客次数等,出行时间分布包括载客时间、载客里程随时间轴的变化等,出行空间分布包括出行的O点、D点在规划区域内的分布等,构建了相应的指标体系。
如上述文献中展示,利用出租车GPS数据做指标分析进行出租车监管是目前各个地区交通领域分析人员都在做的工作,但工作存在冗余。设计并实现一个面向出租车监管的领域特定语言,来实现相关指标代码的复用性和可扩展性,提高领域专家的数据分析工作的效率。
[1]扈中伟.基于浮动车技术的北京市出租车运营管理研究[D].北京工业大学,2007.
[2]齐林.基于GPS数据的出租车交通运行特性研究及应用[D].哈尔滨工业大学,2013.
[3]庄立坚,韦清波,何兆成,等.基于浮动车数据的出租车运营管理特性建模与分析[J].重庆交通大学学报:自然科学版,2014,04期(04).
[4]李艳红,袁振洲,谢海红,等.基于出租车OD数据的出租车出行特征分析[J].交通运输系统工程与信息,2007,7(5):85-89.
发明内容
本发明技术解决问题:克服现有技术的不足,使用领域特定语言提供一种面向出租车监管的指标描述系统及方法,针对出租车监管领域的指标分析工作,避免了代码的冗余,增加了指标的可扩展性;避免了领域专家的代码工作,为分析工作提供便利;可以作为领域专家与代码人员之间的媒介,减少领域专家与代码人员使用各自难以理解的语言进行沟通的时间,使用经过验证的、无二义性的、清晰准确的语言来进行交流,可以尽可能地避免歧义的产生。
本发明是一种面向出租车监管的领域特定语言描述系统,包括:语言设计模块、语言分析模块、指标处理模块。
在语言设计模块,设计对出租车运营管理的指标进行整理并统计,描述每个指标的定义、作用及计算方法;通过对整理后的指标进行抽象,建立指标概念体系,确定一系列与指标分析相关的概念;确定描述指标的基本规则,形成语法文件作为规则的集合,供语言分析模块使用。
语言分析模块根据语法文件建立的规则对指标描述语言进行分析,分析分为词法分析、语法分析以及语义分析,将输入的使用设计的语言描述的出租车指标计算转化为真正能运行的java代码,调用指标计算模块,传入指标的内涵和限定,进行指标计算和存储。
指标计算模块负责管理数据,计算指标及存储指标计算结果。当语言分析模块的计算语句调用指标计算模块时,以传入的指标的内涵和限定作为参数,首先到对应数据库获得所需数据,按照指标的内涵和限定对数据进行计算,计算后返回结果,并负责结果存储。
语言设计模块实现过程:
1.指标体系建立
通过对出租车运营监管相关指标的统计和整理,将处理过的指标分成了里程指标、时间指标、速度指标、OD指标以及时空分布指标五大类。定义各计算指标的计算方法及指标体系涉及到的各概念及概念间关系。指标是指原始数据集经过一些操作得到的具有某些具体含义的数据集。将指标计算涉及到的数据分为结果数据、属性数据和元数据。对指标的约束分为内涵和限定两部分。
2.数据类型及操作的设计
根据对指标计算方法的整理、抽象及封装,设计数据类型分为三个层次基础数据类型,中间数据类型以及指标数据类型。对指标运算中每个层次的数据类型进行了描述,并给出了相应的操作。
基础数据类型中包括:距离、时刻、时间间隔、状态值、位置信息、车辆ID、计数值、比例值、百分数等。
中间数据类型,是基于基础数据类型,做了抽象程度更高的封装。中间数据类型中的成员均是基础数据类型,对中间数据类型的操作也是一系列对其中基础数据成员的操作。定义中间数据类型正是将对多个基础数据成员的一系列操作进行组合封装。中间数据类型包括:时间范围,空间范围,车辆ID范围,粒度值等。
指标数据集由内涵和限定条件唯一确定,确定后的数据集中每一数据值都有其唯一标识符。针对指标数据提供一些有含义的操作,同时提供自定义操作的语法。
3.语言描述规则的确定
根据以上指标体系的建立与分析,以及数据类型的设计,面向出租车监管的领域特定语言作为一门声明性质的语言,需要描述的内容有:根据指标体系中设计的数据类型以及他们的层次关系,声明各类数据类型,提供相应的操作,以实现语言简单灵活,语法形式接近自然语言,形象直观的特性,同时使语言具有一定的可扩展性,方便交通领域分析人员对新出现的指标的运算。
分析各数据类型以及对应操作的定义,用BNF范式给出语言的语法规则,同时给出其对应的语义的解释。
根据上述章节中给出的文法的定义,文法由一个四元式组成:G=(VT,VN,S,P),其中,VT为终结符的非空有限集;VN为非终结符的非空有限集;S是文法的开始符号,S∈VN;P为产生式的非空有限集,产生式是一个有序偶α::=β或α→β。
在所设计的语言中,分为了三个层次,指标类型,中间类型,基础类型,每一层次的语法规则写在一个规则文件中,层次间的关系为逐层引用的关系。每一层次都有其相应的语法规则,开始符号,非终结符号和终结符号。非终结符号为语法规则左侧的符号,终结符号为关键字、常量、变量等信息。
语言分析模块实现过程:
语言分析模块分为词法分析、语法分析和语义分析三个步骤:
(1)词法分析
词法分析阶将组成源程序的字符流读入,将字符组成有具体含义的单词,提供给语法分析模块使用。
对于每个单词,词法分析其产生一个单词符号(token,后文中提到的单词均指单词符号),由单词的类别和单词的值构成。单词的类别是在语法分析中会使用到的一个抽象后的标识,单词的值是符号表中单词的入口。词法属于一种正则文法,在乔姆斯基给出的文法分类体系中属于3型文法,可以被有穷自动机识别。所以需要将词法规则转化为DFA可接受的形式。此过程中要完成NFA的确定化以及DFA的最小化。处理生成的单词交由语ran法分析模块进行处理。
(2)语法分析
语法分析根据语法文件建立的规则对指标描述语言进行语法分析,利用第一阶段词法分析器产生的单词类型去建立语法树——一种用来描述单词流的中间层次的表现形式。
通过语法规则生成一个递归下降的语法分析器(recursive-descent parsers)。递归下降的语法分析器是一个递归方法的集合,解析过程则是从根开始向叶子递归。在解析时,当一个规则存在多个选项时,则需要检查接下来输入的一个或者多个单词来做出预测判断,在规则的多个选项中选择一个,这样的工作由ANTLR自动完成。
(3)语义分析
语义分析分为语义检查、语义处理两部分:
语义检查当要声明某个标识符时,首先检查符号表中是否出现过同样的标识符,若出现则发送错误信息;当标识符在表达式右侧出现时,先检查符号表中是否出现,同时对其类型进行判断,若未出现或者类型不符则发送错误信息。
语义处理由于本专利设计的领域特定语言是一门描述性质的语言,语言分为声明语句和计算语句,如果为声明语句,则进行实例的生成,符号表的建立与填写等工作;如果为计算语句,则调用指标计算模块,传入相应的参数,进行指标计算,并将结果返回。
指标计算模块实现过程:
指标计算模块对数据实行统一管理,管理数据包括原始数据和中间结果数据。原始数据包括:出租车GPS数据,由于GPS数据量大,记录条数多,使用Hbase存储,taxiId+time作为RowKey;GIS数据,依赖第三方工具,存放在HDFS中;其他静态数据,是结构化数据,数据量小,存放在MySQL中。中间数据是指标计算过程中高频使用的初步计算结果;因为是计算出的结果,所以高度结构化,切数据量远远小于原始GPS数据。可以从千万级缩减到十万级,完全可以使用MySQL进行管理。
当分析模块分析到计算语句时,会调用指标计算模块,此时计算模块会首先查看需要进行的计算,划分计算粒度,看是否有相关中间数据存储,如有中间数据存储,则调用中间数据,若没有则继续细化计算直至原始数据层,根据传入的参数完成计算,返回结果。
针对计算得到的结果,首先暂时存储到临时存储区域,询问用户是否进行保存,若用户选择保存,则根据其粒度和数据量,若数据量不大,将其存储到。先根据数据的存储位置,在存储记录中注册,记录指标的限定和内涵。
使用领域特定语言进行出租车运营指标描述的方法实现的步骤如下:
(1)首先对出租车运营管理的指标进行整理并统计,描述每个指标的定义、作用及计算方法。根据指标的内涵,通过对整理后的指标进行抽象,建立指标概念体系,确定一系列与指标分析相关的概念。分析出租车指标相关的数据类型,将数据类型分为基础数据类型、中间数据类型和指标数据类型三种,每种类型有其对应操作,得到描述指标的基本规则,使用BNF范式描述这些规则,形成语法文件。
(2)使用ANRTLR工具解析语法文件,生成对应的词法分析和语法分析的程序,首先将输入的字符流解析为具有含义的单词,然后进行语法分析,建立相应的语法树,对其进行语义检查,检查是否出现相同的标识符,并进行类型判断。
(3)根据语句的性质进行相应的操作,如果为声明语句,则生成相应的实例,填写符号表;如果为计算语句,首先查看需要进行的计算,划分计算粒度,看是否有相关中间数据存储,如有中间数据存储,则调用中间数据,若没有则继续细化计算直至原始数据层,根据传入的参数完成计算,返回结果。
(4)针对计算得到的结果,首先暂时存储到临时存储区域,询问用户是否进行保存,若用户选择保存,则根据其粒度和数据量进行存储并注册,记录指标的限定和内涵。
本发明与现有技术相比的优点在于:
(1)本发明避免了目前交通数据分析人员的重复代码工作,增加了指标的可扩展性。出租车相关监管工作中由于GPS数据的不断产生,需要对某些指标进行反复处理,并且如果只提供某些指标的分析,例如:每日平均载客距离等,每次进行类似重复的代码工作是冗余的,而在提供一些组件后,可以通过一些基础数据和操作组合的形式,来得到更加丰富的指标分析结果。当有新的数据时,可以通过扩展语言来实现较为容易的指标扩展,提高了灵活性,有助于出租车相关指标分析工作的快速高效进行。
(2)本发明避免了领域专家进行代码工作,为其分析工作提供便利。目前对交通领域的数据分析需要领域专家提出需求,数据分析人员做相应的分析,领域专家可能对直接代码的编写不甚了解,学习一门通用语言的代价又极高,本发明提供了一门面向其领域的,抽象层次更高的,更加类似自然语言的语言,对其数据分析工作带来极大的便利。
(3)领域特定语言可以扮演领域专家与代码人员之间的媒介。代码人员对于相关领域中的指标专业术语了解的可能比较少,有些概念比较模糊,只提供基础的数据以及操作(这些一般都是可以理解的概念),组合方式由专家自己决定,减少领域专家与代码人员使用各自难以理解的语言进行沟通的时间,而是通过经过验证的、无二义性的、清晰准确的语言来进行交流,可以尽可能地避免歧义的产生。
附图说明
图1为本发明的组成框图;
图2为图1中语言设计模块提及的数据类型之间的引用关系图;
图3为图1中语言分析模块的实现流程图;
图4为图1中指标计算模块的实现流程图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
如图1所示,使用领域特定语言的出租车指标描述系统由语言设计模块、语言分析模块和指标计算模块构成。
语言设计模块,设计对出租车运营管理的指标进行整理、抽象及封装,建立指标体系,形成指标描述语言,描述语言中分为声明语句和计算语句,声明语句用于对指标的描述,计算语句完成计算。根据出租车分析特性需求,将指标体系设计为里程指标、时间指标、速度指标、OD指标以及时空分布指标五大类,并将指标描述和计算涉及的数据分为三个层次,包括基础数据类型、中间数据类型集指标数据集。三个层次自底向上完成指标的逐层封装,底层的数据类型对上一层提供支撑。首先基础数据类型完成出租车指标描述涉及的一些基础数据的描述和计算的封装;中间数据类型则是以基础数据类型作为基本单元,进行了进一步的组合封装;指标数据集则是对指标的直接描述,同样是通过封装和抽象中间数据类型得到。以此建立描述指标的基本规则,形成语法文件,供语言分析模块使用。
整个实现过程如下:
(1)首先对出租车运营管理的指标进行整理并统计,描述每个指标的定义、作用及计算方法。根据指标的内涵,通过对整理后的指标进行抽象,建立指标概念体系,确定一系列与出租车指标分析相关的概念,如指标、数据等。分析出租车指标相关的数据类型,将数据类型分为基础数据类型、中间数据类型和指标数据类型三种,三个层次自底向上完成指标的逐层封装,底层的数据类型对上一层提供支撑。首先基础数据类型完成出租车指标描述涉及的一些基础数据的描述和计算的封装;中间数据类型则是以基础数据类型作为基本单元,进行了进一步的组合封装;指标数据集则是对出租车指标的直接描述,同样是通过封装和抽象中间数据类型得到。根据出租车指标特征进行分类,分为五大类,建立描述指标的基本规则,形成语法文件,供语言分析模块使用。
(2)使用ANRTLR工具解析语法文件,生成对应的词法分析和语法分析的程序,首先将输入的字符流解析为具有含义的单词,然后进行语法分析,建立相应的语法树,对其进行语义检查,检查是否出现相同的标识符,并进行类型判断。
(3)根据语句的性质进行相应的操作,如果为声明语句,则生成相应的实例,填写符号表;如果为计算语句,首先查看需要进行的计算,根据出租车指标特性划分计算粒度,看是否有相关中间数据存储,如有中间数据存储,则调用中间数据,若没有则继续细化计算直至原始数据层,根据传入的参数完成计算,返回结果。
(4)针对计算得到的结果,首先暂时存储到临时存储区域,询问用户是否进行保存,若用户选择保存,则根据其粒度和数据量进行存储并注册,记录指标的限定和内涵。
语言设计模块具体实现过程如下:
1.指标体系的建立
通过对出租车运营监管相关指标的统计和整理,将处理过的指标分成了里程指标、时间指标、速度指标、OD指标以及时空分布指标五大类。定义各计算指标的计算方法及指标体系涉及到的各概念及概念间关系。指标是指原始数据集经过一些操作得到的具有某些具体含义的数据集。将指标计算涉及到的数据分为结果数据、属性数据和元数据。对指标的约束分为内涵和限定两部分。
2.数据类型及操作的设计
根据对指标计算方法的整理、抽象及封装,设计数据类型分为三个层次基础数据类型,中间数据类型以及指标数据类型。对指标运算中每个层次的数据类型进行了描述,并给出了相应的操作。各层次数据之间的引用关系如图2所示。
基础数据类型中包括:距离、时刻、时间间隔、状态值、位置信息、车辆ID、计数值、比例值、百分数等。
中间数据类型,是基于基础数据类型,做了抽象程度更高的封装。中间数据类型中的成员均是基础数据类型,对中间数据类型的操作也是一系列对其中基础数据成员的操作。定义中间数据类型正是将对多个基础数据成员的一系列操作进行组合封装。中间数据类型包括:时间范围,空间范围,车辆ID范围,粒度值等。
指标数据集由内涵和限定条件唯一确定,确定后的数据集中每一数据值都有其唯一标识符。针对指标数据提供一些有含义的操作,同时提供自定义操作的语法。
3.语言描述规则的确定
根据以上指标体系的建立与分析,以及数据类型的设计,面向出租车监管的领域特定语言作为一门声明性质的语言,需要描述的内容有:根据指标体系中设计的数据类型以及他们的层次关系,声明各类数据类型,提供相应的操作,以实现语言简单灵活,语法形式接近自然语言,形象直观的特性,同时使语言具有一定的可扩展性,方便交通领域分析人员对新出现的指标的运算。
分析各数据类型以及对应操作的定义,用BNF范式给出语言的语法规则,同时给出其对应的语义的解释。
根据上述章节中给出的文法的定义,文法由一个四元式组成:G=(VT,VN,S,P),其中,VT为终结符的非空有限集;VN为非终结符的非空有限集;S是文法的开始符号,S∈VN;P为产生式的非空有限集,产生式是一个有序偶α::=β或α→β。
在所设计的语言中,分为了三个层次,指标类型,中间类型,基础类型,每一层次的语法规则写在一个规则文件中,层次间的关系为逐层引用的关系。每一层次都有其相应的语法规则,开始符号,非终结符号和终结符号。非终结符号为语法规则左侧的符号,终结符号为关键字、常量、变量等信息。
如图2所示,本发明中语言分析模块具体实现如下:
(1)用户传入描述指标的语言文件;
(2)将语言文件读入缓冲区;
(3)以空格及回车符作为分隔符号,根据分隔符号分离出一个单词;
(4)调用ANTLR工具生成的词法分析程序对其进行分析确定单词的类别和值,单词根据类别分为终结符、非终结符、关键字存放在相应表中;
(5)判断是否是可识别的合法单词,若是则执行步骤(6),否则,执行步骤(14);
(6)判断是否是语句结束的标志,若是,则执行步骤(7),否则,返回执行步骤(3);
(7)调用ANTLR工具语法分析程序对整个语句进行语法分析,构造语法树;
(8)判断是否是语法正确的语句,若是则执行步骤(9),否则,执行步骤(14);
(9)根据语句生成相应的语法树;
(10)进行语义检查,检查其语义冲突,检查步骤如下:
(11)判断是否是计算语句,若是则执行步骤(12),否则,执行步骤(13);
(12)调用指标计算模块,传入描述指标的内涵和限定,对指标进行计算,执行步骤(15);
(13)填写描述指标的符号表,执行步骤(15);
(14)向用户报告相应的错误;
(15)分析完成,结束。
如图3所示,本发明中指标计算模块具体实现如下:
(1)语言分析模块传入描述指标的内涵和限定;
(2)判断是否有相应粒度级别的指标和数据存储,若有执行步骤(5),否则,执行步骤(3);
(3)对指标中涉及到的数据的粒度进行更细的划分;
(4)判断是否已经细化到最底层的数据,即原始数据对应的基础数据层次,若已经是最底层,执行步骤(5);
(5)确定相关数据位置并调用;
(6)调用相关计算函数进行指标计算;
(7)将计算结果存储到临时存储区域;
(8)询问用户是否保存计算得到的指标结果数据,若保存,则执行步骤(9),否则,执行步骤(11);
(9)系统根据需要存储数据量的大小选择存储区域,若数据量较小则存入结构化数据库中方便查询,若数据量大,则存入分布式存储系统中;
(10)对要存入的指标结果数据进行注册,将其内涵和限定记录到注册表中,用户可以随时查询,并为以后的指标计算提供层次相对比较高的数据;
(11)指标计算完成,结束。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (5)
1.一种面向出租车监管的领域特定语言描述系统,其特征在于:包括语言设计模块、语言分析模块和指标计算模块;
语言设计模块,设计对出租车运营管理的指标进行整理、抽象及封装,建立指标体系,形成指标描述语言,描述语言中分为声明语句和计算语句,声明语句用于对指标的描述,计算语句完成计算;根据出租车分析特性需求,将指标体系设计为里程指标、时间指标、速度指标、OD指标以及时空分布指标五大类,并将指标描述和计算涉及的数据分为三个层次,包括基础数据类型、中间数据类型和指标数据集;三个层次自底向上完成指标的逐层封装,底层的数据类型对上一层提供支撑,首先基础数据类型完成出租车指标描述涉及的一些基础数据的描述和计算的封装;中间数据类型则是以基础数据类型作为基本单元,进行了进一步的组合封装;指标数据集则是对指标的直接描述,同样是通过封装和抽象中间数据类型得到。以此建立描述指标的基本规则,形成语法文件,供语言分析模块使用;
语言分析模块,根据上述语言设计模块形成的语法文件所建立的规则对指标描述语言进行分析,分析分为词法分析、语法分析以及语义分析三个子模块,词法分析子模块为每个单词映射为一个单词符号,由类别和值组成,生成单词符号表;语法分析子模块在单词符号表的基础上建立语法树,通过语法规则生成一个递归下降的语法分析器;语义分析子模块则进行语义检查和语义处理,将输入的符合语法规则的语言解释为真正能运行的java代码,声明语句时仅进行分析,计算语句调用指标计算模块,传入指标约束的内涵和限定,进行指标计算和存储;
指标计算模块,负责管理计算出租车指标所需的源数据,计算指标及存储指标计算结果,当语言分析模块调用指标计算模块时,以传入的指标约束的内涵和限定作为参数,首先从Hbase中获取所需出租车GPS数据或者与本次指标计算相关的先前指标计算存储的中间结果,按照指标约束的内涵和限定进行指标计算,计算后返回结果,并负责结果存储。
2.根据权利要求1所述的一种面向出租车监管的领域特定语言描述系统,其特征在于:所述语言设计模块具体过程如下:
(1)通过对出租车运营监管相关指标的统计和整理的预处理,建立指标体系;确定各指标计算方法及指标体系涉及到的各出租车指标计算相关概念及概念间关系,包括指标、数据、数据集及相关操作的说明,指标在本描述语言中给出定义为原始数据集经过一些操作得到的具有某些具体含义的数据集,在本描述语言中,将与出租车相关的指标分为分成里程指标、时间指标、速度指标、OD指标以及时空分布指标五大类,并将指标计算涉及到的数据通过在描述语言中的作用分为结果数据、属性数据和元数据,结果数据用来表述指标计算的结果,属性数据用来对每一个结果数据进行唯一标识,元数据是描述指标所代表含义的数据;
(2)对步骤(1)确定的指标计算方法进行抽象及封装,设计出租车指标描述语言相关的数据类型分为三个层次,即基础数据类型,中间数据类型以及指标数据集,所述基础数据类型中包括:距离、时刻、时间间隔、状态值、位置信息、车辆ID、计数值、比例值、百分数;所述中间数据类型,是基于基础数据类型,做了进一步的封装和抽象,中间数据类型中的成员均是基础数据类型,对中间数据类型的操作也是一系列对其中基础数据成员的操作,中间数据类型正是将对多个基础数据成员的一系列操作进行组合封装;所述中间数据类型包括:时间范围,空间范围,车辆ID范围及粒度值,均是针对出租车指标所需数据类型进行封装抽象后所建立的数据类型,时间范围、空间范围和车辆ID范围用于描述出租车指标所描述的范围;所述指标数据集由内涵和限定条件唯一确定,确定后的数据集中每一数据值都有唯一标识符,针对指标数据集提供一些有含义的操作,同时提供自定义操作的语法;
(3)根据建立的指标体系及设计的数据类型,面向出租车监管的领域特定语言作为一门声明性质的语言需要描述的内容有:根据指标体系中设计的数据类型以及数据类型的自底向上逐渐抽象的层次关系,给出声明,提供对上述数据类型的操作,所述数据类型包括基础数据类型、中间数据类型和指标数据集;
分析各数据类型以及对应操作的定义,用BNF范式给出语言的语法规则,语法规则由一个四元式组成:G=(VT,VN,S,P),其中,VT为终结符的非空有限集;VN为非终结符的非空有限集;S是文法的开始符号,S∈VN;P为产生式的非空有限集,产生式是一个有序偶α::=β或α→β;α由非终结符构成,β由一串终结符或者非终结符组成;
在所设计的语言中,为出租车指标计算设计的数据类型分三个层次,每一层次的语法规则写在一个规则文件中,层次间的关系为逐层引用的关系,每一层次都有其相应的语法规则,开始符号,非终结符号和终结符号,非终结符号为语法规则左侧的符号,终结符号为关键字、常量、变量信息。
3.根据权利要求1所述的一种面向出租车监管的领域特定语言描述系统,其特征在于:所述语言分析模块中具体过程如下:
语言分析模块分为词法分析、语法分析和语义分析三个子模块:
(1)词法分析子模块
词法分析阶将组成源程序的字符流读入,将字符组成有具体含义的单词,提供给语法分析模块使用;
对于每个单词,词法分析每个单词产生一个单词符号token,单词符号由单词类别和单词值构成,词法分析器将输入的单词处理生成单词符号表交由语法分析子模块进行处理;
(2)语法分析子模块
语法分析根据语法文件建立的规则对指标描述语言进行语法分析,通过语法规则生成一个递归下降的语法分析器(recursive-descent parsers),递归下降的语法分析器是一个递归方法的集合,解析过程则是从根开始向叶子递归,在解析时,当一个规则存在多个选项时,需要检查接下来输入的一个或者多个单词来做出预测判断,在规则的多个选项中选择一个,语法分析由ANTLR自动完成,利用词法分析子模块中的词法分析器产生的单词符号建立语法树,确定符合语法规则后,交由语义分析子模块进行语义检查和语义处理;
(3)语义分析子模块
语义分析分为语义检查、语义处理两部分,语义检查无错误后进行语义处理;
语义检查:当语言要声明某个用于描述指标的标识符时,首先检查单词符号表中是否出现过同样的标识符,若出现则发送错误信息;当标识符在表达式右侧出现时,先检查符号表中是否出现,同时对单词的类别进行判断,若未出现或者类别不符则发送错误信息;
语义处理:设计的领域特定语言是一门描述性质的语言,将语言分为声明语句和计算语句,如果为声明语句,则进行实例的生成,符号表的建立与填写工作;如果为计算语句,则调用指标计算模块,传入相应的参数,进行指标计算,得到指标计算结果,并将结果返回。
4.根据权利要求1所述的一种面向出租车监管的领域特定语言描述系统,其特征在于:所述指标计算模块具体实现过程如下:
指标计算模块对数据实行统一管理,管理数据包括原始数据和中间结果数据,原始数据包括:出租车GPS数据,使用Hbase存储,taxiId+time作为唯一标识符RowKey,taxid是车辆的唯一标识,time则是数据所包含的时间信息;GIS数据,依赖第三方工具,存放在HDFS中;其他静态数据,包括车辆的基本信息是结构化数据,存放在MySQL中,中间数据是指标计算过程中高频使用的初步计算结果;
当语言分析模块分析到计算语句时,会调用指标计算模块,此时指标计算模块会首先查看需要进行的计算,划分计算粒度,看是否有相关中间数据存储,如有中间数据存储,则调用中间数据,若没有则继续细化计算直至原始数据层,根据传入的参数完成计算,返回结果;
针对计算得到的结果,首先暂时存储到临时存储区域,询问用户是否进行保存,若用户选择保存,则根据结果的粒度和数据量进行存储位置的选择,粒度值是数据类型,粒度是具体的数据,并在存储记录中注册,注册指标约束的限定和内涵。
一种面向出租车监管的领域特定语言描述方法
5.一种面向出租车监管的领域特定语言描述方法,实现步骤如下:
(1)首先对出租车运营管理的指标进行整理并统计,描述每个指标的定义、作用及计算方法,根据指标的内涵,通过对整理后的指标进行抽象,建立指标概念体系,确定一系列与指标分析相关的概念,分析出租车指标相关的数据类型,将数据类型分为基础数据类型、中间数据类型和指标数据类型三种,每种类型有其对应操作,得到描述指标的基本规则,使用BNF范式描述这些规则,形成语法文件;
(2)使用ANRTLR工具解析语法文件,生成对应的词法分析和语法分析的程序,首先将输入的字符流解析为具有含义的单词,然后进行语法分析,建立相应的语法树,对其进行语义检查,检查是否出现相同的标识符,并进行类型判断;
(3)根据语句的性质进行相应的操作,如果为声明语句,则生成相应的实例,填写符号表;如果为计算语句,首先查看需要进行的计算,划分计算粒度,看是否有相关中间数据存储,如果有中间数据存储,则调用中间数据,若没有则继续细化计算直至原始数据层,根据传入的参数完成计算,返回结果;
(4)针对计算得到的结果,首先暂时存储到临时存储区域,询问用户是否进行保存,若用户选择保存,则根据结果的粒度和数据量进行存储并注册,记录指标的限定和内涵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710872862.7A CN107665404B (zh) | 2017-09-25 | 2017-09-25 | 一种面向出租车监管的领域特定语言描述系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710872862.7A CN107665404B (zh) | 2017-09-25 | 2017-09-25 | 一种面向出租车监管的领域特定语言描述系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107665404A true CN107665404A (zh) | 2018-02-06 |
CN107665404B CN107665404B (zh) | 2020-08-18 |
Family
ID=61098029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710872862.7A Active CN107665404B (zh) | 2017-09-25 | 2017-09-25 | 一种面向出租车监管的领域特定语言描述系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107665404B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697050A (zh) * | 2019-01-07 | 2019-04-30 | 浙江大学 | 一种基于知识图谱面向电商领域的需求描述模型设计方法 |
CN111309757A (zh) * | 2020-05-14 | 2020-06-19 | 深圳市赢时胜信息技术股份有限公司 | 一种HBase的SQL解释器和优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426531A (zh) * | 2015-12-18 | 2016-03-23 | 河南思维自动化设备股份有限公司 | 一种调度命令的自动解析方法 |
US20170039188A1 (en) * | 2015-08-04 | 2017-02-09 | International Business Machines Corporation | Cognitive System with Ingestion of Natural Language Documents with Embedded Code |
WO2017025939A1 (en) * | 2015-08-13 | 2017-02-16 | Quixey, Inc. | Cloud-enabled architecture for on-demand native application crawling |
CN106648662A (zh) * | 2016-12-23 | 2017-05-10 | 江西博微新技术有限公司 | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 |
CN106844301A (zh) * | 2017-02-22 | 2017-06-13 | 山西大学 | 一种基于二元和三元共词潜在语义信息的文献表示方法 |
-
2017
- 2017-09-25 CN CN201710872862.7A patent/CN107665404B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170039188A1 (en) * | 2015-08-04 | 2017-02-09 | International Business Machines Corporation | Cognitive System with Ingestion of Natural Language Documents with Embedded Code |
WO2017025939A1 (en) * | 2015-08-13 | 2017-02-16 | Quixey, Inc. | Cloud-enabled architecture for on-demand native application crawling |
CN105426531A (zh) * | 2015-12-18 | 2016-03-23 | 河南思维自动化设备股份有限公司 | 一种调度命令的自动解析方法 |
CN106648662A (zh) * | 2016-12-23 | 2017-05-10 | 江西博微新技术有限公司 | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 |
CN106844301A (zh) * | 2017-02-22 | 2017-06-13 | 山西大学 | 一种基于二元和三元共词潜在语义信息的文献表示方法 |
Non-Patent Citations (2)
Title |
---|
HAIQUAN WANG, WEIJIAN MA, HENGKUN SHI, CHUNHE XIA: "An Interval Algebra-based Modeling and Routing Method in Bus Delay Tolerant Network", 《KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS》 * |
熊玲芳,杨世瀚,吴尽昭,卢道设: "城市智能交通系统知识库的综合推理", 《计算机与数字工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697050A (zh) * | 2019-01-07 | 2019-04-30 | 浙江大学 | 一种基于知识图谱面向电商领域的需求描述模型设计方法 |
CN111309757A (zh) * | 2020-05-14 | 2020-06-19 | 深圳市赢时胜信息技术股份有限公司 | 一种HBase的SQL解释器和优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107665404B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368095B (zh) | 基于水利知识-事理耦合网络的决策支持系统架构与方法 | |
Eiter et al. | Towards a semantically enriched local dynamic map | |
CN106919689A (zh) | 基于术语释义知识单元的专业领域知识图谱动态构建方法 | |
CN107644073A (zh) | 一种基于深度优先遍历的字段血缘分析方法、系统及装置 | |
CN112860872A (zh) | 基于自学习的配电网操作票语义合规性的校验方法及系统 | |
CN111914534A (zh) | 构建知识图谱语义映射方法及系统 | |
CN115438199A (zh) | 一种基于智慧城市场景数据中台技术的知识平台系统 | |
CN107665404A (zh) | 一种面向出租车监管的领域特定语言描述系统及方法 | |
Zhang et al. | A knowledge graph system for the maintenance of coal mine equipment | |
CN110222129A (zh) | 一种基于关系型数据库的信用评价算法 | |
Cheng et al. | Quickly locating POIs in large datasets from descriptions based on improved address matching and compact qualitative representations | |
CN117171428B (zh) | 一种提升搜索和推荐结果准确性的方法 | |
Koide et al. | Enhanced indexing and querying of trajectories in road networks via string algorithms | |
Wang et al. | NALMO: Transforming queries in natural language for moving objects databases | |
Shi et al. | Human resources balanced allocation method based on deep learning algorithm | |
Chi et al. | Knowledge Graph‐Based Enhanced Transformer for Metro Individual Travel Destination Prediction | |
Guerra-Balboa et al. | Anonymizing Trajectory Data: Limitations and Opportunities | |
Castro et al. | Ontology applied in the judicial sentences | |
Xu et al. | Understanding human mobility: A multi-modal and intelligent moving objects database | |
Potančok et al. | Competitive technical intelligence: Using patent data to determine smart city trends | |
CN113722288A (zh) | 一种时空数据统计的建模方法 | |
Wang et al. | NALMO: A natural language interface for moving objects databases | |
CN112581019A (zh) | 一种基于多叉树的标准定标及测评云平台 | |
CN111061767A (zh) | 一种基于内存计算与sql计算的数据处理方法 | |
Pozdnukov et al. | Demand Forecasting and Activity-based Mobility Modelling from Cell Phone Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |