哈工大同义词词林 python 使用范例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈工大同义词词林 python 使用范例相关的知识,希望对你有一定的参考价值。
哈工大的同义词词林,应该是上个世纪的产物,里面的词比较老旧,但好歹也能用
同义词词林的作用,跟word2vec的获取相近词函数比较类似,这两者发挥的功效比较,看具体的应用吧
1. 首先下载包含同义词的txt,CSDN上有链接:http://download.csdn.net/download/answerme11/7307771
2. 得到txt的内容如下:
每一行由一系列的词条构成
每一行的行头的字母及数字编码表示类别
“=”代表“相等”、“同义”;
“#”代表“不等”、“同类”,属于相关词语;
“@”代表“自我封闭”、“独立”,它在词典中既没有同义词,也没有相关词。
3. python调用同义词词林的代码
def get_sym(w,word_set):
# w: input word
# word_set: 同义词词集或相关词词集
results=[]
if(len(w)==1):
for each in word_set:
for word in each:
if w == word:
results.append(each)
break
else:
for each in word_set:
for word in each:
if w in word:
results.append(each)
break
return results
f=open(‘同义词.txt‘,‘r‘)
lines=f.readlines()
sym_words=[]
sym_class_words=[]
# 从txt中获取词条,构建同义词词集sym_words和相关词词集sym_class_words
for line in lines:
line=line.replace(‘\\n‘,‘‘)
items=line.split(‘ ‘)
index=items[0]
if(index[-1]==‘=‘):
sym_words.append(items[1:])
if (index[-1] == ‘#‘):
sym_class_words.append(items[1:])
print(sym_words)
print(64*‘*‘)
print(sym_class_words)
while True:
w=input()
print(‘同义词‘,66*‘*‘)
print(get_sym(w, sym_words))
print(‘同类词‘, 66 * ‘*‘)
print(get_sym(w, sym_class_words))
运行结果:
附件列表
以上是关于哈工大同义词词林 python 使用范例的主要内容,如果未能解决你的问题,请参考以下文章