[搜索]波特词干(Porter Streamming)提取算法详解(3)



接上

[搜索]波特词干(Porter Streamming)提取算法详解(2)

下面分为5大步骤来使用前面提到的替换条件来进行词干提取。

左边是规则,右边是提取成功或者失败的例子(用小写字母表示)。

步骤1

SSES -> SS                   caresses  ->  caress

IES  -> I                          ponies    ->  poni

ties      ->  ti

SS   -> SS                      caress    ->  caress

S    ->                            cats      ->  cat

(m>0) EED -> EE           feed      ->  feed

agreed    ->  agree

(*v*) ED  ->                    plastered ->  plaster

bled      ->  bled

(*v*) ING ->                   motoring  ->  motor

sing      ->  sing

AT -> ATE                       conflat(ed)  ->  conflate

BL -> BLE                       troubl(ed)   ->  trouble

IZ -> IZE                       siz(ed)      ->  size

(*d and not (*L or *S or *Z))

-> single letter

hopp(ing)    ->  hop

tann(ed)     ->  tan

fall(ing)    ->  fall

hiss(ing)    ->  hiss

fizz(ed)     ->  fizz

(m=1 and *o) -> E       fail(ing)    ->  fail

fil(ing)     ->  file

(*v*) Y -> I                    happy        ->  happi

sky          ->  sky

通过步骤1的处理,复数和过去分词就被处理了。

步骤2

(m>0) ATIONAL ->  ATE           relational     ->  relate

(m>0) TIONAL  ->  TION          conditional    ->  condition

rational       ->  rational

(m>0) ENCI    ->  ENCE          valenci        ->  valence

(m>0) ANCI    ->  ANCE          hesitanci      ->  hesitance

(m>0) IZER    ->  IZE           digitizer      ->  digitize

(m>0) ABLI    ->  ABLE          conformabli    ->  conformable

(m>0) ALLI    ->  AL            radicalli      ->  radical

(m>0) ENTLI   ->  ENT           differentli    ->  different

(m>0) ELI     ->  E             vileli        - >  vile

(m>0) OUSLI   ->  OUS           analogousli    ->  analogous

(m>0) IZATION ->  IZE           vietnamization ->  vietnamize

(m>0) ATION   ->  ATE           predication    ->  predicate

(m>0) ATOR    ->  ATE           operator       ->  operate

(m>0) ALISM   ->  AL            feudalism      ->  feudal

(m>0) IVENESS ->  IVE           decisiveness   ->  decisive

(m>0) FULNESS ->  FUL           hopefulness    ->  hopeful

(m>0) OUSNESS ->  OUS           callousness    ->  callous

(m>0) ALITI   ->  AL            formaliti      ->  formal

(m>0) IVITI   ->  IVE           sensitiviti    ->  sensitive

(m>0) BILITI  ->  BLE           sensibiliti    ->  sensible

步骤3

(m>0) ICATE ->  IC              triplicate     ->  triplic

(m>0) ATIVE ->                  formative      ->  form

(m>0) ALIZE ->  AL              formalize      ->  formal

(m>0) ICITI ->  IC              electriciti    ->  electric

(m>0) ICAL  ->  IC              electrical     ->  electric

(m>0) FUL   ->                  hopeful        ->  hope

(m>0) NESS  ->                  goodness       ->  good

步骤4

(m>1) AL    ->                  revival        ->  reviv

(m>1) ANCE  ->                  allowance      ->  allow

(m>1) ENCE  ->                  inference      ->  infer

(m>1) ER    ->                  airliner       ->  airlin

(m>1) IC    ->                  gyroscopic     ->  gyroscop

(m>1) ABLE  ->                  adjustable     ->  adjust

(m>1) IBLE  ->                  defensible     ->  defens

(m>1) ANT   ->                  irritant       ->  irrit

(m>1) EMENT ->                  replacement    ->  replac

(m>1) MENT  ->                  adjustment     ->  adjust

(m>1) ENT   ->                  dependent      ->  depend

(m>1 and (*S or *T)) ION ->     adoption       ->  adopt

(m>1) OU    ->                  homologou      ->  homolog

(m>1) ISM   ->                  communism      ->  commun

(m>1) ATE   ->                  activate       ->  activ

(m>1) ITI   ->                  angulariti     ->  angular

(m>1) OUS   ->                  homologous     ->  homolog

(m>1) IVE   ->                  effective      ->  effect

(m>1) IZE   ->                  bowdlerize     ->  bowdler

通过前面的四个步骤,后缀就被去掉了,剩下最后一步做一些微调操作。

步骤5

(m>1) E     ->                  probate        ->  probat

rate           ->  rate

(m=1 and not *o) E ->           cease          ->  ceas

(m > 1 and *d and *L) -> single letter

controll       ->  control

roll           ->  roll

有人专门对Porter的算法进行了测评,发现词干提取能显著提高召回率,而且轻度提取对准确率影响不大,但是深度提取会严重影响准确率,所以他们建议,首先使用轻度提取,如果查询结果太少时再使用深度提取。

时间: 2024-10-05 06:17:32

[搜索]波特词干(Porter Streamming)提取算法详解(3)的相关文章

KMP算法详解(图示+代码)

算法过程非常绕,不要企图一次就能看明白,多尝试就会明白一些.下面试图用比较直观的方法解释这个算法,对KMP算法的解释如下: 1. 首先,字符串"BBC ABCDAB ABCDABCDABDE"的第一个字符与搜索词"ABCDABD"的第一个字符,进行比较.因为B与A不匹配,所以搜索词后移一位. 2. 因为B与A不匹配,搜索词再往后移. 3. 就这样,直到字符串有一个字符,与搜索词的第一个字符相同为止. 4. 接着比较字符串和搜索词的下一个字符,还是相同. 5. 直到字

【转】AC算法详解

原文转自:http://blog.csdn.net/joylnwang/article/details/6793192 AC算法是Alfred V.Aho(<编译原理>(龙书)的作者),和Margaret J.Corasick于1974年提出(与KMP算法同年)的一个经典的多模式匹配算法,可以保证对于给定的长度为n的文本,和模式集合P{p1,p2,...pm},在O(n)时间复杂度内,找到文本中的所有目标模式,而与模式集合的规模m无关.正如KMP算法在单模式匹配方面的突出贡献一样,AC算法对于

支持向量机(SVM)(五)-- SMO算法详解

一.我们先回顾下SVM问题. A.线性可分问题 1.SVM基本原理: SVM使用一种非线性映射,把原训练            数据映射到较高的维.在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开. 2.问题的提出: 3.如何选取最优的划分直线f(x)呢? 4.求解:凸二次规划 建立拉格朗日函数: 求偏导数: B.线性不可分问题 1.核函数 如下图:横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类. 设: g(x)转化为f(y)=<a,y> g(x)=

Tarjan算法详解

Tarjan算法详解 [概念] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components). 下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达.{5},{6}也分别是两个强连通分量. [功能] Tarjan算法的用途之一是,求一个有向图G=(V,E)里极大强连

KM算法详解[转]

KM算法详解 原帖链接:http://www.cnblogs.com/zpfbuaa/p/7218607.html#_label0 阅读目录 二分图博客推荐 匈牙利算法步骤 匈牙利算法博客推荐 KM算法步骤 KM算法标杆(又名顶标)的引入 KM流程详解 KM算法博客推荐 0.二分图 二分图的概念 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V, E)是一个无向图.如果顶点集V可分割为两个互不相交的子集X和Y,并且图中每条边连接的两个顶点一个在X中,另一个在Y中,则称图G为二分图. 可以

【目标检测】Faster RCNN算法详解

Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." Advances in Neural Information Processing Systems. 2015. 本文是继RCNN[1],fast RCNN[2]之后,目标检测界的领军人物Ross Girshick团队在2015年的又一力作.简单网络目标检测速度达到17fps,在P

第二十八节,目标检测算法之R-CNN算法详解

Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014. R-CNN的全称是Region-CNN,它可以说是第一个成功将深度学习应用到目标检测上的算法.后面要讲到的

第二十九节,目标检测算法之Fast R-CNN算法详解

Girshick, Ross. "Fast r-cnn." Proceedings of the IEEE International Conference on Computer Vision. 2015. 继2014年的RCNN之后,Ross Girshick在15年推出Fast RCNN,构思精巧,流程更为紧凑,大幅提升了目标检测的速度.在Github上提供了源码. 之所以提出Fast R-CNN,主要是因为R-CNN存在以下几个问题: 训练分多步.通过上一篇博文我们知道R-CN

6. 目标检测算法之Fast R-CNN算法详解(转)

6. 目标检测算法之Fast R-CNN算法详解(转) 原文链接:https://www.cnblogs.com/zyly/p/9246418.html 目录 一 Fast R-CNN思想 问题一:测试时速度慢 问题二:训练时速度慢 问题三:训练所需空间大 二 算法简述 三 算法详解 1.ROI池化层 2.训练 3.训练样本 4.损失函数 [8]目标检测(4)-Fast R-CNN Girshick, Ross. "Fast r-cnn." Proceedings of the IEE