擅长:python、mysql、java
<p>你已经有了一个所有动词副词双元组的列表,所以你只是在问如何将它们合并到一个字典中,为每个动词提供<em>所有</em>副词。但首先,让我们以更直接的方式重新创建您的bigrams:</p>
<pre><code>pairs = list()
for (w1, tag1), (w2, tag2) in nltk.bigrams(posTagged):
if t1.startswith("VB") and t2 == "RB":
pairs.append((w1, w2))
</code></pre>
<p>现在来回答你的问题:我们将用每个动词后面的副词建立一个词典。为了避免重复,我将把副词存储在一个集合中,而不是列表中。在</p>
^{2}$
<p><code>defaultdict</code>为以前从未见过的动词提供了一个空集,因此我们不需要手动检查。在</p>
<p>根据作业的具体情况,你可能还需要将动词进行格叠和词法化,以便将“鲁莽驾驶”和“我小心驾驶”中的副词记录在一起:</p>
<pre><code>wnl = nltk.stem.WordNetLemmatizer()
...
for verb, adverb in pairs:
verb = wnl.lemmatize(verb.lower(), "v")
consolidated[verb].add(adverb)
</code></pre>