LingPipe学习: Spelling Correction(1)

lingpipe: 文本分词识别例子 1)什么是lingpipe? 详细见百度,简而言之是自然语言处理软件包(Natural Language Processing,NLP)。 lingpipe主要包含以下模块: 主题分类(Top Classification) 命名实体识别(Named Entity Recognition,NER)(什么是NER?继续百度。。。简而言之是人名、地名、机构名等文本识别) 词性标注 阅读详情

    LingPipe是一个很好的NLP的工具,是由Alias-i公司开发的一个NLP系统,里面有很多NLP常用的东西:比如ME,CRFs,LDA,SVMs等常用模型;并且可以用它们来做很多NLP的事情:分词,词性标注,情感分析,文本分类等等。更为难得的是这个工具文档详尽(可能开发者确实想把它做成一个商用的系统,而不像很多科研人员提供的系统,只是用来演示论文)。所以借这个工具,自己用来复习一下以前学习过的的东西,当然有时间的话也会尝试其它的NLP相关的工具,比如Mallet,Stanford NLP Group的一些工具。

    这个blog要讨论的是Spell Correction这个问题。Spell Correction也叫Spell Check,与之相关的任务还包括Spell Suggestion。我们用google等常见搜索引擎的例子来了解这两个任务。

    Spell Suggestion:就是用户在输入的时候提示可能的单词或者短语。

                    

    Spell Correction:用户输入可能存在错误,比如用这样的query搜索结果很少,从而推测用户输入可能有错。

         比如在google搜索“brec baldwin”,google提示Did you mean “breck baldwin”

         当然除了搜索引擎,Spell Correction也有其它的用途,比如word这样的文本编辑器,也会提供纠错功能。

 

     这两个任务有些类似,不过Spell Suggestion实时性更强,它在用户输入的同时就提示可能的结果,这样可以预防用户的拼写错误,而Spell Correction就是“事后诸葛亮”了,它一般通过query log或者搜索结果数来判断用户是否可能有拼写错误。

 

     注意百度,google中文,google英文的细微区别:

     我们输入anazon(应该没有这个词,正确的应该是amazon)

     百度的suggestion其实是前缀的匹配,没法纠错

 

     而google的就“智能”一些了:

        而对于中文的拼音,百度和google都类似,不过google中文的提示是汉字,而google英文的提示是拼音

       

    

 

 

     到这,大家应该对这个问题的定义和一些搜索引擎的实现有了一些体验了。下面我们来看看lingpipe里怎么使用Spell Correction。后续的文章会详细解析具体的实现,包括Character Language Model,Edit Distance,Noisy Channel model等等,不过现在还是先让它能运行起来再说吧。

 

    首先当然要去 http:/alias-i.com/lingpipe/下载了,注意要下载包含源代码的文件,而不仅仅是jar的(我们当然是要学习它的原理而不仅仅是用它啦,大小应该是几十MB吧,大的文件注意是一些语料)。建议下载3.9.3的版本,最新的是4.0.1,但是文档是基于3.9写的,所以不必用最新的,如果用到3.9.3里没有的东西,我会提示的。

    把lingpipe-3.9.3.tar.gz解压好就行了。我们看一下它的目录结构:

    |

    |---  src   这里面是源代码,它的编译不依赖任何东西,(当然测试代码要依赖于JUnit4啦)

    |---  index.html  文档的入口,里面最有用的就是tutorial了,当然JavaDoc也不错,不过我们如果在Eclipse里又有源代码的话,在里

           面看更方便

    |---  demos  一些demo

              |--- data demo用到的语料库

              |--- model  demo用到的模型,大部分模型是可以自己训练的,但是有些会涉及到版权的,可能只能提供训练后的模型。

              |--- tutorial  许多的教程

                       |--- querySpellChecker  我们这个文章的话题,拼写纠错。

                                |--- src 源代码

     

    了解了LingPipe的目录结构后,我们先来测试一下吧:

    1. 进到 lingpipe-3.9.3/demos/tutorial/querySpellChecker

    2. ant querySpellCheck 里面会给lingpipe-3.9.3/demos/data/rec.sport.hockey/train里的训练语料建立lucene索引和

        Character Language Model,建完索引和模型后就可以拼写纠错了。

 

    在Eclipse里调试:

    1. lingpipe-3.9.3/src里的java代码加入(可以复制到工程的src下,当然也可以link过去),这是lingpipe的核心代码,只要有JUnit4

        的库,应该就可以编译了,当然如果你不想阅读lingpipe的源代码,那么直接加入编译好的lingpipe-3.9.3.jar也行。

    2. 加入lingpipe-3.9.3/demos/tutorial/querySpellChecker/src里的代码,由于使用了lucene来建立索引,索引需要加入  

        lingpipe-3.9.3/demos/lib/lucene-core-3.0.1.jar

    3. 修改一下训练语料的路径

          

         当然,你也可以把需要的训练语聊复制到工程里,保持它的相对路径。

      4. 运行或者调试  QuerySpellCheck,它会构建索引和训练Language Model,然后在命令行提示查询,比如测试“spead up”,

         它会提示“speed up”

     

      今天就先到这吧,有空自己试试让它运行起来。

   

   

 

 

lingpipe情感分析模块思路整理(菜鸟先飞) 菜鸟一枚,摸索NLP领域,所写博客只是为了整理自己的思路和已经测试成功的东西,并不具有任何参考性,如有雷同,那你真的和我一样菜。就不算抄袭啦~ 阅读详情

相关推荐

Java自然语言处理NLP工具包

自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(

iqmae68024的博客 1806

LingPipe深度剖析

lingpipe是alias公司开发的一款自然语言处理软件包。提供了文本分类,命名体识别、情感分类、中文分词、词性标注、拼写检查、聚类等一系列的NLP算法接口,最近工作也需要用到这个工具,于是深入调研了一把,下面是一些本人的总结。

u012135425的博客 7366

lingpipe-4.1.0.jar 自然语言处理工具包

lingpipe 是alias公司开发的一款自然语言处理软件包。 包括的模块:   主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of Speech Tagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(Interseting Phrase Detection)、聚类(Clustering)、字符语言建模(Character Language Modeling)、医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)、数据库文本挖掘(Database Text Mining)、中文分词(Chinese Word Segmentation)、情感分析(Sentiment Analysis)、语言辨别(Language Identification)等

lingpipe使用方法简介

以下信息均来自于lingpipe的说明页面:     http://alias-i.com/lingpipe/demos/tutorial/read-me.html     lingpipe的功能中对我们有帮助的有: 分类,聚类;实体识别,中文分词,情感分析;矩阵分解,条件随机场,EM算法,逻辑回归。 lingpipe有一个免费的软件包,版本为4.1.0。在下载之后会得到一个文件夹,在

SIGMA实验室 8085

Lingpipe(自然语言处理的Java开源工具包)入门

Lingpipe(自然语言处理的Java开源工具包)入门

lingPipe中文所需jar

Lingpipe开发在起实现中文博文情感分析是所用的jar 同时下载 官网文件 我随后发出

Java开源自然语言处理工具-LingPipe

LingPipe 是公司开发的一款自然语言处理开源Java软件包,目前最高版本是4.0.1 LingPipe的优势是: 比较全面的覆盖自然语言处理的各个分支,文本分词,聚类,语义情感分析,领域知识学习等等具有全套在research上免费的源码,样列代码,测试代码(商业与非商业均同一套代码),并且文档详细,对于其中模型所参考的论文都引用出来,适合研究学习.作为相对开源资源缺少的领域,项目一直

qachenzude的专栏 1万+

spelling2

spelling2

使用lingpipe自然语言处理包进行文本分类

TrainTClassifier,基于TF/IDF算法的分类器,必须先把要语料库放到各自所属的分类文件夹中,比如:与金融相关的文章就放到金融这个文件夹中,我这的根目录是f:/data/category,训练完后会生成一个分类器模型tclassifier,之后其它文本的分类的确定就

云端分布式搜索技术 6320

LingPipe(开源自然语言处理的Java开源工具包) 中文分词java源码

,LingPipe(开源自然语言处理的Java开源工具包) 中文分词java程序

ROS下UR+Realsense相机进行手眼标定

手眼标定主要是用来确定相机坐标系和机械臂坐标系之间的转换关系,从而实现后续的抓取等任务。

weixin_42157689的博客 7569

lingpipe java_如何运行LingPipe

1 使用命令行运行lingpipe中的ClassifyNews,java :(1)首先将路径切换到ClassifyNews,java所在的目录下,即:cd demos/tutorial/classify(2)在windows下执行命令:java -cp "http://www.cnblogs.com/../lingpipe-4.0.1.jar; classifyNews.jar" Classif...

weixin_39604897的博客 384

Proteus仿真实战:基于IIC驱动SSD1306的0.96英寸OLED显示方案解析

本文详细解析了在Proteus仿真环境中基于IIC驱动SSD1306的0.96英寸OLED显示方案。从硬件搭建、IIC接口连接、软件驱动移植到常见问题排查,提供了全面的实战指导,帮助开发者快速实现OLED显示功能并优化性能。

weixin_28724661的博客 769

lingpipe java_LingPipe

软件简介LingPipe是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(TopClassification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of SpeechTagging)、句题检测(Sentence Detection)、查询拼写检查(Query SpellChecking)、兴趣短语检测(In...

weixin_35385409的博客 393

计算文本相似度的常用算法

NLP、数据挖掘领域中,文本分析是一个很重要的领域,这有助于我们去让计算机理解语言的作用和使用。文本分析是数据挖掘的重要手段,利用文本分析,我们将很快的读取到一本书、一篇文章、一段话中的关键词和核心思想,而文本相似度就是我们用来剔除无用信息或者重复信息的重要手段,让计算机去找文本中的不同。 在生活中,信息检索、数据挖掘、机器翻译、文档复制检测等领域都应用到“文本相似度”。文本不仅仅是文字,文本相似度的应用更广,除了文字的匹配,还可以是图片、音频等,因为它们的实质都是在计算机中都是以二进制的方式存在的。相.

氧小氢的博客 2万+

五子棋AI实战:极大极小搜索、Alpha-Beta剪枝与禁手实现

博弈树搜索是双人零和博弈AI的经典决策框架,其核心思想是假设对手最优应对,通过递归遍历走法空间寻找最优解。极大极小搜索配合Alpha-Beta剪枝,能在不影响决策结果的前提下将搜索量降至平方根级别,大幅提升搜索效率。在五子棋场景中,还需处理黑棋禁手规则,包括双三、双四和长连判定,并将其融入搜索框架。评估函数基于棋型识别对局面打分,走法排序和迭代加深进一步优化剪枝效果。这些技术共同构成了一个可运行的五子棋AI,适用于棋类AI入门与博弈搜索实践。

weixin_29054399的博客 125

LingPipe使用笔记

简介 LingPipe是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(Top Classification)、命名实体识别(Named Entity Recognition)、词性标注(Part-of SpeechTagging)、句题检测(Sentence Detection)、查询拼写检查(Query Spell Checking)、兴趣短语检测(

zxy2011qp的专栏 3646

[QT笔记]QTableView与QTableWidget表头设置实战对比

本文深入对比了QT开发中QTableView与QTableWidget在表头设置上的核心差异与实践方法。QTableWidget提供开箱即用的便捷API,适合快速开发;而QTableView遵循模型-视图架构,表头数据由模型管理,虽设置稍复杂但灵活性与扩展性更强。文章通过实战代码示例,详细解析了两种组件的适用场景、性能考量及常见避坑指南,帮助开发者根据项目需求做出高效选择。

weixin_29018335的博客 322

(4.2)基于LingPipe的文本基本极性分析【demo】

酒店评论情感分析系统(四)—— 基于LingPipe的文本基本极性分析【demo】 (Positive (favorable) vs. Negative (unfavorable)) 这篇文章为LingPipe官方网站对于Sentiment Ananlysis的学习所给出学习材料; http://alias-i.com/lingpipe/demos/tutorial/sentiment/r...

weixin_34290352的博客 255

ESP32语音交互实战:离线唤醒与DeepSeek大模型集成

本文详细介绍了如何将ESP32-S3开发板与天问ASRPRO语音模块结合,实现离线语音唤醒并集成DeepSeek大模型的智能交互系统。通过串口通信与API调用,系统可处理本地指令及复杂语义请求,适用于低成本、高隐私保护的AIoT语音交互场景。

rust6ferris的博客 866

基于大语言模型的多轮对话系统优化研究

基于大语言模型的多轮对话系统优化研究 摘要 本研究针对大语言模型在多轮对话场景中的性能衰减问题,提出了一套系统优化方案。通过分层存储架构(短期记忆层、中期摘要层、长期知识层)和混合检索策略优化上下文管理,设计动态槽位填充框架增强对话状态跟踪,引入熵引导的重置算法改进生成策略,并采用双路径加载架构突破I/O瓶颈。实验表明,该方案使任务完成率提升28.6%,响应一致性提高41.2%,推理延迟降低35.8%,为构建高性能智能对话系统提供了实用技术路径。 关键词:大语言模型;多轮对话;上下文管理;状态跟踪~~~~~

huanghm88的专栏 663

lingpipe中文分词模块测试Demo的参数设置

lingpipe的测试Demo中的参数如下所示   mZipFile = new File(args[0],"icwb2-data.zip");         mCorpusName =args[1];         mOutputFile = new File(mCorpusName + ".segments");         mKnownToksFile

NLP1r的博客 1599

AI原生应用中的数据治理:从采集到应用的完整方案

当AI从"辅助工具"进化为"应用核心"(如ChatGPT、智能驾驶系统),传统数据管理方式已无法满足需求:模型需要更精准的训练数据、业务需要更实时的决策支持、法规需要更严格的隐私保护。本文聚焦AI原生应用的数据全生命周期治理(从采集→清洗→标注→存储→应用→归档的完整链路),覆盖技术方案、工具选择和实践要点。本文将按"场景引入→核心概念→技术方案→实战案例→未来趋势"的逻辑展开,重点通过"奶茶店原料管理"类比,解释数据治理的关键环节;结合Python代码演示核心技术(如异常值检测、主动学习标注);

SuperAGI2025 882

基于LingPipe的文本倾向性分析--LingPipe学习笔记

文本倾向性分析 文本倾向性分析(情感分析 )是将用户的观点分为“正面”和“负面”,有时候会多一个“中性”。文本倾向性分析一个比较直观的应用就是追踪用户对于一个事物的观点和偏好,比如分析豆瓣上一个电影的评论进行分析。正因为如此情感分析又被称为观点挖掘。 LingPipe lingpipe 是alias公司开发的一款自然语言处理软件包,包括主题分类、句题检测、字符语言建模等十余个模块

gdp5211314的专栏 1990

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

(4.1)LingPipe在Eclipse中的运行

酒店评论情感分析系统(四)——LingPipe在Eclipse中的运行   本来打算在做这个项目的时候,使用基于语义的文本倾向性分析方法,即先通过对评论文本进行中文分析,去停用词,然后在倾向性语义模式库的帮助下对抽取出来的形容词或短语逐一进行倾向性判断并赋予一个倾向值,最后将上述所有倾向值累加起来得到文章的总体文本倾向性。但是由于在建语料库和倾向性字典那块没有找到好的方法,并在查阅相关资料的时候...

weixin_33883178的博客 146

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 好好工作,天天学习
下一篇: windows下用mingw编译qt4.7
fancyerII
博客等级 码龄23年 48粉丝 164原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值