- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在处理 java 中的文档分类任务。
强烈推荐这两种算法,每种算法的优缺点是什么?哪种算法在自然语言处理任务的文献中更常用?
最佳答案
在它的基础上,porter 和 lancaster 词干提取算法之间的主要区别在于,lancaster 词干提取器比 porter 词干提取器更具侵略性。目前使用的三种主要词干提取算法是 Porter、Snowball (Porter2) 和 Lancaster (Paice-Husk),攻击性连续统基本上遵循相同的路线。 Porter 是最不激进的算法,每个算法的细节实际上都相当冗长和技术性。不过,这里有一个分割:
Porter:毫无疑问是最常用的词干分析器,也是最温和的词干分析器之一。为数不多的真正支持 Java 的词干分析器之一,这是一个加分项,尽管它也是算法中计算量最大的(当然不是很大的优势)。它也是最古老的词干提取算法。
Porter2:几乎普遍认为是对 Porter 的改进,这是有充分理由的。事实上,波特本人也承认它比他原来的算法要好。计算时间比 porter 稍快,周围有相当大的社区。
Lancaster:非常激进的词干提取算法,有时会出错。对于 porter 和 snowball,词干表示对读者来说通常是相当直观的,而 Lancaster 则不然,因为许多较短的单词会变得完全混淆。这里最快的算法,会大大减少你的工作单词集,但如果你想要更多的区别,不是你想要的工具。
老实说,我觉得 Snowball 通常是要走的路。在某些情况下,Lancaster 会极大地减少您的工作集,这可能非常有用,但是在我看来,雪球的边际速度增加不值得缺乏精度。虽然 Porter 的实现最多,因此通常是默认的首选算法,但如果可以,请使用雪球。
Snowball is a small string processing language designed for creatingstemming algorithms for use in Information Retrieval.
The Snowball compiler translates a Snowball script into anotherlanguage - currently ISO C, C#, Go, Java, Javascript, Object Pascal,Python and Rust are supported.
Since it effectively provides a ‘suffix STRIPPER GRAMmar’, I had toyedwith the idea of calling it ‘strippergram’, but good sense hasprevailed, and so it is ‘Snowball’ named as a tribute to SNOBOL, theexcellent string handling language of Messrs Farber, Griswold, Poageand Polonsky from the 1960s.
---Martin Porter
以 Snowball 语言实现的词干分析器有时简称为 Snowball 词干分析器。例如,请参阅自然语言工具包:nltk.stem.snowball .
关于java - Porter 和 Lancaster Stemming 算法的主要区别和优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554052/
我在从 DEV 到 QA 进行内容移植时遇到错误。 此位置已存在标题为“Segments”的项目。给出一些建议来解决。它发生在那些启用了受众管理器的出版物中。 最佳答案 您的问题很可能与 Conten
我正在开展一个项目,在该项目中我试图计算多个语料库的屈折形态百分比,以便对它们进行比较。 我知道如何使用 nltk Porter Stemmer 来获取单词的词根,但如果我可以返回词缀而不是词根,这对
我无法找到任何有关使用不同 Porter-Duff 模式合成位图的相对性能的互联网文章或 Google 文档。在编程时对我来说变得非常明显的是,传统的 SRC/DST 前缀模式比 Android Mo
我有以下布局: 和以下 myShape 可绘制对象:
快速提问,来自 Lucene 包(Java)线程的搬运工词干是安全的吗? 我猜答案是否定的,因为您需要设置当前字符串,调用 stem 方法然后获取当前 block 以获取词干词。但也许我错过了一些东西
我有一个要转换为Android的iOS应用程序,它主要使用UITableView和其他基本的UI对象,但除此之外没有什么花哨的地方。 有几种工具声称可以将iOS自动转换为Android。 我亲自尝试了
您好 Tridion 专家, 我在使用 Content Porter SP1 导入内容时遇到了很多问题。 无法导入包含所有关键字的所有类别 导入复制的组件失败 导入结构组失败 这里是错误的详细信息 8
我将 Weka 与 SnowBall 包中提供的 porter Stemmer 结合使用。如果我在 Eclipse 中运行我的应用程序,一切正常,但是一旦我将它导出为可运行的 jar(包含所有库)we
我正在使用 PorterStemmer Python Port The Porter stemming algorithm (or ‘Porter stemmer’) is a process for
我正在尝试解决 android ColorFilters 的问题。文档很差,所以主要方法是尝试不同的变体。 问题: 有一个位图。一些像素的 alpha=255,其他像素的 alpha=0。我正在尝试绘
如何在Lucene 3.6.2中使用Porter Stembber类?这是我所拥有的: import org.apache.lucene.analysis.PorterStemmer; ... Por
我正在我的项目中导入 nltk 库,但出现以下错误。如果有人有同样的错误,请帮忙。 Traceback (most recent call last): File "/home/n
我有一个 iPhone 应用程序,它通过 CoreGraphics 混合两个 UIImage 对象来进行图像处理,特别是 CGContextSetBlendMode。我目前正在研究将其移植到 Andr
我看到下面有一个针对 C 的 porter 词干分析器实现 http://tartarus.org/martin/PorterStemmer/ 但是,尽管我已经尝试了几次,但我还是无法将它集成到我的代
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this q
我正在尝试在折叠工具栏的动画期间以编程方式更改后退按钮的颜色。我希望它在展开时是全白的,并且在折叠时具有应用程序默认的后退按钮颜色,这是一种带有 alpha 的颜色(50% 时为黑色)。 我发现的所有
iOS SDK 中有Porter-Duff 合成操作吗? 基于 12 种 Porter-Duff 合成操作。 最佳答案 iOS CoreGraphics 框架支持以下类型的混合模式,包括 Porter
我有一个名为“data_stem”的 Pandas 数据框,并且有一列名为“TWEET_SENT_1”,其中包含如下字符串(50 行) TWEET_SENT_1 亲吻十字架的麦克爸爸 我喜欢那个视频
我正在导入 nltk,但出现以下错误。 Traceback (most recent call last): File "/home/control/Work/Intelligence/Datas
在这个论坛和一般的网络上有很多关于这个的问题。但我不只是明白。 这是我的代码: function updateGuideKeywords($dal) { $pattern = "/[^a-zA
我是一名优秀的程序员,十分优秀!