在线专利检索分析系统的设计与实现
2016-05-30温家凯农强
温家凯 农强
(广西达译商务服务有限责任公司,广西 南宁 530007)
【摘 要】文章介绍了一个在线专利检索分析系统,阐述了系统的体系结构、各模块的功能、关键技术。该系统在分布式大数据采集、基于Lucene与Mysql数据库结合的全文索引、基于Mina框架的分布式在线分析架构等基础上实现的专利信息检索和统计分析,在大规模数据方面体现出较好的效率,并提供检索结果自动翻译、检索词智能扩展和产业分类导航等特色功能,可以帮助普通用户更便捷地利用专利信息。
【关键词】专利检索自动翻译;检索扩展;专利分析;分布式;全文检索Lucene Mina
【中图分类号】TP311 【文献标识码】A 【文章编号】1674-0688(2016)06-0034-05
0 引言
随着知识经济的深入发展,专利已成为企业市场竞争力的核心要素和最重要的资产构成。进入新世纪以来,许多企业特别是西方跨国公司通过“专利圈地”,垄断高端技术领域,排挤竞争对手,攫取了巨大的市场利益。可以说,对于后发展欠发达地区的企业而言,加强技术创新并及时将创新成果申请专利保护,既是保护自身利益的迫切需要,也是跻身市场竞争制高点的必然选择,更是其发展和壮大的必由之路。本文开发了一个在线专利数据检索分析系统PatentOnline,为广西重点产业提供以产业细分为基础的专利检索及分析服务,帮助企业了解竞争对手的技术水平和跟踪最新技术发展动向,提高研发起点、加快产品升级和防范知识产权风险。
1 总体设计
系统采用MVC 3层结构:展示层、逻辑层和数据服务层(如图1所示)。展示层负责基于Web界面的用户交互与展示;逻辑层负责对数据进行处理,并与数据服务层进行交互;数据服务层负责采集与专利相关的数据,进行数据清洗、数据抽取转换等操作,并为上层提供数据访问的接口。
1.1 在线专利检索子系统
1.1.1 快捷检索模块
快捷检索模块提供类似搜索引擎的简洁界面(仅一个检索框)给用户进行检索。快捷检索功能提供2种检索行为。
(1)专利号检索。用户输入申请号或公开公告号进行检索。
(2)关键词检索。用户输入关键词,系统对发明名称、摘要、发明人进行全文检索查询,返回查询结果。可以输入多个关键词,用空格隔开,默认是“逻辑与”的关系。
1.1.2 表格檢索模块
表格检索模块提供给用户同时对多个检索字段进行检索的功能,检索字段包括申请号、发明名称、公开(公告)号、公开(公告)日、IPC分类号、申请人、申请日、发明人、主题词、摘要、主权利要求、优先权项、国别省市代码、代理机构代码、申请人地址。字段内支持检索词使用“and”和“or”运算。
1.1.3 自定义表达式检索模块
用户可根据自己定义的表达式来进行检索。支持“and”“or”“not”“xor”等多条件查询。单击“》”显示更多的逻辑关系。鼠标移至“?”显示帮助说明文档。对每个查询条件的字段名称有相应的字母对应,点击“字段名称”可查看。单击某个字段名称,自动在自定义表达式输入框中填充,用户输入自己想要查询的表达式,点击“检索”按钮,就会检索到相应的数据。单击“检索历史”,显示之前检索的历史记录。在检索历史记录中点击某条检索表达式,会自动填充在自定义表达式的输入框中,方便操作。
1.1.4 主题检索模块
主题检索模块是根据中国分类主题词表实现的关联性搜索功能。用户可以通过“主题检索”-“查看主题内容”来查看所输入检索词的主题词信息。信息包括主要类目相关内容和次要类目相关内容。通过点击“主题检索”—“生成主题表达式”来生成专利检索表达式。主题检索模块提供了3种专利检索方式:{1}根据检索词的正式和非正式主题词来进行专利搜索的“精准检索”。{2}根据检索词的正式主题词、非正式主题词、下位词来进行专利搜索的“模糊检索”。{3}将检索词的正式主题词、非正式主题词翻译成英文的“英文检索”。
1.1.5 同义词检索模块
同义检索模块是根据同义词词库来实现的相关搜索功能。用户可以通过“同义检索”—“查看同义词内容”来查看所输入检索词的同义词信息。通过点击“同义检索”—“生成同义词表达式”来生成专利检索表达式。同义检索模块提供了3种专利检索方式:{1}根据检索词的同义词进行专利搜索的“同义检索”。{2}根据同义词的相关主题词进行专利检索的“同义扩展检索”。{3}将检索词的同义词翻译成英文的“英文检索”。
1.1.6 自动翻译模块
该模块提供对检索结果的自动翻译。系统调用外部专利机器翻译系统接口,将英文检索结果中的专利信息(标题和摘要)自动翻译成中文,以帮助用户快速地了解检索结果信息。
1.1.7 IPC分类导航模块
IPC分类导航显示各IPC分析的信息,可点击展开节点来查看各分类节点的子项信息,包含有中国专利和外国专利的选择,点击某项可进行查看信息。用户可以选择对指定分类的专利集合进行检索(有数量限制)。
1.1.8 行业分类导航模块
行业分类导航功能和IPC分类导航功能相同,只是分类不同。可点击展开节点来查看各分类节点的子项信息,包含有中国专利和外国专利的选择,点击某项可进行查看信息。对选择的某个分类专利集合进行检索。
1.1.9 专利管理模块
该模块由“表达式”“标引”“专题库”和“模板”4个部分组成。该模块可帮助用户在日常使用中积累自己的专利检索表达式,对感兴趣的专利进行标引,建立自己的专利专题库。
1.1.10 用户管理模块
用户分为普通用户和高级用户。系统对不同用户赋予不同的使用和管理权限。例如,高级用户可放宽进行专利分析的数量限制。
1.2 在线专利分析子系统
对专利数据进行多元统计和指标分析是指对专利文献的有关特征进行统计或按照指标算法进行分析。该子系统能够实时对用户选择的专利集合(专利检索结果集或是专利专题库)进行各种专利分析操作,并显示分析结果。
1.2.1 总体趋势分析
总体趋势分析按专利申请日期或专利公开日期统计专利数量。
1.2.2 国省分析
通过专利信息的国省分析,可以了解行业发展的重点区域及不同区域内专利研发的重点方向和各区域之间技术的差异性、不同区域内专利技术的主要竞争者(申请人)和发明人。国省分析包括国省分布状况、国省申请人分析、国省发明人分析及国省技术分类分析。
1.2.3 申请人分析
申请人分析包括申请人趋势分析、申请人构成分析、申请人国省分析、申请人技术分类构成、申请人综合比较、合作申请人分析及申请人区域构成。
1.2.4 发明人分析
发明人分析包括发明人趋势分析、发明人构成分析、发明人国省分析、合作发明人分析。
1.2.5 技术分类分析
技术分类分析包括技术分类趋势分析、技术分类构成分析、技术分类国省分析、技术分类申请人构成、技术关联度分析及技术分类区域构成。
1.2.6 中国专项分析
针对于中国的专利数据进行的分析,它主要包括专利类型分析、国省分布状况。
1.2.7 区域分析
区域是指专利的受理国信息,包括国家、组织,比如美国、德国、WIPO等。区域分析用于了解不同区域产业产品及其技术的特点和差异,包括区域趋势分析、区域构成分析、区域技术领域构成(IPC构成)、区域申请人构成。
1.2.8 自动生成分析报告
将上述分析结果形成报告,可导出成Word格式。分析报告模板可以自定义,并可以定制分析报告模板。
2 关键技术
2.1 分布式专利大数据采集
本系统平台的专利数据来源于互联网的多个国内外数据源,数据格式多样,数据总量庞大,需要用程序自动化进行持续性的长期采集抽取。以下为系统设计与实现的要点。
2.1.1 编程语言
使用Perl或Python这种脚本语言来实现。Perl和python都擅长处理文本,无需编译,修改方便,入门容易,拥有强大、丰富的模块扩展。
2.1.2 增量式采集
由于专利数据量极其庞大,全世界中英文专利共约1亿份,所以将其全部采集是个长期的过程。因此,整个流程中每个步骤都是以增量的方式来处理,每个步骤都要识别上一步骤传递来的增量数据包进行转换处理,并记录处理日志,以便以后能够根据日志恢复全部数据。系统以定时或不定时方式生成增量采集到数据包,导入平台。
2.1.3 并行采集方式
为提高采集的带宽利用率和采集效率,系统以并行进程或多线程的方式进行采集。为了避免对数据源服务器造成压力,需要限制访问的频率,同时使用多个IP出口轮换。
2.1.4 鲁棒性
系统核心进程可以任意中断,不影响后继重启后采集。
2.1.5 自动化
整个系统要求有较高的自动化程度,不需要专门安排人员来监控,失败操作能够自动重启,并有较完善的日志记录,以便发现和修复问题。
2.2 基于Lucene与Mysql数据库结合的中文专利信息全文检索
本系统平台的数据库是使用Mysql管理的,虽然能够较方便地对专利数据进行组织和操作,但是用户无法控制其信息索引的方式。由于是针对西文字符开发的,Mysql在对中文信息进行全文索引时问题较大,因此本系统平台采用了目前流行的Lucene技术,并与Mysql结合使用一起管理专利数据库。通过Lucene为专利数据库中的海量专利信息建立索引,实现全文检索,可以较好地解决海量专利信息在检索方面的效率问题。
2.2.1 Lucene介绍
Lucene[1]是Apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包。它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文2种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
2.2.2 倒排索引
Lucene像其他主流Web搜索引擎一样,采用的是倒排索引技術。倒排索引在实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因此称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
搜索引擎的关键步骤就是建立倒排索引,倒排索引一般表示为一个关键词,然后是它的频度(出现的次数)、位置(出现在哪一篇文章或网页中,及有关的日期、作者等信息),它相当于为互联网上几千亿页网页做了一个索引,好比一本书的目录、标签一般。在本系统中,我们以字段文本分词并过滤掉停用词后得到词语作为关键词,为需要全文检索的专利信息字段建立倒排索引。专利检索时就能够快速查找到关键词所在的专利。
2.2.3 中文分词
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。汉语的句子不同于英文句子,英文单词之间有间隔,汉语文本中词与词之间没有明确的分隔标记,而是连续的汉字串。词是构成句子的基本单位。若要计算机智能地理解汉语中的每一句话,则必须让计算机明白该句子的各个词的含义。也就是说,需要计算机智能地把每一句话都正确地切分出来,才不会造成理解上的偏差。以词为单位作为搜索引擎索引的Key值,会大大提高搜索引擎结果的准确性。
目前,现有的分词算法主要可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。考虑到技术的可行性,我们选择易于实现的基于字符串匹配的分词方法。
为了提高分词的正确率,我们将主题词表及各行业的专业词加入分词词典中。
2.3 基于Mina框架的分布式专利在线分析架构
考虑到专利数据库沉重的存储压力,以及实现分析算法的SQL语句复杂度,本系统主要设计思路是将分析算法主要实现在应用层,数据库只是单纯作为存储。并且,将该部分功能实现成独立服务,支持任意扩展。
上层分析系统使用Apache Mina[2]远程服务调用分析服务,传递参数和分析结果。Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。
为了提高性能,在Mysql存储层与应用层间可使用memcache、redis等作为缓存,如取专利数据、缓存分析计算结果等。
3 系统运行效果
在对上述技术研究的基础上,本文设计和实现了一个在线专利检索分析系统。以下简单展示一下特色功能。
3.1 高级检索
用户可根据自己定义的表达式来进行检索。支持“and”“or”“not”“xor”等多条件查询(如图2所示)。
3.2 检索词智能扩展
用户单击高级检索页面右侧的“检索词智能扩展”(如图3所示),可展开检索词智能扩展功能区,在“检索词”文本框中输入关键字,如“电脑”,然后可在右侧选择“主题检索”或“同义检索”。
3.3 自动翻译英文专利
在使用英文关键词检索得到的英文专利检索结果页的上方,用户点击“自动翻译”链接,系统会自动将结果页中的专利标题和摘要信息翻译成中文,以便用户阅读理解(如图4所示)。
3.4 产业分类导航和IPC分类导航
产业分类导航和IPC分类导航分别如图5、图6所示。
3.5 在线分析
申请人分析图如图7所示;專利趋势分析图如图8所示。
4 结语
本文开发了一个在线专利检索分析系统,阐述了系统的体系结构、各模块的功能、关键技术。系统在系统架构、全文索引等基础上实现的专利信息检索和统计分析在大规模数据方面体现出较好的效率;系统提供自动翻译检索结果、产业分类导航、检索词智能扩展等具有特色能够有效帮助普通用户使用的功能,在用户体验、可视化界面和交互性等方面取得较好的效果。系统具有较大的使用价值,未来将应用在自然语言处理和语义分析等技术领域,从而进一步提升系统的性能。
参 考 文 献
[1]Lucene.Welcome to Apache Lucene[EB/OL].http://lucene.apache.org,2016-03-17.
[2]Mina.Welcome to Apache MINA[EB/OL].http://mina.apache.org,2016-03-12.
[责任编辑:钟声贤]
【作者简介】温家凯,男,任职于广西达译商务服务有限责任公司,研究方向:自然语言处理(深度学习、机器翻译、辅助翻译、垂直搜索、跨语言搜索等)和互联网应用;农强,男,任职于广西达译商务服务有限责任公司,研究方向:自然语言处理(深度学习、机器翻译、辅助翻译、垂直搜索、跨语言搜索等)和互联网应用。