【问题标题】:How can I use my .conll file from nlp parser for feature selection如何使用 nlp 解析器中的 .conll 文件进行特征选择
【发布时间】:2015-01-15 07:06:55
【问题描述】:

我有一个从 Malt Parser 输出的 .conll 格式文件,它使用的是 engmalt.linear-1.7.mco 训练模型。我最初的输入是一个大的句子文本文件。如何使用此文件进行特征选择?

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

【问题讨论】:

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


    【解决方案1】:

    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 格式有关,而不是关于如何提取形容词(当然,这可以通过制表符拆分行或正则表达式匹配来完成 - - 有几个关于 SO 的问题和答案与 pythonic 的方式有关)。

    【讨论】:

    • 我明白了,我想如果不一起查看 2 行并评估它们的词性,就没有办法获得名词短语之类的东西?
    • 如果你想要短语特征,那么尝试使用依赖解析不是正确的方法。当然可以,但是有更简单的方法(从依赖解析树中提取短语本身应该是一个单独的问题)。您应该查看短语块或选区解析器(通常称为“解析器”)。
    猜你喜欢
    • 2020-06-19
    • 2014-11-15
    • 2020-09-11
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2018-05-23
    • 2013-08-15
    相关资源
    最近更新 更多