`

Pyhanlp自然语言处理中的新词识别

 
阅读更多

Pyhanlp自然语言处理中的新词识别

 

新词发现

“新词发现”模块基于信息熵和互信息两种算法,可以在无语料的情况下提取一段长文本中的词语,并支持过滤掉系统中已存在的“旧词”,得到新词列表。

调用方法

静态方法

一句话静态调用接口已经封装到HanLP中:

    /**

     * 提取词语

     *

     * @param text 大文本

     * @param size 需要提取词语的数量

     * @return 一个词语列表

     */

    public static List<WordInfo> extractWords(String text, int size)

    /**

     * 提取词语

     *

     * @param reader 从reader获取文本

     * @param size   需要提取词语的数量

     * @return 一个词语列表

     */

    public static List<WordInfo> extractWords(BufferedReader reader, int size) throws IOException

    /**

     * 提取词语(新词发现)

     *

     * @param text         大文本

     * @param size         需要提取词语的数量

     * @param newWordsOnly 是否只提取词典中没有的词语

     * @return 一个词语列表

     */

    public static List<WordInfo> extractWords(String text, int size, boolean newWordsOnly)

    /**

     * 提取词语(新词发现)

     *

     * @param reader       从reader获取文本

     * @param size         需要提取词语的数量

     * @param newWordsOnly 是否只提取词典中没有的词语

     * @return 一个词语列表

     */

    public static List<WordInfo> extractWords(BufferedReader reader, int size, boolean newWordsOnly) throws IOException

调用示例请参考com.hankcs.demo.DemoNewWordDiscover 值得注意的是,在计算资源允许的情况下,文本越长,结果质量越高。对于一些零散的文章,应当合并为整个大文件传入该算法。

高级参数

根据语料的长度或用词的不同,默认的参数有可能不能得到最佳的结果。我们可以通过构造不同的NewWordDiscover调整提取算法。该构造函数如下:

/**

 * 构造一个新词识别工具

 * @param max_word_len 词语最长长度

 * @param min_freq 词语最低频率

 * @param min_entropy 词语最低熵

 * @param min_aggregation 词语最低互信息

 * @param filter 是否过滤掉HanLP中的词库中已存在的词语

 */

public NewWordDiscover(int max_word_len, float min_freq, float min_entropy, float min_aggregation, boolean filter)

其中

· max_word_len控制识别结果中最长的词语长度,默认值是4;该值越大,运算量越大,结果中出现短语的数量也会越多。

· min_freq控制结果中词语的最低频率,低于该频率的将会被过滤掉,减少一些运算量。由于结果是按照频率排序的,所以该参数其实意义不大。

· min_entropy控制结果中词语的最低信息熵的值,一般取0.5左右。该值越大,越短的词语就越容易被提取出来。

· min_aggregation控制结果中词语的最低互信息值,一般取50200.该值越大,越长的词语就越容易被提取出来,有时候会出现一些短语。

· filter设为true的时候将使用内部词库过滤掉“旧词”。

 

 

分享到:
评论

相关推荐

    论文研究-基于微博数据的新词识别 .pdf

    本研究聚焦于“新词识别”,这是自然语言处理中的一个子领域,专注于发现和分析语言中随时间变化不断产生的新词汇。另一个关键词“互信息”是信息论中的一个概念,用于衡量两个事件的相互依赖程度。互信息在此研究中...

    Jiagu深度学习自然语言处理工具.rar

    推荐一个新的开源中文深度学习自然语言处理工具:Jiagu, 包括中文分词、词性标注、命名实体识别、情感分析、新词发现、关键词、文本摘要等。贡献者包括 Yener、zengbin93、dirtdust,感兴趣的同学可以试用,Github...

    人工智能时代背景下自然语言处理技术的发展 (1).pdf

    此外,自然语言处理技术还需要考虑到语言的非正式用法、俚语、新词新义的不断涌现等因素。 自然语言处理技术的未来发展方向主要包括深度学习技术的应用、多模态自然语言处理、跨语言处理能力的提升等方面。深度学习...

    Java 实现的自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动摘要 短语提取 拼音 简繁转换.zip

    Java 实现的自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动....zip,自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 新词发现 关键词短语提取 自动摘要 文本分类聚类 拼音简繁

    自然语言处理.pdf

    自然语言处理(NLP)是计算机科学和人工智能领域的一个核心组成部分,主要研究如何使计算机能够理解和处理人类自然语言。这涉及到多个子领域,包括文本朗读、语音识别、中文自动分词、词性标注、句法分析、自然语言...

    一种基于免疫遗传算法的网络新词识别方法.pdf

    通过将生物启发式的算法应用到自然语言处理中,它为解决网络新词识别问题提供了一种新颖且有效的途径。此外,该方法不仅适用于网络新词,还可能对其他领域的词汇变化和更新识别问题有所启示。未来的研究可以进一步...

    自然语言处理-中文分词程序

    自然语言处理是计算机科学领域的一个重要分支,它专注于让计算机理解和生成人类的自然语言,如中文和英文。在这个领域中,中文分词是一项基础且关键的任务。中文分词是指将连续的汉字序列切分成具有独立语义的词汇...

    自然语言处理数据集(NLP)-中文命名实体识别数据集.rar

    自然语言处理(NLP)是计算机科学领域的一个重要分支,主要关注如何使计算机理解、解析、生成和操作人类自然语言。在NLP中,中文命名实体识别(Chinese Named Entity Recognition, CNER)是一项核心任务,它涉及到从...

    2013百度自然语言处理笔试

    1. **新词识别**:新词识别是自然语言处理中的重要任务,可以通过统计分析、词性标注、N-gram模型、TF-IDF等方法来实现。利用已有的查询簇,可以分析共现频率、关键词关联性等特征,找出与新词相关的模式。例如,...

    HanLP自然语言处理

    《深入探索HanLP自然语言处理》 在信息技术日益发展的今天,自然语言处理(Natural Language Processing,简称NLP)已经成为人工...通过深入学习和使用HanLP,我们可以更好地理解和处理自然语言,推动智能应用的发展。

    Python-Jiagu深度学习自然语言处理工具

    **Python-Jiagu深度学习自然语言处理工具** Python-Jiagu是一款专为中文文本处理设计的深度学习工具...总的来说,Python-Jiagu是Python生态系统中一个强大的自然语言处理工具,为处理中文文本提供了便利和高效的支持。

    自然语言处理分词_古诗词库view.txt

    在实际应用中,分词系统需要处理各种语言现象,如新词识别、成语或俗语的识别等。对于古诗词的处理,还需要特别注意文学作品的特殊用词和修辞手法,这些都需要分词系统具有足够的语言知识和处理能力。 为了处理好...

    自然语言处理-汉语分词技术概述

    ### 自然语言处理-汉语分词技术概述 #### 一、引言 随着信息技术的快速发展,自然语言处理(NLP)作为人工智能领域的一个重要分支,其应用范围日益广泛。汉语分词作为NLP的一项基础任务,在语音合成、信息检索、...

    统计与规则相结合的新词识别算法研究

    新词识别问题的解决方案主要有两种,一种是基于概率统计的,另一种是基于规则的。本文在两者的基础上,实现统计与规则相结合的新词识别检测问题。首先从熟语料中构建N元组候选词库,然后对候选词库分别进行规则过滤...

    基于Python的HanLP中文自然语言处理设计源码

    该源码集成了丰富的自然语言处理功能,包括中文分词、词性标注、命名实体识别、依存句法分析、语义依存分析、新词发现、关键词短语提取、自动摘要、文本分类聚类、拼音简繁转换等,广泛应用于各类中文文本处理任务。

Global site tag (gtag.js) - Google Analytics