使用正则表达式替换的假字消除

时间:2014-09-16 12:09:10

标签: regex vb.net

我需要在文件列表中执行基于内容/关键字的搜索。为此,我需要提取keywords并将它们存储在MySQL数据库中。关键词以下列方式提取:

  • 阅读文件内容
  • 使用

    删除特殊字符和其他空格(如果有)

    Regex.Replace(input, "[^a-zA-Z0-9_]+", " ")

  • 删除am/is/are/be/being/been/have/has/having/had/do/does/doing/did/ adjectivesphrasesAdverbs等。

  • 删除结尾,如:

    -IC-ATION   fortification
    -IC-ITY     electricity
    -IC-MENT    fantastically
    -AT-IV      contemplative
    -AT-OR      conspirator
    -IV-ITY     relativity
    -IV-MENT    instinctively
    -ABLE-ITY   incapability
    -ABLE-MENT  charitably
    -OUS-MENT   famously
    

我可以使用单个Regular expression进行整个操作吗?这是他们最简单的方法吗? Here我有一个参考算法用于此操作。

1 个答案:

答案 0 :(得分:0)

我认为不可能只使用正则表达式实现词干分析算法。也许你应该看看现有的实现来获得想法。 Here is a link to the Porter stemming algorithm in VB.net