我需要在文件列表中执行基于内容/关键字的搜索。为此,我需要提取keywords
并将它们存储在MySQL
数据库中。关键词以下列方式提取:
使用
删除特殊字符和其他空格(如果有) Regex.Replace(input, "[^a-zA-Z0-9_]+", " ")
删除am/is/are/be/being/been/
,have/has/having/had/
,do/does/doing/did/
adjectives
,phrases
,Adverbs
等。
删除结尾,如:
-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我有一个参考算法用于此操作。
答案 0 :(得分:0)
我认为不可能只使用正则表达式实现词干分析算法。也许你应该看看现有的实现来获得想法。 Here is a link to the Porter stemming algorithm in VB.net