擅长:python、mysql、java
<p>这是一个通用的解决方案,可能对进一步的处理也很有用。如果您将输出正则表达式解析器转换为字典,它可能在以后的阶段很有用(可能是,取决于您的应用程序)</p>
<p>你可以这样做</p>
<pre><code>for sentno, val in outputregexdict.items():
tempdict = {}
for element in val:
noun,phr = element.split()
tempdict[noun] = phr
outputregexdict[sentno] = tempdict
</code></pre>
<p>这将生成一个如下的词典:</p>
<pre><code>{'47': {'portion_17': 'size_18', 'sausage_29': 'appetizer_30', 'lobster_33': 'risotto_34'}}
</code></pre>
<p>现在您可以转到原始部分</p>
<pre><code>for sentno, val in outputclassifier.items():
for index, element in enumerate(val):
try:
val[index] = element + " " + outputregexdict[sentno][element]
val.remove(outputregexdict[sentno][element])
except:
continue
outputclassifier[sentno] = val
</code></pre>
<p>给</p>
<pre><code>{'47': ['staff_7', 'food_11', 'portion_17 size_18', 'portobello_25', 'gorgonzola_27', '/_28', 'sausage_29 appetizer_30', 'lobster_33 risotto_34']}
</code></pre>
<p>显然,可能还有其他方法,但这是可伸缩的</p>