[搜索]波特词干(Porter Streamming)提取算法详解(1)
英語詞匯由兩部分構(gòu)成,詞干和詞綴,詞綴又分前綴和后綴,這里的詞干提取僅只去除后綴的操作。
波特詞干提取算法的原文在這里
http://tartarus.org/~martin/PorterStemmer/def.txt
先說一些基本定義
小寫c代表輔音字母,小寫字母v代表元音字母。大寫字母C代表一串輔音字母,長度大于0。大寫字母V代表一串連續(xù)的元音字母,長度大于0.因此,一個單詞或者一個單詞的一部分,可以表示為如下的四種形式之一。
CVCV ... C
CVCV ... V
VCVC ... C
VCVC ... V
這四種形式可以歸納為一種形式:
[C]VCVC ... [V]
可以進一步表示為如下形式:
?[C](VC){m}[V].
其中方括號表示是可選的,{m}表示前面單詞的一部分的重復次數(shù)。如下面的一些例子。
?m=0??? TR,? EE,? TREE,? Y,? BY.(沒有出現(xiàn))
?m=1??? TROUBLE,? OATS,? TREES,? IVY.(出現(xiàn)一次,見黑體部分)
?m=2??? TROUBLES,? PRIVATE,? OATEN,?ORRERY.(出現(xiàn)兩次,見黑體部分)
去除后綴的規(guī)則如下形式:
(condition) S1 -> S2
也就是說,如果這個單詞的后綴是S1,如果詞干滿足條件(condition),那么就用S2替換S1,這種形式的描述和CFG的描述一致。這個條件通常是由m決定的,上面已經(jīng)示例來m。例如:
(m > 1) EMENT ->
條件就是m>1,S1就是ELMENT,S2是空。
如果按照上面的這個規(guī)則,那么就可以把單詞replacement替換成replace。因為m=2,可以參見黑體部分。
(待續(xù))
總結(jié)
以上是生活随笔為你收集整理的[搜索]波特词干(Porter Streamming)提取算法详解(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现正则表达式的*和?匹配
- 下一篇: [搜索]波特词干(Porter Stre