精华内容
下载资源
问答
  • 哈工大同义词词林.zip

    2019-07-31 20:32:38
    哈工大同义词词林 zip
  • 哈工大同义词词林-最新版2020版 值得大家下载,推荐大家 不错 NLP 词林 同义词
  • 用java实现的哈工大同义词词林相似度计算,包含工程和文档,可以用来计算两个词之间的相似度,导入Myeclipse可以直接运行
  • 学习NLP的同学在进行同义词替换、关键词扩展等操作时常用到同义词词林哈工大社会计算与信息检索研究中心同义词词林扩展版,较为适用,有需要的可下载使用
  • 同义词词林 可用于机器翻译 消除句子歧义 信息检索 数据时txt的 整理的很规则 很好用啊 同义词词林 可用于机器翻译 消除句子歧义 信息检索 数据时txt的 整理的很规则 很好用啊
  • 哈工大词林:老婆 妻子翻译:老婆->wife->妻子缩写:北京大学 北大利用输入词,生成所有的候选短语, 然后利用翻译进行校验,比如北大和北京大学的翻译都是Peking University.百科infobox:可以发现北京大学的...

    本文介绍同义词构造的若干方法。

    Enjoy!

    哈工大词林:

    老婆 妻子

    翻译:

    老婆->wife->妻子

    缩写:

    北京大学 北大

    利用输入词,生成所有的候选短语, 然后利用翻译进行校验,比如北大和北京大学的翻译都是Peking University.

    52126cdb227f8687534647d3e69efc30.png

    百科infobox:

    可以发现北京大学的infobox有简称这个属性,那么可以认为属性值北大和北京大学是同义词。

    92cf70275114a6f6ca4eb229f1c3c46e.png

    常见的同义词属性有 ['别称', '别名', '又名', '又称', '也叫', '也称', '昵称', '俗名', '名称', '标准名称', '本名', '学名', '全称', '简称', '缩写', '缩略词', '简写', '英文名', '英文名称']

    维基第一段

    维基第一段黑体的词汇可以认为是标题的同义词。

    另外关于近义词可以参考

    https://github.com/huyingxi/Synonymsgithub.com

    544af73098befbd78b1b029a86c29870.png

    Happy Reading, Happy Learning!

    展开全文
  • 常用中文词汇的同义词扩展,
  • 哈工大同义词词林扩展版,用于获取近义词的python代码和Java代码
  • 同义词词林》是梅家驹等人于1983年编纂而成,年代较为久远,对于目前的使用不太适合,哈工大实验室基于该词林进行扩展,完成了词林扩展版。 下载地址:https://www.ltp-cloud.com/download/ 二、使用说明 扩展...

    一、前言

    《同义词词林》是梅家驹等人于1983年编纂而成,年代较为久远,对于目前的使用不太适合,哈工大实验室基于该词林进行扩展,完成了词林扩展版。
    下载地址:https://www.ltp-cloud.com/download/

    二、使用说明

    扩展版同义词词林分为5层结构,

    随着级别的递增,词义刻画越来越细,到了第五层,每个分类里词语数量已经不大,很多只有一个词语,已经不可再分,可以称为原子词群、原子类或原子节点。不同级别的分类结果可以为自然语言处理提供不同的服务,例如第四层的分类和第五层的分类在信息检索、文本分类、自动问答等研究领域得到应用。有研究证明,对词义进行有效扩展,或者对关键词做同义词替换可以明显改善信息检索、文本分类和自动问答系统的性能。
    这里写图片描述

    下载后的词典文件如下所示:

    Aa01A01= 人 士 人物 人士 人氏 人选
    Aa01A02= 人类 生人 全人类
    Aa01A03= 人手 人员 人口 人丁 口 食指
    Aa01A04= 劳力 劳动力 工作者
    Aa01A05= 匹夫 个人
    

    上述文件编码代表含义见图:
    这里写图片描述

    表中的编码位是按照从左到右的顺序排列。第八位的标记有3 种,分别是“=”、“#”、“@”, “=”代表“相等”、“同义”。末尾的“#”代表“不等”、“同类”,属于相关词语。末尾的“@”代表“自我封闭”、“独立”,它在词典中既没有同义词,也没有相关词。

    三、其他

    1、上文引用均来自哈工大扩展词林说明文档
    2、一个获取同义词的python库:https://github.com/huyingxi/Synonyms

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

     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))
    运行结果:
    985935-20171010112124434-1731084058.png
     




     

         
     




    附件列表

     

    转载于:https://www.cnblogs.com/combfish/p/7644639.html

    展开全文
  • 这个1.7万行,花50积分下载的 ,深度学习和人工智能研究对NLP处理很好用这个1.7万行,花50积分下载的 ,深度学习和人工智能研究对NLP处理很好用
  • 哈工大同义词林.txt

    2021-01-27 14:31:16
    同义词词林》是梅家驹等人于1983年编纂而成,年代较为久远,对于目前的使用不太适合,哈工大实验室基于该词林进行扩展,完成了词林扩展版。 数据样式:Aa01A01= 人 士 人物 人士 人氏 人选 Aa01A02= 人类 生人 全...
  • 下载的是大连理工大学的情感词汇本体,以及我个人通过程序处理,经过哈工大同义词林拓展后生成的情感词汇本体表,共拓展了4W词汇,真实可靠
  • 哈工大同义词词林拓展说明文档
  • if fuzz.partial_ratio(str1,str2) >=80 or synonyms.compare(str1,str2, seg=True) >= 0.80\ or simer.distance(str1, str2)>=0.8: return True else: return False #对一个字典key进行同义词合并或者重复合并,...
    #!/usr/bin/env python3
    # coding: utf-8
    # File: sim_cilin.py
    # Author: lhy<lhy_in_blcu@126.com,https://huangyong.github.io>
    # Date: 18-4-27
    
    import codecs
    import jieba.posseg as pseg
    from fuzzywuzzy import fuzz
    import synonyms
    
    class SimCilin:
    
        def __init__(self):
            self.cilin_path = 'model/cilin.txt'
            self.sem_dict = self.load_semantic()
    
        '''加载语义词典'''
        def load_semantic(self):
            sem_dict = {}
            for line in codecs.open(self.cilin_path, encoding = 'utf-8'):
                line = line.strip().split(' ')
                sem_type = line[0]
                words = line[1:]
                for word in words:
                    if word not in sem_dict:
                        sem_dict[word] = sem_type
                    else:
                        sem_dict[word] += ';' + sem_type
    
            for word, sem_type in sem_dict.items():
                sem_dict[word] = sem_type.split(';')
            return sem_dict
    
        '''比较计算词语之间的相似度,取max最大值'''
        def compute_word_sim(self, word1 , word2):
            sems_word1 = self.sem_dict.get(word1, [])
            sems_word2 = self.sem_dict.get(word2, [])
            score_list = [self.compute_sem(sem_word1, sem_word2) for sem_word1 in sems_word1 for sem_word2 in sems_word2]
            if score_list:
                return max(score_list)
            else:
                return 0
    
        '''基于语义计算词语相似度'''
        def compute_sem(self, sem1, sem2):
            sem1 = [sem1[0], sem1[1], sem1[2:4], sem1[4], sem1[5:7], sem1[-1]]
            sem2 = [sem2[0], sem2[1], sem2[2:4], sem2[4], sem2[5:7], sem2[-1]]
            score = 0
            for index in range(len(sem1)):
                if sem1[index] == sem2[index]:
                    if index in [0, 1]:
                        score += 3
                    elif index == 2:
                        score += 2
                    elif index in [3, 4]:
                        score += 1
            return score/10
    
        '''基于词相似度计算句子相似度'''
        def distance(self, text1, text2):
            words1 = [word.word for word in pseg.cut(text1) if word.flag[0] not in ['u', 'x', 'w']]
            words2 = [word.word for word in pseg.cut(text2) if word.flag[0] not in ['u', 'x', 'w']]
            score_words1 = []
            score_words2 = []
            for word1 in words1:
                score = max(self.compute_word_sim(word1, word2) for word2 in words2)
                score_words1.append(score)
            for word2 in words2:
                score = max(self.compute_word_sim(word2, word1) for word1 in words1)
                score_words2.append(score)
            similarity = max(sum(score_words1)/len(words1), sum(score_words2)/len(words2))
    
            return similarity
    simer = SimCilin()
    
    
    #对两个字符串进行模糊匹配和词义筛选
    def compare(str1,str2):
        if fuzz.partial_ratio(str1,str2) >=80 or  synonyms.compare(str1,str2, seg=True) >= 0.80\
                or simer.distance(str1, str2)>=0.8:
            return True
        else:
            return False
    
    
    
    #对一个字典key进行同义词合并或者重复合并,value进行相加
    #根据返回的热词个数去决定留关键词多少个,动态设置关键词个数
    #比如热词10个,我们对关键词的结果留20个
    def resultCompare(dict1):
        '''scores = {'语文': 89, '数学': 92, '英语': 93}
        ims = scores.items()
    
        list(ims)[1] # '数学': 92
        list(ims)[1][1] # 92'''
        ims = list(dict1.items())
        Dlen = len(dict)
        #newKeyList = []
        i = 0
        while i < Dlen:
            # print("此时I的值",i)
            j = i + 1
            while j < Dlen:
                str1 = list(ims)[i][0]
                str2 = list(ims)[j][0]
    
                if compare(str1,str2):
                    dict1[str1] = dict1[str1]+ dict1[str2]
                    del dict1[str2]
                    ims = list(dict1.items())
                    Dlen = len(dict)
    
                else:
                    j = j + 1
                    # print("此时字典的长度1", Dlen, i, j)
            i = i + 1
    
    
        return dict1
    
    
    def test():
        text1 = '南昌是江西的省会'
        text2 = '北京乃中国之首都'
        text1 = '周杰伦是一个歌手'
        text2 = '刘若英是个演员'
        sim = simer.distance(text1, text2)
        print(sim)
    
    #test()
    dict = {'反宣品': 204,'人口普查':177, '宣传品' :47,'宣品情况':25,'人口普查摸底':23}
    ims = resultCompare(dict)
    print("处理之前的dict",dict)
    print("处理之后的结果",ims)
    
    展开全文
  • 同义词词林哈工大扩展版

    热门讨论 2012-09-12 15:29:54
    同义词词林哈工大扩展版 在做搜索和数据挖掘和自然语言处理时有用,也可以用来计算词语的相似度
  • 同义词词林扩展版 # 收录词语近 7万条, 全部按意义进 行编排, 是一部同义类词典。哈工大信息检索研究室参照多部电子词典资源, 并按照人民日报语料库中 词语的出现频度, 只保留频度不低于 3的 (小规模语料的统计...
  • 准备用哈工大同义词词林扩展版来来解决歧义问题,但是如何去调用呢?求指教
  • 同义词林(哈工大),附带源码

    热门讨论 2010-12-10 13:44:46
    同义词林(哈工大),做自然语言分析系统,搜索引擎很有用处
  • 哈工大同义词词林》共享版的若干改进

    万次阅读 热门讨论 2007-10-26 21:31:00
    1 改进《同义词词林》共享版在实验中,由于客观条件的限制,我们选择的语义词典是《同义词词林》。《同义词词林》是梅家驹等人[1]于1983年编纂而成,初衷是希望提供较多的同义词语,对创作和翻译工作有所帮助。但在...
  • 哈工大社会计算与信息检索研究中心同义词词林扩展版,用于中文同义词归并非常有效,一般在NLP中作预处理降维。
  • 字母 类别 A 人 B 物 C 时空 D 抽象 E 特征 F 动作 G 心理 H 活动 I 状态 J 关联 K 助语 L 敬语 Aa 泛称 Ab 男女老少 Ac 体态 Ad 籍属 Ae 职业 Af 身份 ......
  • 词语相似度计算,语义计算,用于人工智能,自然语言处理,数据挖掘,舆情分析等众多领域。
  • 基于哈工大同义词词林的词语间相似度计算 局限:单纯使用同义词词林来计算相似度,如果词典中没有该词,就算不出相似度。 代码(在python3.6上正常运行) #!/usr/bin/env python3 # -*- coding: utf-8 -*- #2018...
  • 我想免费的,CSDN没有免费项,这回坑爹了。这是哈工大同义词词林,一起学习
  • 由于《同义词词林》著作时间较为久远,且之后没有...有鉴于此,哈尔滨工业大学信息检索实验室利用众多词语相关资源,并投入大量的人力和物力,完成了一部具有汉语大词表的《哈工大信息检索研究室同义词词林扩展版》。
  • 同义词词林(当前最全的)

    热门讨论 2013-05-20 12:21:48
    由于《同义词词林》著作时间较为久远,且之后没有...有鉴于此,哈尔滨工业大学信息检索实验室利用众多词语相关资源,并投入大量的人力和物力,完成了一部具有汉语大词表的《哈工大信息检索研究室同义词词林扩展版》。

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

哈工大同义词词林