码迷,mamicode.com
首页 > 编程语言 > 详细

哈工大同义词词林 python 使用范例

时间:2017-10-10 13:22:44      阅读:422      评论:0      收藏:0      [点我收藏+]

标签:编码表   ges   replace   title   调用   net   span   image   def   

哈工大的同义词词林,应该是上个世纪的产物,里面的词比较老旧,但好歹也能用
同义词词林的作用,跟word2vec的获取相近词函数比较类似,这两者发挥的功效比较,看具体的应用吧
技术分享
1. 首先下载包含同义词的txt,CSDN上有链接:http://download.csdn.net/download/answerme11/7307771 
2. 得到txt的内容如下: 
    技术分享
     每一行由一系列的词条构成
     每一行的行头的字母及数字编码表示类别
    技术分享
     “=”代表“相等”、“同义”;
      “#”代表“不等”、“同类”,属于相关词语;
      @”代表“自我封闭”、“独立”,它在词典中既没有同义词,也没有相关词。 

 3. python调用同义词词林的代码
  1. def get_sym(w,word_set):
  2. # w: input word
  3. # word_set: 同义词词集或相关词词集
  4. results=[]
  5. if(len(w)==1):
  6. for each in word_set:
  7. for word in each:
  8. if w == word:
  9. results.append(each)
  10. break
  11. else:
  12. for each in word_set:
  13. for word in each:
  14. if w in word:
  15. results.append(each)
  16. break
  17. return results
  18. f=open(‘同义词.txt‘,‘r‘)
  19. lines=f.readlines()
  20. sym_words=[]
  21. sym_class_words=[]
  22. # 从txt中获取词条,构建同义词词集sym_words和相关词词集sym_class_words
  23. for line in lines:
  24. line=line.replace(‘\n‘,‘‘)
  25. items=line.split(‘ ‘)
  26. index=items[0]
  27. if(index[-1]==‘=‘):
  28. sym_words.append(items[1:])
  29. if (index[-1] == ‘#‘):
  30. sym_class_words.append(items[1:])
  31. print(sym_words)
  32. print(64*‘*‘)
  33. print(sym_class_words)
  34. while True:
  35. w=input()
  36. print(‘同义词‘,66*‘*‘)
  37. print(get_sym(w, sym_words))
  38. print(‘同类词‘, 66 * ‘*‘)
  39. print(get_sym(w, sym_class_words))
运行结果:
技术分享
 




 

     
 




附件列表

     

    哈工大同义词词林 python 使用范例

    标签:编码表   ges   replace   title   调用   net   span   image   def   

    原文地址:http://www.cnblogs.com/combfish/p/7644639.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!