如何匹配查找表中的文本标记?

时间:2014-01-18 12:48:55

标签: java nlp tokenize text-processing text-mining

我正在尝试在推文上进行文本预处理。我感兴趣的是将来自推文文本的标记与查找表的标记相匹配。例如,我有一个情感词的表/词典,我想检查一条推文是否包含其中一个词。

此刻我的文本预处理如下:

  1. 将推文的文本存储在字符串中。
  2. 以空格字符(String.split(" "))对文本进行标记,并删除所有数字和奇怪的字符标记。我也删除所有提及和停用词。然后将标记存储在String数组中。
  3. 这种方法会导致一些问题,这就是解释:

    • 一种简单的方法就是将令牌与表格中的字符串进行比较,并检查它们是否匹配。没关系,但这会导致下一个问题。
    • 我还想检查文本是否包含表情符号(也存储在字典中)。现在我已经删除了所有奇怪的字符标记,我不能简单地做以前的比较方法。有人可以说好,那就是不要删除数字和奇怪的字符标记,但这会导致以下问题。
    • 我还想对文本进行聚类,因此保留数字标记(或网址)不是一种选择,因为它会破坏群集质量。
    • 保留两个版本的令牌会出现内存问题,因为所有内容都是重复的。

    我想知道是否有办法匹配不需要复制东西的东西。也许使用正则表达式?

1 个答案:

答案 0 :(得分:-1)

为什么不反过来检查呢。如果它包含来自你的lut的字符串,则测试推文字符串。

tweetstring.contains(LUT [I])

或更好

tweetstring.toLowerCase()。包含(LUT [I] .toLowerCase())