精华内容
下载资源
问答
  • 同义词同义词集合

    2019-05-04 10:39:48
    同义词集合,可以供检索同义词,作为知识库使用
  • 哈工大同义词词林拓展说明文档
  • 哈工大社会计算与信息检索研究中心同义词词林扩展版,用于中文同义词归并非常有效,一般在NLP中作预处理降维。
  • 同义词词林扩展版 # 收录词语近 7万条, 全部按意义进 行编排, 是一部同义类词典。哈工大信息检索研究室参照多部电子词典资源, 并按照人民日报语料库中 词语的出现频度, 只保留频度不低于 3的 (小规模语料的统计...
  • solr中文同义词检索的配置讲解

    千次阅读 2016-12-26 13:51:14
    1配置同义词首先是要基于中文分词的基础上进行的,如果检索关键词不能够进行中文分词那么是查询不到相关的同义词的(如果solr没有配置同义词,请参考附录进行配置,配置完成后进行后续操作)   2 如果是IK...

    1配置同义词首先是要基于中文分词的基础上进行的,如果检索关键词不能够进行中文分词那么是查询不到相关的同义词的(如果solr没有配置同义词,请参考附录进行配置,配置完成后进行后续操作)

     

    2 如果是IKAnalyzer中文分词修改fileType text_ik,如果是mmseg4j中文分词修改fileType text_mmseg4j,添加同义词的filter

    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"

    ignoreCase="true" expand="true" />如下图所示:

     

    或者

     

     

    修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\synonyms.txt

    添加 台湾,台灣,臺灣 南京,金陵,建康这些词语都是表示一个意思,修改完之后另存为UTF-8格式,要不然是不会起效果的。

     

     

    4 reindex solr数据并重启tomcat之后查询分词结果,如下面的红框结果代表同义词添加成功。

     

     

    5 输入建康查询到三笔数据,分别是南京,金陵,建康,整合完成。

     

     

     

     

     

     

     

    附录:中文分词器的配置说明(IKAnalyzermmseg4j

    1 IKAnalyzer分词器配置。

     1.1拷贝IKAnalyzer2012_u6\IKAnalyzer2012_u6.jarC:\apache-tomcat-6.0.32\webapps\

    solr\WEB-INF\lib文件夹下面

     1.2 C:\apache-tomcat-6.0.32\webapps\solr\WEB-INF文件夹下面新建classes文件夹,拷贝IKAnalyzer2012_u6\IKAnalyzer.cfg.xmlIKAnalyzer2012_u6\stopword.dicclasses文件夹里面,修改IKAnalyzer.cfg.xml,新增

    <entry key="ext_dict">ext.dic;</entry>

     

    classes下面新建ext.dic文件,ext.dic里面是新增自己要添加的扩展词,stopword.dic里面是自己新增的停止词,有些词语分词没什么意义,所以我们就要把它过滤掉,例如 a an and 啊 哦,修改完之后把编码保存为UTF-8格式,要不然不起效果,

     1.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_iktitle_search字段类型改成text_ik

    <!-- 我添加的IK分词 -->

    <fieldType name="text_ik" class="solr.TextField">   

    <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   

    <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   

     </fieldType>

     

    <field name="title_search" type="text_ik" indexed="true" stored="true"/>

     

     

     1.4 reindex solr数据之后,进行查询,可以查看分词效果。

     

     1.5 搜索足球,得到这笔数据,分词成功。

     

     

    2 mmseg4j分词器配置。

      2.1mmseg4j-1.8.5\dist下面的所有jar文件拷贝C:\apache-tomcat-6.0.32\webapps\

    solr\WEB-INF\lib文件夹下面

      2.2 拷贝data到C:\solr\apache-solr-3.4.0\example\multicore中(与core文件平级),并改名为dic

    2.2.1 chars.dic,是单个字,和对应的频率,一行一对,字在全面,频率在后面,中间用空格分开。这个文件的信息是 complex 模式要用到的。在最后一条过虑规则中使用了频率信息。从 1.5 版后已经把它打包进 jar 里,一般不用关心它。不过可以在词库目录下放一个同名文件覆盖它。

    2.2.2 units.dic,是单位的字,如:分、秒、年。这一文件是我在 mmseg4j 1.6 后加入的,也是一行一条。主要是在数字后面的单位信息切分好,不与words.dic中的词有混淆。同时也打包进 jar 里,目前还是试行,如果不喜欢它,可以用空的文件放到词库目录下覆盖它。

    2.2.3 words.dic,是核心的词库文件,一行一条,不需要其它任何数据(如词长)。1.0 版是用 rmmsegruby mmseg 实现) 的词库。1.5版后 mmseg4j 改用 sogou 词库,可以 http://www.sogou.com/labs/dl/w.html 找到下载。然后我把它去了频率等信息,并转为 UTF-8 编码。

    2.2.4 words-my.dic,是自定义词库文件(其实是 mmseg4j 可以从多个文件读取词)。这功能是 1.6 版加入的。它的格式与 words.dic 一样,只不过 XXX 部分是如您自己写的名字,如:源码包里的 data/words-my.dic。注意:自定义词库文件名必需是 "words" 为前缀和 ".dic" 为后缀。

    2.2.5修改完之后把编码保存为UTF-8格式,要不然不起效果,

     2.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_mmseg4jtitle_sort字段类型改成text_mmseg4j

      <!-- mmseg4j分词器 -->

    <fieldType name="text_mmseg4j" class="solr.TextField" >

    <analyzer type="index">

    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->

    </analyzer>

    <analyzer type="query">

    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->

    </analyzer>

    </fieldType>

     

    <field name="title_sort" type="text_mmseg4j" indexed="true" stored="true"/>

     

     

     2.4 reindex solr数据之后,进行查询,可以查看分词效果。

     

     

    2.5 搜索足球,得到这笔数据,分词成功。

     

     

    展开全文
  • http://www.blogjava.net/Unmi/archive/2010/07/14/326123.html<br />  同义词检索应该很多时候会用得上的,举个简单的例子,我们搜索关键字 good 的时候,与 well 和 fine 等的词条也可能是你想要的...

    http://www.blogjava.net/Unmi/archive/2010/07/14/326123.html

     

    同义词检索应该很多时候会用得上的,举个简单的例子,我们搜索关键字 good 的时候,与 well 和 fine 等的词条也可能是你想要的结果。这里我们不自己建立同义词库,直接使用 WordNet 的同义词库,本篇介绍 C# 版的实现步骤,还会有续篇--Java 版。

    由于 Lucene 是发源于 Java,所以 C# 的应用者就没有 Java 的那么幸福了,Java 版已经有 3.0.2 可下载,C# 的版本还必须从 SVN 库里:https://svn.apache.org/repos/asf/lucene/lucene.net/tags/Lucene.Net_2_9_2/ 才能取到最新的 2.9.2 的源码,二制包还只有 2.0 的。

    接下来就是用 VS 来编译它的,不多说。只是注意到在 contrib 目录中有 WordNet.Net 解决方案,这是我们想要的,编译 WordNet.Net 可得到三个可执行文件:

    1. Syns2Index.exe  用来根据 WordNet 的同义词库建立同义词索引文件,同义词本身也是通过 Lucene 来查询到的
    2. SynLookup.exe  从同义词索引中查找某个词有哪些同义词
    3. SynExpand.exe   与 SynLookup 差不多,只是多了个权重值,大概就是同义程度

    好啦,有了 Lucene.Net.dll 和上面那三个文件,我们下面来说进一步的步骤:

    二. 下载 WordNet 的同义词库

    可以从 http://wordnetcode.princeton.edu/3.0/ 下载 WNprolog-3.0.tar.gz 文件。然后解压到某个目录,如 D:/WNprolog-3.0,其中子目录 prolog 中有许多的 pl 文件,下面要用到的就是 wn_s.pl

    三. 生成同义词 Lucene 索引

    使用命令 

        Syns2Index.exe d:/WNprolog-3.0/prolog/wn_s.pl syn_index

    第二个参数是生成索引的目录,由它来帮你创建该目录,执行时间大约 40 秒。这是顺利的时候,也许你也会根本无法成功,执行 Syns2Index.exe 的时候出现下面的错误:

    Unhandled Exception: System.ArgumentException: maxBufferedDocs must at least be 2 when enabled
       at Lucene.Net.Index.IndexWriter.SetMaxBufferedDocs(Int32 maxBufferedDocs)
       at WorldNet.Net.Syns2Index.Index(String indexDir, IDictionary word2Nums, IDictionary num2Words)
       at WorldNet.Net.Syns2Index.Main(String[] args)

    莫急,手中有源码,心里不用慌,只要找到 Syns2Index 工程,改动 Syns2Index.cs 文件中的

    writer.SetMaxBufferedDocs(writer.GetMaxBufferedDocs() * 2*/); //GetMaxBufferedDocs() 本身就为 0,翻多少倍也是白搭



    writer.SetMaxBufferedDocs(100); //所以直接改为 100 或大于 2 的数就行

    重新使用新编译的 Syns2Index.exe 执行上一条命令即可。成功执行后,可以看到新生成了一个索引目录 syn_index, 约 3 M。

    现在可以用另两个命令来测试一下索引文件:

    D:/wordnet>SynLookup.exe syn_index hi
    Synonyms found for "hi":
    hawaii
    hello
    howdy
    hullo

    D:/wordnet>SynExpand.exe syn_index hi
    Query: hi hawaii^0.9 hello^0.9 howdy^0.9 hullo^0.9

    也可以用 Luke - Lucene Index ToolBox 来查看索引,两个字段,syn 和 word,通过 word:hi 就可以搜索到 syn:hawaii hello howdy hullo

    四. 使用同义词分析器、过滤器进行检索

    相比,Java 程序员要轻松许多,有现成的 lucene-wordnet-3.0.2.jar,里面有一些现在的代码可以用。C# 的那些分析器和过滤器就得自己写了,或许我已走入了一个岔道,但也不算崎岖。

    小步骤就不具体描述了,直接上代码,大家从代码中去理解:

    同义词引擎接口



    同义词引擎实现类



    过滤器,下面的分析器要用到



    分析器,使用了多个过滤器,当然最主要是用到了上面定义的同义词过滤器



    最后,当然是要应用上面的同义词引擎和过滤器,分析器了



    五. 看看同义词检索的效果

    看前面一大面,也不知道有几人能到达这里,该感性的认识一下,上图看真相:


    搜索 ok,由于 fine 是 ok 的同义词,所以也被检索到,要有其他同义的结果也能显示出来的。

    参考:1. e-使用sandbox的wordnet完成同义词索引
            2. http://www.chencer.com/techno/java/lucene/wordnet.html
            3. lucene connector » org.apache.lucene.wordnet
            4. Lucene.Net – Custom Synonym Analyzer(本文比较多的参考这篇)
            5. Lucene in action 笔记 analysis篇

    展开全文
  • solr整合mmseg4j实现同义词检索

    千次阅读 2018-09-17 00:49:31
    1、基于中文分词的基础上加入同义词特性 2、需要mmseg4j支持 3、如搜索“北京”同义词有“京城”、“帝都”等 solr官方已经提供同义词特性,但不支持中文同义词,需要在中文分词的基础上进行配置。 在原中文...

    1、基于中文分词的基础上加入同义词特性

    2、需要mmseg4j支持

    3、如搜索“北京”同义词有“京城”、“帝都”等

    solr官方已经提供同义词特性,但不支持中文同义词,需要在中文分词的基础上进行配置。

    在原中文分词的基础上加入:

    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    

    文件(synonyms.txt)和schema.xml在同级目录,solr默认有这个文件。

    示例如下,文件:schema.xml

    <!--  MMsegAnalyzed  -->
      <fieldType name="textComplex" class="solr.TextField"> 
        <analyzer> 
          <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>  
          <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
        </analyzer> 
      </fieldType>  
      <fieldType name="textMaxWord" class="solr.TextField"> 
        <analyzer> 
          <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>  
          <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
        </analyzer> 
      </fieldType>  
      <fieldType name="textSimple" class="solr.TextField"> 
        <analyzer> 
          <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>  
          <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
        </analyzer> 
      </fieldType>
    

    文件:synonyms.txt

    北京=>帝都 京城 天安门 京北

    注:
    1.北京 帝都 京城 天安门 京北
    如上这些关键字必须在中文词库中存在,否则同义词配置无效。
    2.如上“北京”的同义词“京城”、“帝都”不能在同义词文件中重复定义,否则会出现覆盖情况。
    也就说不能再配置(帝都=>北京)这样的同义词,否则覆盖

    展开全文
  • 哈工大同义词词林拓展版,说明~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 哈工大 同义词词林

    2016-04-18 16:45:20
    哈工大社会计算与信息检索研究中心同义词词林扩展版
  • 同义词词林 可用于机器翻译 消除句子歧义 信息检索 数据时txt的 整理的很规则 很好用啊 同义词词林 可用于机器翻译 消除句子歧义 信息检索 数据时txt的 整理的很规则 很好用啊
  • 学习NLP的同学在进行同义词替换、关键词扩展等操作时常用到同义词词林,哈工大社会计算与信息检索研究中心同义词词林扩展版,较为适用,有需要的可下载使用
  • * 同义词检索就是把将要检索的词变成它的同义词和自己的合成词进行检索 * * */ System.out.println(result); // String result = input; // MyIndexer.createIndex(indexPath); List<String> docs = ...

    1.首先创建索引

    package com.sunmap.analyzer;
    
    import java.io.File;
    import java.io.IOException;
    
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.document.Document;
    import org.apache.lucene.document.Field;
    import org.apache.lucene.document.TextField;
    import org.apache.lucene.index.IndexWriter;
    import org.apache.lucene.index.IndexWriterConfig;
    import org.apache.lucene.store.Directory;
    import org.apache.lucene.store.FSDirectory;
    import org.apache.lucene.util.Version;
    import org.wltea.analyzer.lucene.IKAnalyzer;
    
    /**
     *    创建索引
     */
    public class MyIndexer {
        public static void createIndex(String indexPath) throws IOException {
            Directory directory = FSDirectory.open(new File(indexPath));
            Analyzer analyzer = new IKAnalyzer();
    
            IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_46,
                    analyzer);
            IndexWriter indexWriter = new IndexWriter(directory, config);
            Document document1 = new Document();
            document1.add(new TextField("title", "thinkpad超极本笔记本中的战斗机", Field.Store.YES));
            indexWriter.addDocument(document1);
    
            Document document2 = new Document();
            document2.add(new TextField("title", "用户可以在这里配置自己的扩展字典", Field.Store.YES));
            indexWriter.addDocument(document2);
    
            Document document3 = new Document();
            document3.add(new TextField("title", "您可以参考分词器源码", Field.Store.YES));
            indexWriter.addDocument(document3);
    
            Document document4 = new Document();
            document4.add(new TextField("title","第一台计算机是美国军方定制,专门为了计算弹道和射击特性表面而研制的,承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫克利、戈尔斯坦、博克斯组成。1946年这台计算机主要元器件采用的是电子管。该机使用了1500"
                                    + "个继电器,18800个电子管,占地170m2,重量重达30多吨,耗电150KW,造价48万美元。这台计算机每秒能完成5000次加法运算,400次乘法运算,比当时最快的计算工具快300倍,是继电器计算机的1000倍、手工计算的20万倍。"
                                    + "用今天的标准看,它是那样的“笨拙”和“低级”,其功能远不如一只掌上可编程计算器,但它使科学家们从复杂的计算中解脱出来,它的诞生标志着人类进入了一个崭新的信息革命时代。",
                                    Field.Store.YES));
            indexWriter.addDocument(document4);
            indexWriter.close();
        }
    }

    2.创建一个检索类:

    package com.sunmap.analyzer;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.document.Document;
    import org.apache.lucene.index.DirectoryReader;
    import org.apache.lucene.index.IndexReader;
    import org.apache.lucene.queryparser.classic.ParseException;
    import org.apache.lucene.queryparser.classic.QueryParser;
    import org.apache.lucene.search.IndexSearcher;
    import org.apache.lucene.search.Query;
    import org.apache.lucene.search.TopDocs;
    import org.apache.lucene.store.FSDirectory;
    import org.apache.lucene.util.Version;
    import org.wltea.analyzer.lucene.IKAnalyzer;
    
    public class MySearcher {
        public static List<String> searchIndex(String keyword, String indexPath)
                throws IOException, ParseException {
            List<String> result = new ArrayList<>();
            IndexSearcher indexSearcher = null;
            IndexReader indexReader = DirectoryReader.open(FSDirectory
                    .open(new File(indexPath)));
            indexSearcher = new IndexSearcher(indexReader);
            Analyzer analyzer = new IKAnalyzer();
            QueryParser queryParser = new QueryParser(Version.LUCENE_46, "title",analyzer);
            Query query = queryParser.parse(keyword);
            TopDocs td = indexSearcher.search(query, 10);
            for (int i = 0; i < td.totalHits; i++) {
                System.out.println(td.scoreDocs[i].score);
                Document document = indexSearcher.doc(td.scoreDocs[i].doc);
                result.add(document.get("title"));
            }
            return result;
        }
    }

    3.同义词检索:

    package com.sunmap.analyzer;
    
    import java.io.IOException;
    import java.io.StringReader;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.TokenStream;
    import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
    import org.apache.lucene.analysis.synonym.SynonymFilterFactory;
    import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
    import org.apache.lucene.analysis.util.FilesystemResourceLoader;
    import org.apache.lucene.queryparser.classic.ParseException;
    import org.apache.lucene.util.Version;
    import org.wltea.analyzer.core.IKSegmenter;
    import org.wltea.analyzer.core.Lexeme;
    import org.wltea.analyzer.lucene.IKAnalyzer;
    
    public class AnalyzerUtil {
    
        /**
         * 
         * 此方法描述的是:进行中文拆分
         */
        public static String analyzeChinese(String input, boolean userSmart)
                throws IOException {
            StringBuffer sb = new StringBuffer();
            StringReader reader = new StringReader(input.trim());
            IKSegmenter ikSeg = new IKSegmenter(reader, userSmart);// true 用智能分词 ,false细粒度
            for (Lexeme lexeme = ikSeg.next(); lexeme != null; lexeme = ikSeg
                    .next()) {
                sb.append(lexeme.getLexemeText()).append(" ");
            }
            return sb.toString();
        }
    
        /**
         * 
         * 此方法描述的是:对传入的字符串进行同义词匹配,返回有同义词的TokenStream
         */
        public static TokenStream convertSynonym(String input) throws IOException {
            Version ver = Version.LUCENE_46;
            Map<String, String> filterArgs = new HashMap<String, String>();
            filterArgs.put("luceneMatchVersion", ver.toString());
            //同义词词库位置
            filterArgs.put("synonyms", "config/synonyms.txt");
            filterArgs.put("expand", "true");
            
            
            
            SynonymFilterFactory factory = new SynonymFilterFactory(filterArgs);
            factory.inform(new FilesystemResourceLoader());
            Analyzer ikAnalyzer = new IKAnalyzer();
            TokenStream ts = factory.create(ikAnalyzer.tokenStream("someField", input));
            return ts;
        }
    
        /**
         * 
         * 此方法描述的是:将tokenstream解析成字符串
         */
        public static String displayTokens(TokenStream ts) throws IOException {
            StringBuffer sb = new StringBuffer();
            CharTermAttribute termAttr = ts.addAttribute(CharTermAttribute.class);
            ts.reset();
            while (ts.incrementToken()) {
                String token = termAttr.toString();
                sb.append(token);
            }
            ts.end();
            ts.close();
            return sb.toString();
        }
    
        public static void main(String[] args) {
            
            String indexPath = "/home/share/study/index_test";
            String input = "电脑";
            System.out.println("**********************");
            try {
                String result = displayTokens(convertSynonym(analyzeChinese(input,
                        true)));
                /**
                 * 
                 * 注意这块
                 * 同义词检索就是把将要检索的词变成它的同义词和自己的合成词进行检索
                 * 
                 * */
                System.out.println(result);
    //            String result = input;
    //            MyIndexer.createIndex(indexPath);
                List<String> docs = MySearcher.searchIndex(result, indexPath);
                for (String string : docs) {
                    System.out.println(string);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
    }

    输出结果:

    **********************
    加载扩展词典:ext.dic
    加载扩展停止词典:stopword.dic
    超极本计算机电脑
    0.17161283
    0.087962404
    thinkpad超极本笔记本中的战斗机
    第一台计算机是美国军方定制,专门为了计算弹道和射击特性表面而研制的,承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫克利、戈尔斯坦、博克斯组成。1946年这台计算机主要元器件采用的是电子管。该机使用了1500个继电器,18800个电子管,占地170m2,重量重达30多吨,耗电150KW,造价48万美元。这台计算机每秒能完成5000次加法运算,400次乘法运算,比当时最快的计算工具快300倍,是继电器计算机的1000倍、手工计算的20万倍。用今天的标准看,它是那样的“笨拙”和“低级”,其功能远不如一只掌上可编程计算器,但它使科学家们从复杂的计算中解脱出来,它的诞生标志着人类进入了一个崭新的信息革命时代。

    同义词词库synonyms.txt内容:

    我,俺,hankcs
    似,is,are => 是
    好人,好心人,热心人
    超极本,计算机,电脑

     

    好人,好心人,热心人

    代表同义词;

    似,is,are => 是

    似,is,are 可以转意为是;

     

    转载于:https://www.cnblogs.com/freezone/p/5239207.html

    展开全文
  •  概念说明:同义词大体的意思是指,当用户输入一个词时,solr会把相关有相同意思的近义词的或同义词的term的语段内容从索引中取出,展示给用户,提高交互的友好性(当然这些同义词的定义是要在配置文件中事先定义好...
  • 干扰词与同义词文件存在的路径: D:\Program Files\Microsoft SQL Server2005\MSSQL.1\MSSQL\FTData 同义词库文件的默认文件名采用以下格式:'ts' + &lt;由三个字母组成的语言缩写形式&gt; + '.xml' 对于...
  • 同义词挖掘干货

    2021-01-28 17:24:34
    同义词长久以来作为衡量语言模型的任务之一,除此之外,在搜索场景中,为了提高检索的泛化性,同义词也少不了。笔者最近接到了同义词挖掘的任务,其实是个子任务,在乞讨的过程中搜集了一些方法和数据,在这里share...
  • 之前写了关于精确提取关键词的文章,当时针对的是...同时代码里包含了同义词功能 废话不多说,直接撸代码 定义同义词分词类如下 package com.daelly.sample.lucene.analyzer.synonyms; import java.io.File; impo
  • 由于《同义词词林》著作时间较为久远,且之后没有...有鉴于此,哈尔滨工业大学信息检索实验室利用众多词语相关资源,并投入大量的人力和物力,完成了一部具有汉语大词表的《哈工大信息检索研究室同义词词林扩展版》。
  • 中文检索(分词、同义词、权重)

    千次阅读 2015-09-08 13:35:19
    同义词建立同义词索引,同义词最好写到一个同义词词典里,方便以后重建索引使用。 初步实现的源码可见:网盘/学习/代码实例/Lucene中文检索/LuceneTest 说明: 1、IK提供了中文分词,而 Lucene默认的分词...
  • 【ElasticSearch】进阶电商检索实战必备:进阶电商检索实战必备:分词-同义词-联想词-增量同步-全量同步-持续更新】ElasticSearch电商检索实战必备---持续更新1、ES中的几个重要概念:集群、节点、文档、索引、分片...
  • 该方法中的同义词词典是基于著名的语义词典WordNet中的同义词集合建立的,同义词之间的贴近度[0,1]使用Tanimoto系数获得。利用该词典,能够进行较好的查询扩展。将该方法与向量空间模型结合应用于文本信息检索系统...
  • 方案一:利用预训练好的词向量模型 优点: (1)能把词进行语义上的...比较经典的是哈工大社会计算与信息检索研究中心同义词词林扩展版 把词条按照树状的层次结果组织到一起,并区分了同义词和近义词,例如: ...
  • 同义词库打包下载

    热门讨论 2011-09-14 17:19:43
    同义词库打包下载(包括3个同义词典),用于自然语言处理,信息检索等领域
  • 同义词词林(当前最全的)

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

    热门讨论 2011-04-25 12:17:04
    包括中文同义词的三个文本文件。 一个微软word的同义词,4.1万词的类属(91万词次); 同义词词林的两种形式的文本文件:八位词类77492词(?...适用于语言分析,网络检索等需要同义词信息的情况。
  • 本例是基于《哈工大信息检索研究中心同义词词林扩展版》做的,其中详细分析了将源文件差拆分成五层结构,并对同义词计算,进行了跟踪分析。 其中根目录下的Synonymy是项目文件|||Synonymy/text-file中的origin.txt...
  • 同义词相似度可以怎样计算

    千次阅读 2018-06-28 08:58:59
    同义词词林》是上世纪80年代出版的对汉语词汇进行语义分类的义类词典,共收录64223条词目。随后发展,哈尔滨工业大学信息检索实验室对其进行修正完善,《哈工大社会计算与信息检索研究中心同义...
  • Lucene对文本解析是作为全文索引及全文检索的预处理形式出现的,因此在一般的Lucene文档中,这一部分都不是重点,往往一带而过,但是对于要建立基于文本的内容推荐引擎来说,却是相当关键的一步,因此有必要认真研究...
  • Oracle之同义词

    2018-10-22 16:19:02
    Oracle之同义词(SYNONYM) 在正式使用Oracle同义词之前,需要普及一个知识点:Oracle数据库中对权限的管理是通过方案来进行的,一个方案通常就是一个用户名。 我们拿Oracle的用户:Scott和Hr用户举例子,当用户Scott...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 325
精华内容 130
关键字:

检索同义词