擅长:python、mysql、java
<p>您可以使用具有decise token正则表达式功能的NLTK<strong>RegexTagger</strong>。这正是你的案子所需要的。以“ing”结尾的标记将标记为动名词,以“ed”结尾的标记将标记为动词过去。请参阅下面的示例。</p>
<pre><code>patterns = [
(r'.*ing$', 'VBG'), # gerunds
(r'.*ed$', 'VBD'), # simple past
(r'.*es$', 'VBZ'), # 3rd singular present
(r'.*ould$', 'MD'), # modals
(r'.*\'s$', 'NN$'), # possessive nouns
(r'.*s$', 'NNS') # plural nouns
]
</code></pre>
<p>注意,这些是按顺序处理的,并且应用第一个匹配的。现在
我们可以设置一个标记器并用它来标记一个句子。在这一步之后,关于
第五次。</p>
<pre><code>regexp_tagger = nltk.RegexpTagger(patterns)
regexp_tagger.tag(your_sent)
</code></pre>
<p>您可以使用<strong>组合标记</strong>在一个序列中集体使用多个标记。</p>