哈工大的同义词词林,应该是上个世纪的产物,里面的词比较老旧,但好歹也能用
同义词词林的作用,跟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)breakelse:for each in word_set:for word in each:if w in word:results.append(each)breakreturn resultsf=open('同义词.txt','r')lines=f.readlines()sym_words=[]sym_class_words=[]# 从txt中获取词条,构建同义词词集sym_words和相关词词集sym_class_wordsfor line in lines:line=line.replace(' ','')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))
运行结果:

