如何使用nlp解析器中的.conll文件进行特征选择

时间:2014-11-18 07:03:19

标签: python nlp scikit-learn feature-extraction feature-selection

我有一个来自Malt Parser的输出.conll格式文件,它使用的是engmalt.linear-1.7.mco训练模型。我原来的输入是一个大的文本文件。如何使用此文件进行功能选择?

我正在使用带有Scikit-learn的python(目前使用tfidf词包来选择功能)。但是,我想利用nlp,例如,只搜索形容词。如何使用conll文件执行此操作?

1 个答案:

答案 0 :(得分:3)

CoNLL-X格式的解析器输出为词性标签提供了单独的列。例如,如果你解析句子

  

"我只想选择形容词,而忽略其他标签。"

输出可能如下:

1   I           _   PRP PRP _   2   nsubj   _   _
2   want        _   VB  VBP _   0   null    _   _
3   to          _   TO  TO  _   4   aux _   _
4   select      _   VB  VB  _   2   xcomp   _   _
5   adjectives  _   NN  NNS _   4   dobj    _   _
6   only        _   RB  RB  _   4   advmod  _   _
7   ,           _   ,   ,   _   2   punct   _   _
8   and         _   CC  CC  _   2   cc  _   _
9   disregard   _   VB  VB  _   2   conj    _   _
10  other       _   JJ  JJ  _   11  amod    _   _
11  tags        _   NN  NNS _   9   dobj    _   _
12  .           _   .   .   _   2   punct   _   _

第4列和第5列分别显示了粗粒度和细粒度的词性标签。如果您只想选择形容词,则只需在第4列中选择JJ作为粗标签的单词。

根据您的选择标准选择特定单词后,您可以按常规方式构建向量。

PS 我认为您的查询主要与CoNLL格式有关,而不是如何提取形容词(当然,可以通过制表符分割行或正则表达式匹配来完成) - 有关于pythonic方式的SO有几个问题和答案。)