我有一个来自Malt Parser的输出.conll格式文件,它使用的是engmalt.linear-1.7.mco训练模型。我原来的输入是一个大的文本文件。如何使用此文件进行功能选择?
我正在使用带有Scikit-learn的python(目前使用tfidf词包来选择功能)。但是,我想利用nlp,例如,只搜索形容词。如何使用conll文件执行此操作?
答案 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有几个问题和答案。)