形同陌路范文

时间:2023-04-02 10:33:07

导语:如何才能写好一篇形同陌路,这就需要搜集整理更多的资料和文献,欢迎阅读由公文云整理的十篇范文,供你借鉴。

篇1

我们常需要面对一些关联的形态,比如亲密,比如相恋,比如同伴。这些关联的形态一直在改变着,也许微小,也许巨大,但都是说不上来的。什么时候的事呢?一瞬间的转变。

像年月日和时分秒的这种关联,亲密,似乎不可替代,就好像习惯了的陪伴,理所当然。因为我们总觉得有什么是不会改变的吧,有什么该会是永恒的吧。但却变了。曾经有多么亲密,就变得有多么的疏远。可曾经还在啊。这就是密切的形同陌路

在一段感情之后,有些人会尝试着遗忘,于是像“我不记得他了”“我不想他了”这样的话也就听得多了。可这样的话却恰恰说明了没有忘记和依旧想念。重点是那个“了”字。说明曾经有多少次反复的深入生活,说明还萦绕在心里,也就说明那些话语中的掩饰。这就是刻意的形同陌路。

“就是我不认识的那个人。”这句话最近相当流行。意指某一个曾经有过不同寻常的关系,如今这关系却消失殆尽,想要忘记,却又控制不住想念的人。因为办不到忘掉,却又无法挽回了,所以才会宁愿从未认识过,什么都没有发生过,甚至从未见过。这就是无奈极了的形同陌路。

想要把关系都退回到原点以前,想要到所有的事情都没有发生过,想要像陌生人一样可以简单的错身而过。

这是所谓形同陌路。

篇2

当我们的生命随着落地的声响而结束时,那是一种怎么样的痛楚和留恋呢,我们都不是要学着勇敢和坚强么,我们还要继续什么呢。无病的悲伤已经不是这个时代的进行曲了,我们只有在这个季节听着悲伤的音乐感伤寂寞的幽灵。

我们用寂寞的心写着不是很孤单的文字,有点隐隐的看不见的疼痛,当我们的眼泪随着憔悴的表情一起凋落时,我们的感情已经没有了曾经的影子。可是,我们还是得继续生活,因为明天还是要继续,不管是在病痛中,还是在睡梦中抑或是清醒中,只是,我们已经忘记的昨天时间的苍老。也许,我们的希望不在明天,但是,我们还是要努力。为了明天那生活,我们的心不知疲倦的跳动着,真的很想让那颗破碎的心短暂的歇一歇,可是生命赋予了它神圣的使命,不能让它休息,哪怕就一分都不行。

当我们看着悲伤的剧情没心没肺的掉眼泪的时候,我们也感到了那种比死还要痛苦的撕心裂肺的痛,虽然只是一种自然的离别。或许,我们的心就是生来就用来被伤害和痛苦的,好象没有了伤害和痛苦就不正常,好象没有了伤害和痛苦就也不会有幸福。

当幸福在我们身边擦肩而过时,我们也闻到了悲伤的气息,只是,有时它来得太突然太让人不知所措,但它确实是一种残忍诚实的真实。所以,我们不要期望太过于幸福的东西,因为,越是幸福越容易受伤,因为,越是幸福越容易感伤。

在我们的倾斜的世界里,整个城市喧扰而繁华,我们在昏黄的灯光下行走,城市的窒息给我们带来了一点绝望和心灵的震撼,人们都是在这样的环境下生活的,他们都只顾自己的生活,没有时间去顾及这个被工程师雕琢地危险笼罩的城市,也没有时间去装扮这个蛛网成群的城市文明。

一个个的很有创意的广告牌更是城市午夜里的一道道靓丽的风景,而在这样风景下,他们则用匆忙的脚步替代了这个城市的压抑,用步行替代了这个城市的拥挤。我们在这个立体的空间生存,鼻孔里充斥着烟尘的味道,有时有种无法呼吸的窒息。我们很想找一片天空安静的呼吸,不让自己因为呼吸而太累太狼狈悲伤。

黑暗还在继续向四边延伸,街道两旁灯火依旧辉煌,只是多了一个人的影子。黯淡的光在无边无际的夜空里慢慢的一点一点飘向未知的世界,没有谁会去写历史去纪念。

因为太遥远。所以它们还在在成就着一种未知的永恒,而我们却已经开始了苍老。我们不知道该纪念些什么,我们只是还要继续明天简单的简单。

篇3

关键词:交通规划 交通分布 双约束重力模型 浙江公路一、引言

经济不断发展,要求有一个与之相适应的公路交通系统。当前,浙江省现有的公路交通设施已不能满足公路客运和货运交通量的快速增长,开展浙江省公路交通需求预测研究,更好的指导公路建设。浙江省于2004年和2010年分别开展了一次公路出行OD调查,论文在两次公路出行OD调查统计数据的基础上研究适用于浙江省的公路出行交通分布模型。

二、交通分布预测方法的选择

交通分布预测方法一般分为两类,一类是增长系数法,一类是综合法[1]。从上述两大类方法中各选择一个研究浙江省公路交通分布模型。

福莱特法较平均增长系数法收敛速度快,在满足相同精度条件下迭代次数也少,因此在实际研究和工作中广泛应用。福莱特法和佛尼斯法计算较复杂,因此一般通过计算机编程或专门的交通规划软件计算。用增长系数法在进行浙江省交通分布研究中选用福莱特法。

综合法中最常用的是重力模型法,双约束重力模型能满通守恒条件,在研究和工作中广泛应用,选取双约束重力模型对浙江省交通分布进行研究。

三、福莱特法进行浙江省交通分布研究

采用福莱特法进行交通分布是将2004年作为基年,2004年浙江省公路网OD调查获得的交通出行OD表作为基年OD表,以2010年浙江省公路网OD调查获得的各交通小区发生和吸引量作为预测值进行的交通分布,最后将分布结果与2010年OD调查获得的OD分布量做对比,以检验福莱特法是否适用于浙江省公路交通OD分布。

(一)基年OD表

增长系数法的应用前提是要求被预测区域有完整的现状OD表,浙江省2004年组织了全省公路OD调查获得了真实可靠的2004年全省公路交通出行OD表,以此作为基年OD表,增加了预测的精确度。

(二)2010年各交通小区发生和吸引量

将2010年浙江省公路OD调查获得的全省交通出行OD表进行统计可以得出16个交通小区的交通发生与吸引量[2]。

(三)福莱特法进行交通分布

由于福莱特法计算过程较复杂,因此一般通过计算机编程实现或通过专门的交通规划软件计算,应用transcad软件进行浙江省交通分布研究[3]。

1 建立交通小区地图,输入各交通小区2010年交通发生和吸引量。

2 导入基年2004年交通出行OD矩阵,设置迭代次数为10次,收敛标准为1%,在软件中选择福莱特法进行交通分布。

(四)交通分布结果检验

为了检验与实际的误差,将福莱特法进行浙江省交通分布的结果与2010年浙江省公路OD调查获得的OD分布进行对比分析[4]。将福莱特法得出的交通分布矩阵的单元格数值除以2010年调查得到的OD分布矩阵的单元格数值,生成新矩阵,用matlab对新矩阵进行统计分析,得出新矩阵的均值为1.1702,方差为0.4913。用福莱特法进行浙江省交通分布得到的结果与实际调查值有较大差距,与实际交通分布不吻合。

四、双约束重力模型进行浙江省交通分布研究

通过2010年浙江省公路OD调查得出的OD分布和初始阻抗矩阵对阻抗函数进行参数标定,应用双约束重力模型在transcad中进行交通分布。

(一)重力模型参数的标定

1.阻抗函数的选取

阻抗函数包括幂函数、指数函数和组合函数三种形式。由于组合函数可克服指数函数和幂函数由于交通分区之间的距离过小而造成分配量过大的弊端而且组合函数是幂函数和指数函数的组合,考虑因素全面,因此组合函数在交通分布的研究和工作中应用广泛。在计算小区间的阻抗时选用组合函数,即在transcad软件进行阻抗函数选择中选择“Gamma”选项。组合函数需要对函数中的参数a、b、c进行标定。

2.阻抗函数参数的标定

在双约束重力模型公式中,参数仅存在于阻抗函数

中,对双约束重力模型的标定,即对阻抗函数进行参数标定。

①在transcad中打开交通小区层,执行“Networks/Paths―Multiple Paths”命令计算各交通之间的阻力dij ,生成阻力矩阵。

②将2010年调查获得的浙江省交通出行OD矩阵导入软件中,选择“planning―Trip Distribution―Gravity Calibration”命令,在阻抗函数选区中选择“Gamma”函数,标定出阻抗函数参数a、b、c。其中a=1.3877,b=-0.5388,c=0.0422。

(二)双约束重力模型进行交通分布

1.将参数标定输入TransCAD软件,计算各小区间的摩擦因子,即阻抗,得出阻抗矩阵。

2.导入2010年浙江省各小区交通发生和吸引量,在TransCAD软件中选取双约束重力模型进行交通分布,得出浙江省2010年交通分布结果。

(三)交通分布结果检验

将用标定参数的双约束重力模型分布得出矩阵的单元格数值除实际OD分布矩阵的单元格数值,生成新矩阵,用matlab对新矩阵进行统计分析, 得出新矩阵的均值为1.0170,方差为0.2085。利用标定参数的双约束重力模型进行浙江省OD分布与实际调查的OD分布相吻合。

五、结语

由第三部分的研究可知,福莱特法不适用浙江省交通分布。由第四部分的研究可得,浙江省交通分布模型为标定参数的双约束重力模型,即:

参考文献:

[1]邵春福.交通规划原理[M].北京:中国铁道出版社,2004.

[2]浙江省交通规划设计研究院,长安大学. 2010年浙江省公路OD调查数据分析报告[R].杭州:浙江省交通规划设计研究院,2011.

篇4

【关键词】交叉路口;红绿灯;车流量;优化模型

中图分类号:C913.32 文献标识码:A 文章编号:

0前言

城市交通信号控制的研究意义交通是城市经济活动的命脉,对城市经济发展、人民生活水平提高起着十分重要的作用。汽车工业在给人们带来各种便利的同时,也带来了一系列令人困惑的问题,如环境污染、交通拥挤、交通事故的频繁发生等,给人们的生命财产带来很大的损失。

1信号配时的数学模型

交叉路口是道路系统中对交通影响最大的一个部分,主要不利因素有:交通事故、交通延误、燃料消耗等,这些问题又直接与交叉路口的信号配时密切相关,目前,在我国城市道路交叉路口,主要采用定时式信号管理系统。

设T为信号周期(单位为秒(S),下文中时间单位皆为秒);d为交叉路口车辆到达率(辆/S);c为交叉路口车辆离开率(辆/s);为红灯持续时间;包括红灯前的黄灯过渡时间; 绿为绿灯持续时间,包括绿灯前的黄灯过渡时间; 排为在红灯亮后车辆依次排队的时间;时刻红灯亮,来车陆续被阻停在停线前。随红灯时间的延长而积累的排队车数 排时刻,绿灯亮,车辆依次疏散通过交叉路口,经过时间疏疏散车辆到时刻,全部车辆疏散完。疏通车辆数为, 当 时,交叉路口车辆在绿灯时间内可全部疏散完而不会造成阻塞,否则该交叉路口需改造,方可满足现行交通需要。本文是在条件下研究交叉路口信号配时问题。红灯亮后,累积的车辆数为:;

每一信号周期内交叉路口一个进口处的车时平均总延误为:

设在十字路交叉口中,相交道路一条为主干道,另一条为次干道,主干道的车辆到达率、离开率及红灯持续时间分别为,,;次干道的车辆到达率、离开率及红灯持续时间分别为,,。在一个信号周期内,两条道路上的车辆在交叉路口处总延误时间为:

2实例

以金华市迎宾大道和二环北路交叉路口的信号配时优化设计为实例,依照时现场得到的数据部分优化和计算的除以下数据(其中二环北路为),来车率:(1) ;(2)离车率:;(3)红灯的临界时间;(4)最大的疏散时间; (5)优化前的信号配时为。

计算得出,;;可见,主车道的红灯信号配时比优化前少了,次车道的红灯信号配时比优化前多了,这样主、次车道的红灯信号配时比减少了,车流量进一步增大,运行效率显著提高,从而按照此模型进行交叉口红绿灯配时可有效地解决城市交叉口的车辆拥挤现象,提高交叉路口的通行能力,更好的减少汽车在交叉路口的延误时间,提高效益。

3 结语

本文在红绿灯配时优化方面有一定的创新,能解决城市道路十字交叉路口的红绿灯配时问题,可使得车辆总延误时间减少、通过交叉路口的车流量增大、停车次数减少,对于提高车辆运行的效率、节省能源和城市交通管理具有一定的理论和实用价值。与此同时,该模型具有一定的推广价值,但在以下方面还需要进一步完善,不同路口以及不同时段下交通红绿灯的配时方案有所差异,而且本数学模型忽略了黄灯的时间,所以很大程度上有误差。故需要进一步考虑绿灯时间来解决红绿灯优化配时方案。

【参考文献】

篇5

有的时候还是无法相信很多曾经形影不离的好友已经形成陌路!

有的时候还是无法相信小的时候经常在他膝上玩的舅舅和自己早已形同陌路!

有的时候真的真的感慨时光留不住人!

陌生,但是身边却总是会有一堆朋友!

此时此刻,却怎么也无法想到自己身边的这堆朋友,

总有一天也会像那些形同陌路的过往好友离去!

终究,形成陌路!

回忆究竟是什么,光吗?是想抓都抓不住,想挡都挡不了的光吗?

陌生,如此陌生!

会不会有一天,连自己都陌生了!

会不会有一天,连我爱的人都陌生了!

篇6

我不知道曾经一起欢笑过,开心过,愉快地玩过闹过,伤心过……互相安慰过,互相慰藉过,互相埋怨过,互相善意地嫉妒过的我们是否未来会有怎么一天……是哪一天,相信大家都十分的疑惑吧!

不知我们是否会有这样的时候,十年之后,曾经好如蜜糖般的姐妹再次在茫茫人海的大街上重逢,互相抬起头看到了对方, 眼神交叉的那一刹那,你是否会大声地喊出对方的名字?你是否会冲上去给对方一个甜蜜而又温馨的拥抱?你是否会甜甜地说,好姐妹,我们又见面了!你是否会甜蜜地拥着她的肩膀,手拉手带她去你最熟悉不过的咖啡馆靠着窗,和她一起喝着咖啡,欢笑着讲着你们以前欢笑又喜悦的事情?你是否会带着她回家见见你的家人,再次和她成为朋友?我不知道我们是否会在大街上心照不宣地低头走路,互相没看见对方,然后匆匆走过,就等于没有看到她,都默默地走开, 把这次偶遇抛在脑后。会吗?我们会这样吗?苦笑三声后,我也希望不会这样形同陌路吧……

形同陌路多么伤人的一个词,一个完美甜蜜的姐妹情化为虚无,心会痛吗?

篇7

关键词:仪表着陆系统 仿真建模 ICAO RTCA

中图分类号:V37 文献标识码:A 文章编号:1672-3791(2014)07(b)-0014-02

仪表着陆系统能够对进近着陆中的飞机进行引导,提供飞机相对于标准下滑道和航向道的偏差信息。飞行员可以利用显示系统获取该偏差信息修正飞机的航迹角和航向,或者利用自动飞行控制系统自动修正偏差,使飞机稳定在标准下滑道和航向道上。不同级别仪表着陆系统能保证飞机安全地下降到不同的离地高度(决断高度)。在此高度以下,飞行员需要借助飞机外部的景物参考目视操纵飞机继续着陆,而不再依赖仪表着陆提供的偏差,也不能继续利用自动飞行控制系统修正着陆偏差。仪表着陆系统的分类如下。

一类仪表着陆系统(CATⅠ),在能见度为800 m时,引导飞机进近到离地60 m的高度。

二类仪表着陆系统(CATⅡ),在能见度为400 m时,引导飞机进近到离地30 m的高度。

三类仪表着陆系统(CATⅢ),在能见度为0米时,引导飞机进近着陆直到接地。

传统三类A级仪表着陆系统建模只考虑地理学和几何学关系。一些飞机系统的设计,特别是自动着陆功能的设计对仪表着陆系统建模的仿真度有着较高的要求。因此,高仿真度的仪表着陆系统模型可以降低系统研制风险和成本,提高系统研制效率。本文参考一系列的飞机机载和地面真实设备的性能规范,建立了一套满足行业标准性能、满足其他系统设计需要的三类A级仪表着陆系统模型。

1 系统建模

1.1 标准几何模型

本文首先从几何学的角度,建立仪表着陆系统模型。模型的初始化参数为跑道入口的地理坐标LLA(Longitude,Latitude,Altitude)和方位角、下滑台相对于跑道入口的安装位置、航向台相对于跑道入口的安装位置;模型的输出为飞机相对于理想下滑道和航向道的偏差角。模型的输入输出接口如图1所示,模型的原理图如图2所示。

已知跑道入口的地理坐标LLA为:

跑道进近方位角为,飞机地理坐标为:

分别为纬度、精度和高度。以跑道入口为原点,跑道进近方向为轴建立跑道坐标系,由地理学和几何学知识可求解飞机在跑道坐标系下的三维坐标:

步骤1:求取飞机和跑道入口在ECEF坐标系下坐标和(ECEF坐标系是随地球自转的非惯性坐标系。x轴沿赤道平面指向0度经线;z轴沿自转轴指向北极;y轴按右手定则与xz平面垂直)。

其中:为当地平均海平面高度:

为地表半径:

为地球扁率:

为赤道半径:

同理:

步骤2:求解飞机在跑道坐标系中的坐标。

步骤3:已知下滑台和航向台在跑道坐标系中的安装位置和,分别求在飞机在下滑台坐标系和航向台坐标系的坐标和:

步骤 4:已知下滑角,求下滑偏差角和航向偏差角

则下滑道偏差:

,(4.1.49)

航向道偏差:

.(4.1.50)

1.2 地面台性能模型

地面台性能模型在几何模型的基础上将偏差的单位从角度偏转为DDM(调制深度差),并加入换下滑台和航向台的性能误差,其接口如图3所示。本文仅以下滑台为例推导模型的建立过程,航向台的模型完全类似该过程。

根据ICAO相关标准,三类A级下滑台的DDM应满足如下图所示以下的标准结构。在DDM=0到DDM=±0.0875范围内,DDM应随偏差角线性变化;在DDM=±0.0875到DDM=±0.175范围随偏差角近似线性变化,如图4所示。

因此可得到精确的DDM模型:

根据ICAO标准,三类A级下滑道结构的性能应以95%的置信度满足以下误差范围要求:

覆盖区边缘到A点:0.035 DDM;

A点到B点: 从 0.035 DDM线性下降到0.023 DDM;

B点到T点: 0.023 DDM;

其中,ILS “A”点指沿进近相反方向,在跑道平面上距离跑道入口7500m处的点;ILS “B”点指沿进近相反方向,在跑道平面上距离跑道入口1050m处的点;ILS “T”点(基准数据点)指沿进近相反方向,在跑道平面上距离下滑道高度15m处的点。如图5所示。

因此,ILS A、B、T三点在GS坐标系的横坐标为

已知飞机在GS坐标系的横坐标为,通过下面的插值表可得到在该点的误差要求如图6。

由95%的置信度要求,可以利用正态分布建立误差模型:

1.3 机载接收机性能模型

机载接收机性能模型在地面台性能模型的基础上加入机载接收机的性能误差和动态响应模型,其接口如图7所示。本文仅以下滑台为例推导模型的建立过程,航向台的模型完全类似。

(1)精度模型。

根据RTCA DO-192对三类A级下滑道接收机的最低性能标准要求,其精度保持在5%以内,因此可以利用平均分布建立误差模型:

(2)动态响应模型。

根据RTCA DO-192要求,机载接收机的阶跃动态响应应满足0.6 s时达到67%稳态值,且超调不超过2%。因此,可用二阶低通滤波器模拟这一动态响应。利用简单的线性搜索法,可得到满足上述指标的二阶低通滤波器阻尼比和自然频率:

2 结论

针对传统三类A级仪表着陆系统建模只考虑地理学和几何学关系、模型仿真度不高的缺点,本文首先建立三类A级仪表着陆系统建模标准几何模型,依据ICAO和RTCA的相关标准规范,在几何模型基础上增加了地面设备和机载设备的性能模型,该模型提高仪表着陆系统模型的仿真度,能够帮助其他需要该模型的系统设计降低风险和成本,提高研制效率。

参考文献

[1] 大气和空间飞行器坐标系统.ANSI/AIAA r-004-1992.1992.

篇8

关键词:铁路客运量,灰色预测法,GM(1,1)模型

 

0.引言

铁路在我国具有不可替代的特殊地位和重要作用,建国50多年来,我国铁路事业有了巨大发展,综合运输能力显著增强。在路网建设和完成运量,以及加快铁路建设、客运提速、铁路信息化和建立行车安全保障体系方面都取得了世人瞩目的伟大成就。但是随着我国经济持续、快速增长和居民收入、生活水平的提高,人们消费结构的变化和消费观念的转变,旅客对铁路运输提出了越来越高的要求,铁路也面临越来越严峻的考验。准确地预测铁路运输需求越来越重要。未来2010-2014年我国铁路的客货运需求总量将达到什么水平,要从总体上有一个较为准确的判定和把握,以便对铁路建设和管理进行适时的调控。

铁路运输系统是一个多因素,多层次的复杂系统,其状态,结构,边界关系难以精确描述,属于典型的灰色系统。灰色系统的GM模型能有效地处理离散数列,具有预测精度高,预测所需原始信息少,预测结果可检验性等优点。基于以上原因,我选择了灰色预测理论来实施预测。

1.文献综述

面对运输的诸多问题,国内外专家提出了许多解决措施,有一定成效。但某种运输方式或者某一方面的改进和完善都无法从根本上解决客运交通问题。随着客运需求的增加和运输结构的变化,对运输体系提出了更高的要求。在综合运输通道中,铁路运输尤其高速铁路的介入不仅能大幅增加客运能力,促进客运供求平衡,还能有效改善铁路运输的内部运输结构。

此外,我国铁路运输正处于快速发展时期,对于运输通道内是否该大规模发展铁路运输,一直是国内外共同关心的热点问题。为此,本文通过灰色系统理论对铁路客运量进行预测,提出一些改进完善措施,从而实现铁路内部运输结构的优化,对推动经济带发展的有效性有非常重要的现实意义。本文就此立题。

2.灰色预测的系统模型

2.2 GM(1,1)模型相应方程为:

其中a和b 是由参数序列来确定的参数,用最小二乘法求解得a、b的值。

2.3求解微分方程,即可得预测模型:

联立Xo(k+1)=x1(k+1)-x1(k)

2.4模型检验

该模型是否可信,必须按一定途径进行检验。因为每一个检验值对模型来说都是后验值,所以我们采用后验差检验的方法。

相对误差序列为:

表一

篇9

关键词:路边停车;流体模拟理论;电动自行车;延误

DOI:10.16640/ki.37-1222/t.2016.08.242

0 引言

在我国大多数中小型城市中,路边停车是常见现象。路边停车场的泊位通常占用非机动车车道宽度,对非机动车交通流产生很大的影响。作为非机动车的主要构成者,这种影响在电动自行车身上显得尤其明显。目前国内外的大部分研究集中在非机动车对机动车交通流延误、行人穿越道路对机动车交通流延误等方面[1-2],对路边停车对非机动车交通流影响的研究很少。本文在国内外研究成果的基础上,重点研究路边停车对电动自行车交通流造成的延误,找出影响因素,并建立相关延误模型。

1 条件假设

本文在研究过程中,作如下假设:(1)车辆停靠路边泊位时,选择平行式停放;(2)停车场泊位设置在非机动车车道上,并且机动车车道与非机动车车道之间有隔离带分隔。

2 延误模型建立

车辆在驶出驶入泊位时,驾驶员为了保障行车安全,会在空隙足够大时才会驶入驶出泊位。因此当路段车流量较小时,车辆的驶入驶出因为有足够大的空隙,因而对电动自行车交通流的影响较小。但是当路段的电动自行车的车流量较大时,电动自行车之间的间隙不能够确保车辆的驶入驶出泊位的安全性,当驾驶员因等待时间较长而失去耐心时,将强行驶入车流,而导致电动车车流产生交通堵塞[3]。

4 总结

本文在车流波动理论的基础上,建立了路边停车对电动自行车车流的延误影响模型。模型对车流的延误时间、排队长度、堵塞概率给出了具体的计算方法,并通过具体事例验证了模型的可行性。该模型对确定车流延误影响具有重要的意义。

参考文献:

[1]张水潮,杨仁法.路边停车带对非机动车流影响的分析模型[J]. 交通运输工程与信息学报,2014,12(01):22-27.

篇10

关键词:全文检索;Lucene;倒排索引;分词

DOIDOI:10.11907/rjdk.151168

中图分类号:TP319

文献标识码:A 文章编号

文章编号:16727800(2015)006012703

作者简介作者简介:张吴波(1977-),男,湖南邵阳人,湖北汽车工业学院电气与信息工程学院讲师,研究方向为软件开发。

0 引言

大数据时代,可利用的数据和信息量呈爆炸式增长,人们在获取更多信息的同时,也不可避免地增加了筛选信息的难度[1]。面对海量数据,如何使用户更好、更准确地抓取所需信息,已成为信息化技术中一个非常重要的课题。全文检索技术是为用户提供快速、准确获取有效信息的重要方法。

1 全文检索技术

全文检索是以各种计算机数据,诸如文字、声音、图像等为处理对象,提供按照数据资料的内容,而不是外在特征来实现的信息检索手段[2]。相对于一般的DBMS,可以将Word文档、邮件、网页等非结构化、半结构化数据作为检索对象。

全文检索最初是以字符串匹配程序实现的,即在待查找的文件中,打开每个文件后,对文件内容从头到尾检索,如果其中包含需要查询的字符串,则将它作为结果文件。这种顺序检索效率较低,因此,全文检索都是通过“索引”技术实现的。其过程是由计算机索引程序扫描文件中的每一个词,然后对每个词建立一个索引,并指明该词在文章中出现的次数和位置。当用户查询时,由检索程序对已建立的索引进行查找,得到所需要的文件[3]。

2 全文搜索引擎Lucene

Lucene是一个非常优秀、成熟、开源、免费、采用Java语言编写的全文检索引擎工具。它提供了丰富的API,可以与存储在索引中的信息方便地交互,并能方便地嵌入到各种应用系统中,实现针对应用的全文索引/检索功能。

Lucene运用了大量的面向对象设计思想。首先定义了一个与平台无关的索引文件格式,其次通过抽象系统的核心组成部分设计为抽象类,具体的平台实现部分设计为抽象类的实现,此外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式处理,最终达成一个低耦合、高效率、容易二次开发的检索引擎系统[4]。

目前,Lucene得到了广泛应用,许多Java项目都使用了Lucene作为其后台的全文搜索引擎,比较著名的有:Jive(Web论坛系统)、Eyebrows(邮件列表HTML归档/浏览/查询系统)、Cocoon(基于XML的Web框架)等。

3 Lucene系统模型

3.1 Lucene系统结构

Lucene搜索引擎由基础结构封装、索引核心、对外接口、查询分析器4大部分组成,如图1所示。

索引核心是Lucene的重点,主要包括索引管理和数据存储管理。其中org.apache.lucene.index包实现对索引的建立、删除等操作[5],通过为每个分出的词建立索引,查询时只需遍历索引,从而极大地提高检索效率;org.apache.lucene.store包实现对索引文件的存储管理。基础结构封装是Lucene的基础,包括文档管理和公用类。其中org.apache.lucene.document实现对文档信息和域信息的管理;org.apache.lucene.util作为公共类,实现一些优化的数据结构和算法。对外接口包括检索和语言分析器,org.apache.lucene.analysis是语言分析器,主要用于切分词,把输入的文本分成一个个可供索引模块处理的“词语”。org.apache.lucene.search是检索管理器,提供用户检索接口,可以实现根据用户输入的查询条件进行查询。org.apache.lucene.QueryParser是查询分析器,其作用是解析用户输入的查询语句,对查询语句进行分析,然后返回一个查询对象(query),它还可以自定义查询规则,以实现像Google一样能支持查询条件的与、或、非等复合查询方式。

3.2 Lucene检索流程

基于Lucene的全文搜索,包含索引管理和搜索索引两个基本过程,其数据处理流程如图2所示。

3.2.1 索引管理

在创建索引时,先将被索引(待搜索的数据)的内容,作为文档(Document)信息,传给IndexWriter对象,在IndexWriter对象中,指定语言分析器Analyzer。语言分析器自动对文档进行分词处理,将文档分成一个个单独的单词,其中还要进行去除标点符号和停用词(像英语中的a、the、or等使用频率很多的冠词、介词、副词或连词)等处理,形成“词元(Token)”。词元传递给语言处理器进行相关处理,形成“词(Term)”,对于英语形式的词元进行语言处理时,一般做以下工作:将词元变为小写、将词元缩减为词根形式(例如“cars”转换成“car”)、将词元转变为词根形式(例如“drove”转换“drive”)等。最后索引组件依据语言处理产生的词形成词典,采用倒排索引法,形成一定数据结构的索引文件。

3.2.2 搜索索引

Lucene是针对索引进行查询的。先将用户输入的查询信息传递给QueryParser对象,该对象采用建立索引时类似的分词方法和语言处理方法,得到需要查询的单词和查询关键词;再根据查询语句的语法规则,进行语法分析,创建一棵语法树,形成Query对象;最后由IndexSearcher对象打开、读取索引目录中的索引文件,在反向索引表中,分别找出需要查询的单词文档链表,并根据语法树对文档链表进行交、差、并等操作,得到结果文档。

3.3 Lucene索引机制

索引是Lucene进行全文搜索的基础,关系到检索的效率。在Lucene中,分析器只能对文本数据进行解析,并产生索引,对于其它类型的数据,需要将其转换成文本数据后,提交给分析器进行处理。Lucene在管理索引时,是通过索引文件管理的,在索引文件中既保存正向信息,也保存反向信息。

3.3.1 正向信息

在Lucene中,索引结构是一种层次结构。索引(index)由段(segment)组成,段由记录(document)组成,记录由域(field)组成,域由词(term)组成。每个层次都保存了本层次的信息以及下一层次的元信息,也即属性信息[6],其结构如图3所示。

3.3.2 反向信息

反向信息是索引文件的核心,记录的是倒排索引表。倒排索引源于实际应用中根据属性的值来查找记录的方式。索引表中的每一项都包括一个属性值和该属性值记录的地址。在Lucene中,索引表中的项是文档单词,其属性是包含单词的文档号、在文档中的出现频次及位置,如图4所示。反向信息主要包括倒排索引表中的词典(Term Dictionary)和倒排表(Posting List)。

4 Lucene应用

Lucen提供了全文检索框架,具备完整的查询引擎和索引引擎,为数据访问和管理提供了简单的函数调用接口。在应用Lucene搭建全文检索系统时,由于应用领域不同,需要进行二次开发,以扩展系统功能。

4.1 构建数据采集器

能被Lucene索引的数据是文本数据。实际应用中,待检索数据有许多种格式和来源,例如:PDF文件、Word文件、XML文件,以及互联网的网页文件。在具体实施时,需要按照应用需求,对这些不同格式的文件分别进行处理,从中提取出纯文本格式信息,并建立对应的Lucene文档,再提交给索引管理器进行索引。

在处理PDF文件、Word文件等二进制文件时,可以借助第三方的接口和应用程序,对文件进行数据提取。例如在处理PDF文件时,可以使用PDFBox接口进行文件分析并提取数据;在处理Word文件时,可以使用JACOB、POI等从中提取数据等;在处理互联网上的网页时,可以通过网络爬虫等方式对网页数据抓取,并使用网页分析技术,先去掉其中的HTML标记,再提取网页内容。

4.2 扩展分词器

Lucene在org.apache.lucene.analysis中定义了接口,提供了可供应用系统使用的语言处理能力。Lucene默认已经实现了英文等语言的简单词法分析逻辑(按照空格分词,并去除常用的语法词,如英语中的is、am、are等)。但是,在具体应用时,由于每个语种的习惯和处理词的方法差异较大,例如在汉语中词语的分割与英语就有很大的不同。因此,使用Lucene提供的ChineseAnalyzer和CJKAnalyzer对中文分词效果并不明显,不能满足系统对中文的分词要求,此时可以采用analysis接口实现的方式,自定义分词算法,以实现对中文的个性化分词。

5 结语

Lucene本质上是一个信息检索的类库(Library),它具有高效、简洁、易用的特点,在信息检索中有着非常广泛的应用。Lucene采用了倒排索引技术,实现了高效的索引管理和检索。Lucene只以文本格式的数据作为索引对象,在实际应用中,可以开发针对各种不同类型数据的采集器,以扩展系统数据处理的广度;可以在Lucene提供的分词器基础上,针对语言系统特点,开发新的分词器,以扩展系统数据处理的深度。

参考文献:

[1]刘东君.基于Lucene非结构化文档全文检索系统研究与实现[J].软件导刊,2013,12(10):100102.

[2]李永春.Lucene的全文检索的研究与应用[J].计算机技术与发展,2010,20(2):1215.

[3]李明宙.Lucene全文检索引擎的结构机制与应用方式[J].广西科学院学报,2012,26(4):433435.

[4]周平.Lucene全文检索引擎技术及应用[J].重庆工学院学报:自然科学版,2007,21(4):8688.