【发布时间】:2014-01-20 18:14:53
【问题描述】:
简介:
许多情绪分析程序使用的功能之一是通过根据词典为相关的一元、二元或配对分配特定分数来计算的。更详细:
一个示例词典可以是:
//unigrams
good 1
bad -1
great 2
//bigrams
good idea 1
bad idea -1
//pairs (--- stands for whatever):
hold---up -0.62
how---i still -0.62
给定一个示例文本 T,对于 T 中的每个一元、二元或对,我想检查词典中是否存在对应关系。
unigram\bigram 部分很简单:我在 Map 中加载词典,然后迭代我的文本,检查字典中是否存在的每个单词。我的问题是检测配对。
我的问题:
检查文本中是否存在特定对的一种方法是迭代整个对的词典并在文本上使用正则表达式。如果文本中存在“start_of_pair.*end_of_pair”,则检查词典中的每个单词。这似乎非常浪费,因为我必须为每个要分析的文本迭代整个词典。有关如何以更智能的方式执行此操作的任何想法?
相关问题:Most Efficient Way to Check File for List of Words和Java: Most efficient way to check if a String is in a wordlist
【问题讨论】:
-
作为简单的第一遍,您可以查找该对的第一个词,如果找到,则在文本的其余部分中查找第二个词。
标签: java regex dictionary pattern-matching sentiment-analysis