【问题标题】:Chunking parenthesis with NLTK使用 NLTK 分块括号
【发布时间】:2017-03-31 08:59:48
【问题描述】:

我正在使用 NLTK,我正在尝试从以下文本中分块 (AIM 20-40-60)

text = for more information refer to the Business Reporting Policy (AIM 20-40-60)

目前我正在使用以下块模式grammar = r"CHUNK:{<NN.*><CD>}",它能够完美地捕获AIM 20-40-60 部分。

尽管如此,我也希望括号 () 也成为块的一部分,因为我对正则表达式和块比较陌生,所以我不知道用于捕获括号的确切 regEX 模式。

【问题讨论】:

  • 试试grammar = r"\(CHUNK:{<NN.*><CD>}\)"(或grammar = r"CHUNK:{\(<NN.*><CD>\)}"
  • 我尝试了两个版本,但不幸的是它不起作用。不过还是谢谢 :)
  • 嗯,你明白了要点。在这些令牌中的某处添加\(\)
  • chunker 模式匹配 POS 标签的序列,而不是表面字符串。因此,您需要匹配 POS 标记器给出的任何标记,而不是文字 ()
  • @lenz 嘿,伙计,你是对的。刚刚解决了这个问题。这是我使用的模式grammar = r"CHUNK:{<\(><NNP><CD><\)>}"

标签: python regex nltk chunking


【解决方案1】:

解决方法如下

grammar = r"CHUNK:{<\(><NNP><CD><\)>}"

【讨论】:

    猜你喜欢
    • 2017-02-24
    • 2016-09-03
    • 2013-01-19
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2021-01-27
    • 1970-01-01
    相关资源
    最近更新 更多