下面给出的RE的解释是什么
r'KT: {(<JJ>* <NN.*>+ <IN>)? <JJ>* <NN.*>+}'
我不知道KT是什么,但JJ是形容词,NN是名词而IN是介词。
编辑:重新发布链接 http://bdewilde.github.io/blog/2014/09/23/intro-to-automatic-keyphrase-extraction/
答案 0 :(得分:1)
假设您正在使用Penn part-of-speech tags,
<NN.*>+
至少匹配
NN
:名词,单数或质量NNS
:名词,复数NNP
:专有名词,单数NNPS
:正确的名词,复数 <JJ>
匹配至少为零的形容词(不是比较或最高级),因此这是可选的。
您的RegEx的<JJ>* <NN.*>+
部分因此至少匹配一个名词。该名词前面可以有任意数量的形容词。例如:
cats
brown cats
cute brown cats
(<JJ>* <NN.*>+ <IN>)?
表示上面可以有另一个名词短语和介词(IN
),例如
green eyes of cute brown cats
KT
不是词性标记。您引用的代码适用于NLTK's RegexpParser,其中语法(大致)定义为Label: {rules}
。所以KT
实际上只是每个识别的名词短语都会采用的标签;您也可以将其命名为NP
或NounPhrase
。