【问题标题】:Include words in nltk regular expressions在 nltk 正则表达式中包含单词
【发布时间】:2014-11-09 12:27:11
【问题描述】:

NLTK 正则表达式适用于以下标签:

<DT>? <JJ>* <NN>*

有没有办法在正则表达式中包含单词?即:"&lt;N&gt; &lt;such&gt; &lt;as&gt; &lt;N&gt; &lt;and&gt; &lt;N&gt;"

【问题讨论】:

    标签: python nltk


    【解决方案1】:

    我记得&lt;DT&gt;? &lt;JJ&gt;* &lt;NN&gt;* 是一个块模式。并且块模式使用tag_pattern2re_pattern()函数在内部转换为正则表达式:

    >>> from nltk.chunk import tag_pattern2re_pattern
    >>> tag_pattern2re_pattern('<DT>?<NN.*>+')
    '(<(DT)>)?(<(NN[^\\{\\}<>]*)>)+'
    

    然后你可以把你的话放在正则表达式结果中。

    【讨论】:

    • 在 NLTK 正则表达式中包含单词的示例是什么样的?
    • @ProfVersaggi 你说的包括单词是什么意思?
    • 使用这个问题作为灵感:stackoverflow.com/questions/8204968/… 我想要做的是让 NLTK 的块解析器匹配一个特定的单词,如果它在它正在解析的句子中找到它。例如,如果我使用以下代码: chunkGram = r"""Chunk: {**+?}""" 它匹配相应的短语找到时的结构。我想做的是让它(另外)寻找一个明确的词——比如“鲍勃”,并考虑在它的执行中匹配它。
    • @ProfVersaggi 你得到答案了吗?
    猜你喜欢
    • 1970-01-01
    • 2016-07-21
    • 2018-10-10
    • 2016-12-07
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多