[搜索]波特词干(Porter Streamming)提取算法详解(1)
英语词汇由两部分构成,词干和词缀,词缀又分前缀和后缀,这里的词干提取仅只去除后缀的操作。
波特词干提取算法的原文在这里
http://tartarus.org/~martin/PorterStemmer/def.txt
先说一些基本定义
小写c代表辅音字母,小写字母v代表元音字母。大写字母C代表一串辅音字母,长度大于0。大写字母V代表一串连续的元音字母,长度大于0.因此,一个单词或者一个单词的一部分,可以表示为如下的四种形式之一。
CVCV ... C
CVCV ... V
VCVC ... C
VCVC ... V
这四种形式可以归纳为一种形式:
[C]VCVC ... [V]
可以进一步表示为如下形式:
[C](VC){m}[V].
其中方括号表示是可选的,{m}表示前面单词的一部分的重复次数。如下面的一些例子。
m=0 TR, EE, TREE, Y, BY.(没有出现)
m=1 TROUBLE, OATS, TREES, IVY.(出现一次,见黑体部分)
m=2 TROUBLES, PRIVATE, OATEN, ORRERY.(出现两次,见黑体部分)
去除后缀的规则如下形式:
(condition) S1 -> S2
也就是说,如果这个单词的后缀是S1,如果词干满足条件(condition),那么就用S2替换S1,这种形式的描述和CFG的描述一致。这个条件通常是由m决定的,上面已经示例来m。例如:
(m > 1) EMENT ->
条件就是m>1,S1就是ELMENT,S2是空。
如果按照上面的这个规则,那么就可以把单词replacement替换成replace。因为m=2,可以参见黑体部分。
(待续)
[搜索]波特词干(Porter Streamming)提取算法详解(1)相关推荐
- [搜索]波特词干(Porter Streamming)提取算法详解(2)
接[搜索]波特词干(Porter Streamming)提取算法详解(1), http://blog.csdn.net/zhanghaiyang9999/article/details/4162 ...
- [搜索]波特词干(Porter Streamming)提取算法详解(3)
接上 [搜索]波特词干(Porter Streamming)提取算法详解(2) 下面分为5大步骤来使用前面提到的替换条件来进行词干提取. 左边是规则,右边是提取成功或者失败的例子(用小写字母表示 ...
- SIFT特征点提取及描述论文算法详解
SIFT特征点提取及描述论文算法详解 1. 尺度空间极值检测(Scale-space extrema detection) 1.1 尺度空间和极值 1.2 DoG和LoG的关系 1.3 构建高斯尺度差 ...
- 新颖性搜索(Novelty Search,NS)算法详解与实现
新颖性搜索(Novelty Search,NS)算法详解与实现 基于目标的进化算法的缺点 新颖性搜索与自然进化 新颖性指标 算法描述 新颖性搜索算法实践 基于目标的进化算法的缺点 大多数机器学习方法( ...
- 推荐系统简介+算法详解+项目介绍
目录标题 推荐系统简介 1.推荐系统目的 2.推荐系统的应用 3.推荐系统的基本思想 4.推荐系统的数据分析 5.推荐系统的分类 6.推荐算法简介 6.1 基于人口统计学的推荐算法(基于用户数据) 6 ...
- JVM底层原理+四大垃圾回收算法详解-周阳老师
转载自,感谢原作者:https://www.jianshu.com/p/9e6841a895b4 注意:垃圾回收算法周阳老师讲的有错误,具体在p19,四大垃圾回收算法为复制算法.标记-整理算法.标记- ...
- 基于内容的推荐算法详解+问题思考
前言 最近参加了一个推荐的比赛,就像了解一些推荐相关的技术,也跟着学习总结一下,相同的内容不同的理解,我也要记录下我的思考. 场景 我们假设一个电商的场景,电商有很多商品,怎么把商品推荐给用户 就是我 ...
- matlab的NLP功能,pyhanlp 共性分析与短语提取内容详解
pyhanlp 共性分析与短语提取内容详解 简介 HanLP中的词语提取是基于互信息与信息熵.想要计算互信息与信息熵有限要做的是 文本分词进行共性分析.在作者的原文中,有几个问题,为了便于说明,这里首 ...
- 目标检测 RCNN算法详解
原文:http://blog.csdn.net/shenxiaolu1984/article/details/51066975 [目标检测]RCNN算法详解 Girshick, Ross, et al ...
最新文章
- Android库so文件及skia函数的调用
- MariaDB Galera Cluster环境搭建及高可用测试
- 代码管理 防止员工_低代码开发现形记
- 科学家用大脑控制平板电脑操作 真的可以!
- 4-2-在Servlet中解决中文输出乱码问题
- sql语句之查询操作
- 传智播客java学习之面向对象(抽象类) , 接口
- 个税服务器系统繁忙,2021个人所得税系统异常进不去怎么办?系统繁忙请稍后再试怎么回事...
- C++案例——联系人管理系统
- CADD之分子对接二:简单autodockvina对接流程——redocking
- Stata绘图:多维柱状图绘制
- backtracking及其应用
- 分块专题整理(分块+莫队)
- 【SCI征稿】Elsevier旗下中科院2区TOP, 仅1周见刊, 6月11日截稿 (文末有好)~
- php --with-readline,php基于命令行的扩展Readline
- 浅析无人值守+智慧巡检变电站安全管控系统设计方案
- (STM32)从零开始的RT-Thread之旅--SPI驱动ST7735(3)使用DMA
- java接口中只能定义常量和抽象方法_java基础19. 下列有关接口的叙述错误的是哪项?() A.接口中只能包含抽象方法和常量 B.一个类可以实现多个接口...
- Pytorch激活函数之Relu家族:ReLU、LeakyReLU等
- dlink 交换机的配置
热门文章
- android 之ExpandableListView详解
- opencv 显示图片
- lwip协议栈优化_干货分享 | KNI性能优化实践
- c++局域网主动ftp_【Jmeter】使用Jmeter对FTP协议的测试
- python库整理:collections.defaultdict
- 文巾解题 26. 删除有序数组中的重复项
- python中的缩进问题_Python中的缩进问题
- 2个字节能存多少个16进制_LabVIEW高级编程技巧:如何从内存字节流中恢复原始数据...
- 新手入门深度学习 | 卷积神经网络是什么?
- Python入门100题 | 第035题