`
chenlb
  • 浏览: 695556 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

中文分词 mmseg4j-1.8 版发布

阅读更多

想发布新版的 mmseg4j 到现在已经有二个多月了。主要是因为这段时间忙其它事情了。现 Lucene 2.9 发布了,solr 1.4 也应该会比较快就要发布了。对 mmseg4j 兼容新版的 lucene/solr 也是个任务。

 

现 mmseg4j 发布新版 1.8,可以下载:mmseg4j-1.8.zip 包括了源码与词库,还有创建文件。下面说下此版的主要变更:

 

new:

 

1、有检测词典变更的接口,外部程序可以使用 wordsFileIsChange() 和 reload() 来完成检测与加载的工作. (内部不实现自动检测与加载,留给外部程序去做。)

 

2、添加 MMseg4jHandler 类,可以在solr中用url的方式来控制加载检测词库。

 

3、增加 CutLetterDigitFilter过虑器,切分“字母和数”混在一起的过虑器。比如:mb991ch 切为 "mb 991 ch"。

 

changes:

 

1、默认在 classpath 中加载 data 目录(词库目录),找不到再找 user.dir/data 目录。但是优先 mmseg.dic.path 系统属性指定的。

 

2、新词库,去除 sogou 高频无词性的词,合并 rmmseg 提供的词(是 mmseg4j 1.0 使用的词库),共计(14W 多词)。

 

3、数字或英文开头的数字或英文不独立分出。如 MB991CH/A 分为 mb991ch a,cq40-519tx 分为 CQ40 519TX

 

4、内置支持小写,不需要 LowerCaseFilter 了。MMSegAnalyzer 去除了小写过虑。

 

5、支持 solr 1.3/1.4、lucene 2.3/2.4/2.9

 

6、尝试加载 jar 里的 words.dic,并构建含有 words.dic 的 jar(mmseg4j-*-with-dic.jar)。

 

bugs:

 

1、Dictionary 添加 finalize 方法。修正 tomcat reload 时 OOM 的 bug: http://code.google.com/p/mmseg4j/issues/detail?id=4

 

2、MMSegTokenizer 在 lucene 2.4 编译的 在 lucene 2.9 中会报 java.lang.NoSuchFieldError: input。bug: http://code.google.com/p/mmseg4j/issues/detail?id=5

 

 

详情:http://blog.chenlb.com/2009/10/chinese-segment-mmseg4j-1_8-release.html

 

分享到:
评论
4 楼 leibnitz 2013-07-26  
hi,chenlb:
我们在使用1.8.4版本时,对分词有个疑问:
1.对"广州恒大地产"使用max-word,结果
广州 恒 大地 产
(这可能是普遍遍历字符串做法,但如果好点的话应该是:广州 恒 大 地产)
2.但"恒大地产"使用max-word出现
恒 大 地产
** 这样在搜索时就匹配不上了. *****
但如果在1基础上修改为:广州有恒大地产,结果:
广州 有 恒 大 地产
这是我们所期望的,因为从语义上是对的,而此时才匹配2的搜索keywords

我们已经在产品上使用你分词了,请尽快给出详细详解,谢谢.
3 楼 jasonwang168 2011-04-14  
使用1.8.4可以解决了.

jasonwang168 写道
我也得到同样的错误. 求解决.


java.lang.AbstractMethodError

javax.servlet.ServletException: java.lang.AbstractMethodError
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:946)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:879)
at org.apache.jsp.admin.analysis_jsp._jspService(org.apache.jsp.admin.analysis_jsp:719)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:464)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)

jasonwang168 写道
我也得到同样的错误. 求解决.


java.lang.AbstractMethodError

javax.servlet.ServletException: java.lang.AbstractMethodError
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:946)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:879)
at org.apache.jsp.admin.analysis_jsp._jspService(org.apache.jsp.admin.analysis_jsp:719)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:464)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)

2 楼 jasonwang168 2011-04-14  
我也得到同样的错误. 求解决.


java.lang.AbstractMethodError

javax.servlet.ServletException: java.lang.AbstractMethodError
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:946)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:879)
at org.apache.jsp.admin.analysis_jsp._jspService(org.apache.jsp.admin.analysis_jsp:719)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:464)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)
1 楼 zxzheaven 2010-01-14  
冲着mmseg4j的速度来的

不过和lucene3在一起,我没有弄好,在搜索,我用的是SimpleAnalyzer,不过什么都搜索不出来

在创建索引的时候,报错:
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

相关推荐

    mmseg4j-solr-2.4.0.jar

    而mmseg4j-solr-2.4.0.jar是mmseg4j分词库的Solr插件版本,专为Solr设计,使得开发者可以方便地将mmseg4j的分词功能集成到Solr中,以提升搜索性能和精确度。 在Solr 6.3版本下,要使用mmseg4j-solr-2.4.0.jar,首先...

    mmseg4j-solr-2.2.0.jar mmseg4j-analysis-1.9.1.jar mmseg4j-solr-2.2.0.jar

    本人用的solr是4.10的,经过本人亲测可用,放心下载,包含以下3个jar包: mmseg4j-analysis-1.9.1.jar, mmseg4j-core-1.9.1.jar, mmseg4j-solr-2.2.0.jar

    mmseg4j-solr全版本及配置

    而mmseg4j则是Solr中常用的中文分词组件,它能够高效地对中文文本进行分词处理。本文将深入探讨mmseg4j-solr的各个版本及其配置,旨在帮助开发者更好地理解和应用这一技术。 首先,我们需要理解mmseg4j-solr的核心...

    mmseg4j-all-with-dic-1.8.6-sources.jar和mmseg4j-all-with-dic-1.8.6.jar

    《mmseg4j在Lucene中文分词中的应用与实现》 在中文信息处理领域,分词是至关重要的一步,它决定了后续文本分析的准确性和效率。mmseg4j是Java环境下广泛使用的中文分词库,尤其在搜索引擎构建和文本挖掘中发挥着...

    mmseg4j-1.9.1 分词器 包含修复bug的mmseg4j-analysis-1.9.1.jar

    **mmseg4j分词器详解** mmseg4j是一个基于Java实现的中文分词库,它主要用于将中文文本拆分成一系列的词语,是信息检索、自然语言处理、搜索引擎等领域的基础工具。在1.9.1版本中,开发者对原有的功能进行了优化,...

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    mmseg4j是Java实现的中文分词库,它支持多种分词模式,包括最短路径分词、最长匹配分词以及全模式分词等,可以根据实际需求选择合适的模式。 当mmseg4j与Solr结合时,mmseg4j-solr便成为了一个强大的中文处理插件。...

    solr中文分词包mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar

    mmseg4j-solr-2.3.0-with-mmseg4j-core是Solr的中文分词包,该压缩包含有mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar。

    mmseg4j-solr-2.2.0-with-mmseg4j-core.zip

    《mmseg4j-solr-2.2.0-with-mmseg4j-core.zip:中文分词在Solr中的应用》 在现代信息检索系统中,中文分词是至关重要的一步,它能有效地将中文文本转化为可处理的词汇单元,为搜索引擎提供精准的索引与查询服务。...

    mmseg4j-solr-2.1.0-with-mmseg4j-core.zip

    《mmseg4j-solr-2.1.0-with-mmseg4j-core.zip:Solr4.8与mmseg4j分词器的集成详解》 在信息检索和文本挖掘领域,搜索引擎扮演着至关重要的角色,而Apache Solr作为一款高效、可扩展的开源全文搜索平台,被广泛应用...

    mmseg4j-core-1.10.0

    mmseg4j-core-1.10.0,非常好用的中文分词器

    mmseg4j-solr-2.3.0.jar

    mmseg4j中文分词器 mmseg4j-core-1.10.0.jar mmseg4j-solr-2.3.0.jar两个主要依赖包

    mmseg4j-1.8.5.chm帮助文档API

    mmseg4j-1.8.5中文分词器API

    mmseg4j-analysis修改版

    mmseg4j-analysis修改版直接用

    mmseg4j-solr总共4个文件

    里面包含了mmseg4j-solr-2.0.0.jar,mmseg4j-solr-2.1.0.jar,mmseg4j-solr-2.2.0.jar,mmseg4j-solr-2.3.0.jar总共4个文件,其中: mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。在 lucene/solr [4.3.0, 4.7.1]...

    mmseg4j-solr-2.3.2-with-mmseg4j-core

    该压缩包包含`mmseg4j-solr-2.3.2.jar`和`mmseg4j-core-1.10.0.jar`,其中solr-2.3.2不是官方的版本,该版本有改动,使得mmseg4j可以很好的支持Solr6,如果你的Solr低于Solr6,请使用官方的mmseg4j-solr-2.3.0.jar...

    mmseg4j-analysis-1.9.2 无bug中文分词

    mmseg4j-analysis-1.9.2 无bug中文分词

    mmseg4j-1.8.5

    总的来说,**mmseg4j-1.8.5** 是一个强大且实用的中文分词工具,对于需要处理中文信息的Java开发者来说,它是提高系统性能和准确性的重要选择。通过深入理解和合理运用,开发者可以构建出更高效、准确的中文信息处理...

    mmseg4j-all-1.8.5

    mmseg4j-all-1.8.5中文分词器

    mmseg4j-1.9.1

    **mmseg4j-1.9.1** 是一个基于Java实现的中文分词库,它的出现是为了满足在Java环境中进行高效、精准的中文文本分词需求。在自然语言处理领域,分词是预处理阶段的关键步骤,它将连续的汉字序列切割成具有语义的词汇...

    mmseg4j-1.9.1.v20130120-SNAPSHOT

    《mmseg4j:中文分词利器》 在信息技术领域,中文分词是自然语言处理中的基础步骤,它对搜索引擎优化、文本分析、情感分析等应用至关重要。mmseg4j,作为一款专为Java开发的中文分词工具,因其高效、稳定及广泛的...

Global site tag (gtag.js) - Google Analytics