我的目标是确定两个句子是否重复。你知道吗
我试着比较这两个句子的语法树。 我已经按照以下格式从解析器树中提取了标记
['ROOT', 'SBARQ', 'WHADVP', 'WRB', 'SQ', 'VP', 'VBP', 'ADJP', 'RB', 'JJ', 'NP', 'NNP', 'NP', 'NP', 'NNS', 'VP', 'VBG', 'NP', 'NP', 'NNS', 'SBAR', 'WHNP', 'WDT', 'S', 'VP', 'VBP', 'ADVP', 'RB', 'VP', 'VBN', 'PP', 'IN', 'NP', 'NNP', '.']
['ROOT', 'SBARQ', 'WHADVP', 'WRB', 'SQ', 'VBP', 'NP', 'NNS', 'VP', 'VB', 'NP', 'NP', 'NNP', 'NNS', 'SBAR', 'WHNP', 'WDT', 'S', 'VP', 'MD', 'VP', 'VB', 'VP', 'VBN', 'ADVP', 'RB', 'PP', 'IN', 'NP', 'NNP', '.']
我想得到两个列表的公共子列表的长度。在上述情况下,结果将是4('ROOT','SBARQ','WHADVP','WRB')+5('SBAR','WHNP','WDT','S','VP')+2('ADVP','RB')+5('PP','In','NP','NNP','。你知道吗
或者你有没有其他的解决方案可以利用解析树来实现两个句子的相似性。 还有一个问题是,获取解析树的最快方法是什么?因为我有30多万个句子对要比较。。。你知道吗
提前谢谢!你知道吗
python stdlib包含
difflib
模块,用于进行差异处理,类似于这样(尽管结果与您预期的略有不同):提供:
我想我可能和你有类似的问题。你知道吗
你的目标是计算两棵树的公共节点之和,然后得到两个句子的相似度吗?你知道吗
我建议你阅读Longest common subsequence problem
这里有两个使用递归和动态编程的例子,都是用python编写的
https://rosettacode.org/wiki/Longest_common_subsequence#Python
相关问题 更多 >
编程相关推荐