def filter_candidates_from_snippet(self, candidate_keyterms):
from functools import cmp_to_key
ordered_keyterms = sorted(candidate_keyterms.itervalues(), key = lambda item: item['cvalue'], reverse = True)
selected_keyterms = [item for item in ordered_keyterms if item['cvalue'] > 0]
def pos_cmp(keyterm1, keyterm2):
if not "NAM" in keyterm1['pos'] and "NAM" in keyterm2['pos']:
return -1
elif "NAM" in keyterm1['pos'] and "NAM" not in keyterm2['pos']:
return 1
else:
return 0
filtered_keyterms = sorted(selected_keyterms, key=cmp_to_key(pos_cmp), reverse=True)
keyterms = [{'term' : " ".join(t['words']), 'cvalue': t['cvalue'], 'lemma': t['lemma_string'], 'pos_tag': t['pos']} for t in filtered_keyterms]
return keyterms
server_process.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录