Lucene检索技术在运动技战术分析知识库中的应用

2015-07-26 02:29刘颖华许瑞平
微型电脑应用 2015年8期
关键词:词库字符串词条

刘颖华,许瑞平

Lucene检索技术在运动技战术分析知识库中的应用

刘颖华,许瑞平

介绍了Lucene检索技术中文本解析器的实现和建立索引时的一个关键算法最大匹配分词算法,对此算法进行了改进并把它应用到对信息文档库的分词操作中。介绍了建立索引和使用索引的方法,论述了Lucene检索技术在运动技战术分析知识库系统中的应用。

知识库;Lucene检索技术;索引;分词算法

0 引言

随着竞技体育项目的快速发展,运动技战术分析研究不断深入,运动技战术分析信息也迅速增长,同时,在技战术分析中,运用数据挖掘、人工神经网络、系统动力学、决策支持系统等理论和方法对运动员比赛的技战术特征进行诊断和分析,进而作出评估和预测的技战术发展趋势也已开始研究。现代科学技术在运动技战术分析中的运用使得运动领域的科学化分析得到了迅猛的发展。对竞技体育的发展进程起了很大的推进作用。为了将这些迅速增长的研究信息应用到我们的运动训练实践中,开发一个能够有效管理和检索的运动技战术分析知识库系统,具有重要的现实意义和实用价值[1]。

运动技战术分析知识库主要由许多的文件信息组成,这些文件信息组成了一个巨大的文档库,其中有各种类型的文档数据如记录各种技战术分析资料的word文件、大量的分析数据excel表格、包含视频数据的ppt文档、记录训练分析资料的 pdf文档、以及大量的比赛训练音视频数据资料。对这些文档数据进行归类处理需要投入大量的人力物力,而且,人工方法对他们进行整理难以归纳出所有的文献内容。因此,对这些基于文档库的运动技战术分析知识库进行全文检索是本文的关键技术。本文利用Lucene搜索引擎建立文档的索引,对全文内容直接进行检索,从而实现最大限度的利用这些资源。于数据库中的记录、字段和表的结构,大量通用的应用文档、数据库资料都可以便捷的映射到Lucene的存储单元或是其接口中,因此,我们能够将它看成是一个支持全文索引的数据库系统[2]。

Lucene源码中共包含 7个子包,每个包完成特定的功能,具体如表1所示:

表1 :Lucene的组成结构

1.2 Lucene 的系统架构

Lucene功能非常强大,但从根本上说,主要包括两块:一是文本内容经切分后索引入库;二是根据查询条件返回结果,即索引部分和查询部分[3]。Lucene的系统结构如图1所示:

1 Lucene全文搜索引擎概述

1.1 Lucene的组成结构

Lucene是一个用Java写的全文检索引擎工具包,可以便捷的嵌入各类应用程序中从而实现对全文进行检索或是索引的功能。Lucene的主要功能是索引和检索,它们两者具有相互独立性,便于开发人员在它们的基础上进行扩展开发。Lucene具有丰富的API接口,能够对存储在其索引中的数据进行交互,但是,它并不是一个拥有完整特征的全文检索应用程序,而是能够给应用程序提供索引和搜索的功能。Lucene的API接口在应用上具有通用性,其输入输出类似

图1 :Lucene的系统结构图

2 Lucene检索技术在技战术分析知识库中的应用

2.1技战术信息文本库的建立

在运动技战术分析知识库中,信息的格式多样化,有word、pdf、excel、ppt等格式的文字、数据统计表,技战术分析视频剪辑、多媒体技战术分析课件等等。根据 Lucene的特点建立索引时,我们首先要对它们进行预处理,使得它们在格式上具有统一的文本文件格式,从而方便我们根据文档内容来进一步建立相应的索引。将各种不同的文档格式转化成文本格式的方法各不相同,不能简单地从文件读取字符,而是需要根据它们特殊的格式来提取其中的内容[4]。

因此,我们需要建立相关的解析器将各种文档解析成文本内容,系统根据文档名称来判断文档类型,然后,调用相应的解析器进行内容解析,以下为 PDF类型的文档解析代码:

2.2 中文分词

在信息检索时建立索引可以大大提高检索的速度,而在Lucene中,建立索引的一个关键的步骤就是进行分词,如图2所示:

图2 :全文索引结构图

自动分词目前主要有3类分词技术:对字符串进行匹配的分词技术、基于理解的分词技术和基于统计的分词技术。运动技战术分析知识库检索平台采用了字符串匹配分词。对字符串进行匹配的分词技术,其原理是根据一定的搜索策略对将要进行分析的汉字串和一个被定义为“足够大的”存储在词库中的词条做匹配操作。如果能够在词库中搜索到该字符串则该匹配操作为成功,即识别出了一个词。常用的几种字符串匹配的分词方法主要有:正向匹配、逆向匹配、最大切分、最小切分(使每一句中切出的词数最小),还可以多种方法相结合进行匹配如双向匹配法。根据搜索方向的不同,串匹配分词算法又可以有正向、逆向操作的匹配;根据对各种长度进行优先匹配的原则,又可以有最小、最大匹配算法;根据进行匹配操作时是否能够和词性标注的进程相结合,又可以有单纯分词法、标注和分词进行结合的算法[5]。

正向最大匹配算法流程图如图3所示:

图3 最大匹配分词算法流程图

算法描述:

(1)初始化两个字符串S1、S2,其中S1是准备进行切分的字符串,S2是进行切分操作后的字符串,对匹配最大长度MaxLen进行初始化操作。

(2)假设S1不为空,则从S1的左边开始,提取待选字符串W,W的长度要小于等于MaxLen。假设S1为空,就转到步骤(4)继续操作。

(3)在已知的分词词典中对字符串W做查找操作,如果能够在词典中查找到,则把W加入到S2字符串中,S1字符串的指针随之往后移到W字符串的后面,然后转到步骤(2)继续执行操作。如果在词典库查找不到W字符串,则把字符串W最右端的那个字符删除掉,重新执行步骤(3)。

(4)循环操作,直到S1字符串是空串为止,对分词结果字符串S2进行输出操作。

尽管最大匹配算法可以对大部分词语的词条进行切分,可是在大部分情况下,该切分操作会发生切分错误,因而曲解了原始词条的语义,也即分词歧义。依据分词时引起歧义的不同方式,可以分为以下3种歧义形式:交集型、组合型和混合型。交集型歧义是指假设BC和CD都属于词典中的词,那么对于“BCD”就有“BC/D”和“B/CD”这样两种切分方法。因此,形成的歧义就称为交集型歧义,比如“乒乓球桌”,有可能引起交集型歧义“乒乓球/桌”和“乒乓/球桌”。利用向前方向的最大匹配算法可以解决部分交集型歧义。组合型歧义是在以下情况下发生的:假如BC和B、C都是词典中的词,那么对字符串“BC”的进行切分可能造成两种情况:字符串“BC”被切分为“BC/”和“B/C/”。这样造成的歧义可以被称之为组合型歧义。例如:字符串“个人”在不同的语言环境下应该进行不同的切分,“他/个人”和“5/个/人”。

在运动技战术分析信息资料中,存储了海量的专业词条和运动员的姓名等词条信息,这些词条信息是要进行检索的重要内容,这些专业词条在分词库中一般都是不存在的,因而,在应用这些分词库来做语义分析以及词条的切分操作时就会出现错误,或是不准确的切分操作。要对这些专业词条信息和运动员的姓名信息进行一一准确地划分操作,就需要创建一个针对专业词条的词库和专门的运动员姓名词库,根据这些词库再结合已有的基本词库,来对技战术分析知识库中的信息文档库做划分操作,就可以确保对文档的划分更准确和专业。

改进的对文档库的分词操作步骤如下:

(1)对文档进行预处理,先把文档转换成文本文件,然后进行删除操作,把空格进行删除,从而统一词条的格式,如删除姓名词条中的空格等。

(2)对文本文件中内容进行读取,将它读入分配的内存单元S1中,对S1进行提取操作,从中提取出候选词W。W的长度要小于等于MaxLen。

(3)查找已有的分词词典,假如在分词词典中能够查找到候选词W,则把候选词W添加到分词字符串,与此同时将S1的指针向后移,移动到W后面,转到步骤(2)继续操作。假如在分词词典中找不到候选词 W,则继续在存储专业词条的词库和存储姓名词条的词库中进行查找匹配,假如在存储专业词条的词库和存储姓名词条的词库中查找到了候选词W,做将候选词W添到分词字符串中的操作,与此同时将S1的指针往后移,移动到候选词W的后面,跳转到步骤(2)继续执行。假如在存储专业词条的词库和存储姓名词条的词库中都无法查找到候选词W,则删除掉W最右边的一个字符,重新回到步骤(3)继续执行。

(4)循环操作直至字符串S1被全部划分完。

2.3 创建索引和使用索引

在运动技战术分析知识库中创建索引需要将标题和内容分别提出作为索引,并且把两者的数据类型与索引匹配,在创建完索引类后,建立Document类型的对象,并为其添加一些属性Field。我们把Document对象看成是虚拟文件,把来此处获取信息的.Field则看成是描述此虚拟文件的元数据,构建完 Document并详细设计了 Field,然后将每个Document作为一个条目添加到索引中去实现检索。

在使用索引进行搜索运动技战术分析知识库的操作时,我们将检索关键词出现的频率作为计算该文档资料的权重值从而来为我们的决策分析提供一个科学的计算数值。对检索条件的文档进行结构化操作是进行检索的关键步骤,同样我们可以采用在创建索引时所使用的分词器来对查询条件进行词条的切分操作,进而将之转换成一组由与或非符号组成的逻辑表达式,对存储在知识库中的文档的创建不同索引库,对该索引库的不同域进行检索从而实现检索功能。

3 总结

本文在深入学习 lucene检索技术的基础上,介绍了Lucene全文搜索引擎的组成结构和系统架构,以及它的具体应用方法,提出了文本解析器的实现方法和建立索引时的关键算法:最大匹配分词算法,对此算法进行了改进并将它应用到信息文档库的分词操作中。介绍了建立索引和使用索引的方法,论述了Lucene检索技术在运动技战术分析知识库系统中的具体应用。在将Lucene检索技术引入到体育信息技术领域做了一个有益的尝试。

[1] 黄华勇.奥运竞技体育项目技战术分析知识库的研究与实现[D].南京:南京理工大学,2008.

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

[3] 苏潭英,郭宪勇,金鑫.一种基于 Lucene的中文全文检索系统[J].计算机工程.2007,33(23):94-96.

[4] 杨春龙,顾春华.基于概念语义相似度计算模型的信息检索研究[J].计算机应用与软件.2013,30(6):88-92.

[5] 索红光,孙鑫.针对中文检索的lucene改进策略[J].计算机应用与软件,2009,26(6):175-177.

G819.19文献标志码:A

2015.01.20)

1007-757X(2015)08-0026-02

上海市科委重点科技攻关计划资助项目(072705128)

刘颖华(1973-),女,江西永丰人,上海体育学院运动技战术诊断与分析重点实验室,讲师,硕士,研究方向:运动项目数据库应用,上海,200436许瑞平(1973-),女,河南安阳人,上海体育学院信息技术中心,工程师,硕士,研究方向:教育信息化,上海,200433

猜你喜欢
词库字符串词条
基于文本挖掘的语词典研究
一“吃”多用
输入法词库取证比较研究
输入法词库乾坤大挪移
2016年4月中国直销网络热门词条榜
最简单的排序算法(续)
大数据相关词条
一种新的基于对称性的字符串相似性处理算法
高效的top-k相似字符串查询算法
将用户词库快速导入搜狗五笔词库