如果我有一段英文文本,清除所有“填充”词的最佳方法是什么,例如“the, it, or, we, us”等……只留下可行的词文本的真实、核心、内容?
我正在集思广益,根据它们在关键字组成中的相似程度自动将文本块联系在一起。
我不能成为第一个想到这一点的人。有没有一种流行的、有效的方法可以使用 C# 来完成?
更新
我试图从本质上将一个文本块链接到 n 个“相关”文本块,其中主要“内容”非常相似,以至于它可以被认为是与它相关的文本的附加信息......
如果我有一段英文文本,清除所有“填充”词的最佳方法是什么,例如“the, it, or, we, us”等……只留下可行的词文本的真实、核心、内容?
我正在集思广益,根据它们在关键字组成中的相似程度自动将文本块联系在一起。
我不能成为第一个想到这一点的人。有没有一种流行的、有效的方法可以使用 C# 来完成?
更新
我试图从本质上将一个文本块链接到 n 个“相关”文本块,其中主要“内容”非常相似,以至于它可以被认为是与它相关的文本的附加信息......
这个东西被称为停用词- 通常1对于理解数据不是必需的词,并且被索引器删除。
我所知道的几乎所有信息检索系统都实现了过滤这些单词的标记器。
我熟悉 java 的 lucene,它有StandardAnalyzer为你做这件事,但我假设这个分析器也存在于lucene.net中——你可能想要跟踪它并使用它。
您可能还对stemming感兴趣,例如EnglishAnalyzer也在 lucene 中完成的。
(1) 为什么通常?例如,在讽刺诙谐者中 - 似乎(根据经验)停用词对于获得良好结果至关重要。
如果您希望大规模完成此操作并且过滤词要不断增加,那么您可以使用像openNLP这样的 NLP
您可以使用它来删除介词,连接符等...
创建一个“填充词”列表。用 String.Empty 替换原始文本块列表中所有出现的任何元素。