c# - 如何在c#中使用lexicon字典

标签 c# dictionary nlp text-mining sentiment-analysis

我正在用c#进行情感分析,我已经完成了预处理,下一部分是基于词典的分析,为此我找到了大约6800个单词的英语词典lexicon by Professor Bing Liu 其中包含两个文本文件,一个用于正值,另一个用于负值。

我想我必须从这些文件中找到每个单词(情感词),该特定词是积极的还是消极的。但问题是,这些文件包含没有任何空格、没有任何格式的单词(意味着无法从文件中识别单个单词)。

那么我怎样才能找到文件中的单词呢?或者有什么其他方法可以让我轻松地处理这个问题?

最佳答案

该文件使用 \n作为行分隔符(与标准 Windows \r\n 不同)。 因此,不要使用 NotePad 或类似工具打开它,而是使用 WordPad 打开它。

要将文件加载到集合中(让它成为 HashSet<String> - 您可能想测试一个单词是否在积极单词内,您可以使用 Linq:

  HashSet<String> positives = new HashSet<String>(File
    .ReadLines(@"C:\positive-words.txt")
    .Where(item => !String.isNullOrEmpty(item) && !item.StartsWith(";")));

  ....

  String testWord = ...

  if (positives.Contains(testWord)) {
    ...
  }

实际文件内容是

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 
; Opinion Lexicon: Positive
...
;       frequently in social media content. 
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

a+
abound
abounds
abundance
...
zenith
zest
zippy

关于c# - 如何在c#中使用lexicon字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33173056/

相关文章:

python - 在 Pandas Dataframe 列的嵌套字典中搜索和替换

java - 斯坦福分类器与 Weka 分类器

c# - 成员 [class] 不支持转换为 SQL

c# - Asp.net 核心 2.1 UseHttpsRedirection 在 IIS 中不起作用

c# - uwp xaml - 将自定义输入格式设置为文本框

hadoop - 减少之前的 MapReduce 过滤器

c# - 检测 View 状态篡改

python - 如何访问元组字典的特定元素

machine-learning - 如何在weka中使用svm(smo)的字符串数据

python - 带 Spacy 管道的多线程 NLP