c++ - 关于波特词干算法的困惑

标签 c++ nlp porter-stemmer

我正在尝试实现波特词干算法,但我在这一点上绊倒了

where the square brackets denote arbitrary presence of their contents. Using (VC){m} to denote VC repeated m times, this may again be written as

[C](VC){m}[V].

m will be called the \measure\ of any word or word part when represented in this form. The case m = 0 covers the null word. Here are some examples:

m=0    TR,  EE,  TREE,  Y,  BY.
m=1    TROUBLE,  OATS,  TREES,  IVY.
m=2    TROUBLES,  PRIVATE,  OATEN,  ORRERY.

我不明白这个“措施”是什么以及它代表什么?

最佳答案

看起来度量是元音后面紧跟着辅音的次数。例如,

“麻烦”有:

可选的初始辅音[C] =“TR”。

第一个元音-辅音组(VC) =“OUBL”。

第二元音-辅音组(VC) = "ES"。

可选的结尾元音[V]为空。

因此测量值是二,即(VC)“匹配”的次数。

关于c++ - 关于波特词干算法的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520706/

相关文章:

c++ - 如何理解Visual Studio的调用栈?

c++ - 如何使用模板生成常规参数列表并将其传递给运行时函数?

python - 分词器在 torchtext 中无法正常工作

algorithm - 如何反向使用 nlp 解析器生成句子

nlp - 雪球词干 : defining Null Region

android - 字符串输入分发到数组(Android)?

c# - 信息检索中的波特词干算法

c++ - 将 const char* 返回到 char* 然后更改数据

c++ - 如何检查对象数组是否具有引用的对象

python - 交换两个字符串之间的单词但保留其他字符