哈工大的同义词词林,应该是上个世纪的产物,里面的词比较老旧,但好歹也能用
同义词词林的作用,跟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 使用范例的更多相关文章

  1. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  2. 解析搜狗词库(python)

    #!/usr/bin/python # -*- coding: utf-8 -*- import struct import sys import binascii import pdb #搜狗的sc ...

  3. 从CentOS安装完成到生成词云python学习日记

    欢迎访问我的个人博客:原文链接 前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + ...

  4. redis集群配置及运行命令(windows和centos)附Python测试范例代码

    表示配置主服务器器的IP和端口 slaveof <masterip> <masterport> # 设置slave是否是只读的.从2.6版起,slave默认是只读的. slav ...

  5. Word Cloud (词云) - Python

    >>What's Word Cloud 词云 (Word Cloud)是对文本中出现频率较高的词语给予视觉化展示的图形, 是一种常见的文本挖掘的方法.目前已有多种数据分析工具支持这种图形, ...

  6. Leetcode 242.有效的字母异位词 By Python

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" ...

  7. python --subprocess 范例

    范例1:查看ipconfig -all命令的输出,并将将输出保存到文件tmp.log中: import subprocess handle = open(r'd:\tmp.log','w') p=su ...

  8. 根据词频生成词云(Python wordcloud实现)

    网上大多数词云的代码都是基于原始文本生成,这里写一个根据词频生成词云的小例子,都是基于现成的函数. 另外有个在线制作词云的网站也很不错,推荐使用:WordArt 安装词云与画图包 pip3 insta ...

  9. LeetCode--139--单词拆分(python)

    给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词.你可以假设字典中没有重复的 ...

随机推荐

  1. DP专题·三(01背包+完全背包)

    1.hdu 2126 Buy the souvenirs 题意:给出若干个纪念品的价格,求在能购买的纪念品的数目最大的情况下的购买方案. 思路:01背包+记录方案. #include<iostr ...

  2. 解决hash冲突的办法

    1.开发定址法 2.再哈希法 3.链地址法 4.建立一个公共溢出区

  3. HDU - 6395 Sequence (分块+快速矩阵幂)

    给定递推式: 求Fn. 分析:给出的公式可以用快速矩阵幂运算得到,但 P/n 整除对于不同的i,值是不同的. 可以根据P将3-n分成若干块,每块中P整除n的值是相同的.分块的时候要注意判断. 将每块的 ...

  4. Android LCD

    Android LCD(一):LCD基本原理篇Android LCD(二):LCD常用接口原理篇Android LCD(三):Samsung LCD接口篇Android LCD(四):LCD驱动调试篇

  5. Linux上超酷的命令行扩展工具Oh My Zsh

    Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式.它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作.给我们一种全新的方式使用命 ...

  6. 《Maven实战》第14章 灵活的构建

    面对不同环境的差异能够灵活的构建项目, 操作系统的差异 开发环境.测试环境.产品环境的差异(最常用) 不同客户的差异 Maven中灵活的构建:属性.资源过滤.profile 14.1Maven属性 6 ...

  7. JSR规范整理

    Web Service技术 Java Date与Time API ( JSR 310) Java API for RESTful Web Services (JAX-RS) 1.1 (JSR 311) ...

  8. 【P3355】骑士共存问题(最大流+黑白染色,洛谷)

    这个题刚看上去就让人不禁想到一道叫做方格取数问题的题目,事实上也就是这么做,对棋盘黑白染色,然后黑格子连源点,白的连汇点,点权为1.然后判断一下黑格子能影响到的白格子,边权为inf,跑一遍最大流就可以 ...

  9. idea调节字体大小

    这是调节前的 这是调节后的 步骤

  10. JAVAWEB常见易错问题大汇总

    1.如何修改tomcat访问端口? Answer: conf/server.xml 2.如何配置tomcat Manager访问用户? Answer: conf/tomcat-users.xml 主要 ...