本文从官网下载Lucene开始,一步一步进行Lucene的应用学习研究。下载初识Snowball Stemmer

1、下载

(1)首先,去Lucne的Apache官网主页 http://lucene.apache.org/

(2)找到下载链接

下载最新的Lunce ,当前最新版本为:7.4.0

(3)下载之后,解压开

 2、初探下载的文件

(1)解压后,打开"lucene-7.2.1\analysis\common/"

(2)点开这里面的"README.txt"阅读,从中发现一些,陌生的关键词,进行研究学习

(3)可以从中发现一些关键词汇:

Snowball stemmers, Tartarus Snowball repository, 这个 readme.txt 是 "Lucene Analyzers"的。

3、Snowball

For more information on Snowball, see:  http://snowball.tartarus.org/

4、stemmer

在网络上,找到一个 Python自然语言处理:词干、词形与MaxMatch算法 文中有关于Snowball Stemmer的应用。

在信息检索领域,Stemming是指将英文单词转换为词干的处理过程。Stemming与Lemmatization的不同是,前者只是词干的简单提取,后者则利用上下文语义环境(context)进行词元(lemma)转换。

自然语言处理中一个很重要的操作就是所谓的stemminglemmatization,二者非常类似。它们是词形规范化的两类重要方式,都能够达到有效归并词形的目的,二者既有联系也有区别。

(1)词干提取(stemming)

定义:Stemming is the process for reducing inflected (or sometimes derived) words to their stem, base or root form—generally a written word form.

解释一下,Stemming 是抽取词的词干或词根形式(不一定能够表达完整语义)。

NLTK中提供了三种最常用的词干提取器接口,即 Porter stemmer, Lancaster Stemmer 和 Snowball Stemmer。

(2)词形还原(lemmatization)

定义:Lemmatisation (or lemmatization) in linguistics, is the process of grouping together the different inflected forms of a word so they can be analysed as a single item.

可见,Lemmatisation是把一个任何形式的语言词汇还原为一般形式(能表达完整语义)。相对而言,词干提取是简单的轻量级的词形归并方式,最后获得的结果为词干,并不一定具有实际意义。词形还原处理相对复杂,获得结果为词的原形,能够承载一定意义,与词干提取相比,更具有研究和应用价值。

网上有参考文章: Lucene学习总结之十:Lucene的分词器Analyzer

 5、总结

本次,初步的下载了Lucene,简单的了解了下框架内的文件组织,以一个Analyzer的readme.txt文件阅读,找出了其中关于全文检索的专业术语,进行查找资料学习。后面,会进一步的深入研究。

扫个红包吧!

Donate捐赠

如果我的文章帮助了你,可以赞赏我 1 元给我支持,让我继续写出更好的内容)

   

(微信)                                        (支付宝)

微信/支付宝 扫一扫

Lucene学习入门——下载初识的更多相关文章

  1. Lucene学习入门——核心类API

    本文讲解Lucene中,创建索引.搜索等常用到的类API 搜索操作比索引操作重要的多,因为索引文件只被创建一次,却要被搜索多次. 索引过程的核心类: 执行简单的索引过程需要如下几个类:IndexWri ...

  2. Lucene.net入门学习

    Lucene.net入门学习(结合盘古分词)   Lucene简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全 ...

  3. Lucene.net入门学习系列(1)

    Lucene.net入门学习系列(1)   Lucene.net入门学习系列(1)-分词 Lucene.net入门学习系列(2)-创建索引 Lucene.net入门学习系列(3)-全文检索 这几天在公 ...

  4. Lucene.net入门学习系列(2)

    Lucene.net入门学习系列(2) Lucene.net入门学习系列(1)-分词 Lucene.net入门学习系列(2)-创建索引 Lucene.net入门学习系列(3)-全文检索 在使用Luce ...

  5. 『NiFi 学习之路』入门 —— 下载、安装与简单使用

    一.概述 "光说不练假把式." 官网上的介绍多少让人迷迷糊糊的,各种高大上的词语仿佛让 NiFi 离我们越来越远. 实践是最好的老师.那就让我们试用一下 NiFi 吧! 二.安装 ...

  6. 【转载】Lucene.Net入门教程及示例

    本人看到这篇非常不错的Lucene.Net入门基础教程,就转载分享一下给大家来学习,希望大家在工作实践中可以用到. 一.简单的例子 //索引Private void Index(){    Index ...

  7. 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)

    其他网站开发相关资料            超强HTML和xhtml,CSS精品学习资料下载汇总                                               最新htm ...

  8. VC++/MFC(VC6)开发技术精品学习资料下载汇总

    工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...

  9. C# BackgroundWorker组件学习入门介绍

    C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...

随机推荐

  1. Android模拟器手动设置经纬度坐标

    第一种方式可以在eclipse的DDMS中的Emulator control中设置,如下图 另一种是在cmd中输入telnet localhost 5554(注:5554是模拟器在本机的端口,有可能不 ...

  2. POJ 1000 A+B

    #include <stdio.h> int main() { int a,b; scanf("%d %d",&a, &b); printf(" ...

  3. POJ 3659 Cell Phone Network 最小支配集模板题(树形dp)

    题意:有以个 有 N 个节点的树形地图,问在这些顶点上最少建多少个电话杆,可以使得所有顶点被覆盖到,一个节点如果建立了电话杆,那么和它直接相连的顶点也会被覆盖到. 分析:用最少的点覆盖所有的点,即为求 ...

  4. json转译的问题

    今天遇到一个之前没遇到的情况 这边调用接口的时候,一串json数据我直接解析成php的时候,太长导致我在使用 $json = json_encode($list);转译成的时候,里面有一个数据是时间戳 ...

  5. js中url有中文的转码方法

    转载:https://www.cnblogs.com/chiangfai/p/6073000.html

  6. java中使用nextLine(); 没有输入就自动跳过的问题?

    [问题分析] 必要的知识:in.nextLine();不能放在in.nextInt();代码段后面否则in.nextLine();会读入"\n"字符,但"\n" ...

  7. oracle数据库的备份与还原

    转自:https://www.cnblogs.com/ylldbk/p/5613365.html 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daoc ...

  8. ssis error at other ssis.pipeline "ole db destination" failed validation and returned validation status

    我在修改一个ssis的包,发现这个destination的表被改过了.所以就重建了表.就导致了这个错误. 打开包重新检查下表结构的匹配就好了

  9. RequireJS -Javascript模块化(一、简介)

    1.认识RequireJS RequireJs官网(http://requirejs.org/)的描述: RequireJS is a JavaScript file and module loade ...

  10. 【Java】Java中的Collections类——Java中升级版的数据结构【转】

    一般来说课本上的数据结构包括数组.单链表.堆栈.树.图.我这里所指的数据结构,是一个怎么表示一个对象的问题,有时候,单单一个变量声明不堪大用,比如int,String,double甚至一维数组.二维数 ...