自然语言处理学习笔记(四)————词典分词

这篇具有很好参考价值的文章主要介绍了自然语言处理学习笔记(四)————词典分词。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.中文分词

2.词典分词

(1)词的定义

(2)词典性质——齐夫定律

 (3)词典

(4)加载词典

 (5)hanlp词典路径


1.中文分词

  • 中文分词:指的是将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于原文本。
  • 中文分词算法大致分为基于词典规则基于机器学习这两大派。
  • 词典分词是最简单、最常见的分词算法,仅需一部词典和一套查词典的规则即可。给定一部词典,词典分词就是一个确定的查词和输出的规则系统。

2.词典分词

(1)词的定义

        在基于词典的中文分词中,词的定义要现实得多:词典中的字符串就是词。根据此定义,词典之外的字符串就不是词了。这个推论或许不符合读者的期望,但这就是词典分词故有的弱点。事实上,语言中的词汇数量是无穷的,无法用任何词典完整收录。

(2)词典性质——齐夫定律

        齐夫定律:一个单词的词频与它的词频排名成反比。就是说,虽然存在很多生词,但生词的词频较小,趋近于0,平时很难碰到。至少在常见的单词的切分上,可以放心地试一试词典分词。

 (3)词典

互联网上有许多公开的中文词库,比如

搜狗实验室发布的互联网词库(SogouW,其中有15万个词条):https://www.sogou.com/labs/resource/w.php

清华大学开放中文词库(THUOCL):http://thunlp.org

何晗发布的千万级巨型汉语词库(千万级词条):http://www.hankcs.com/nlp/corpus/tens-of-millions-of-giant-chinese-word-library-share.html

(4)加载词典
from pyhanlp import *

def load_dictionary():
    """
    加载HanLP中的mini词库
    :return: 一个set形式的词库
    """
    IOUtil = JClass('com.hankcs.hanlp.corpus.io.IOUtil')  # ①
    path = HanLP.Config.CoreDictionaryPath.replace('.txt', '.mini.txt')  # ②
    dic = IOUtil.loadDictionary([path])  # ③
    return set(dic.keySet())


if __name__ == '__main__':
    dic = load_dictionary()
    print(len(dic))
    print(list(dic)[0])

JClass 函数是连通Java和Python 的桥梁,用来根据Java路径名得到一个Python类。
①处利用JClass取得了HanLP中的IOUti1工具类,②处则取得了HanLP的配置项Config中的词典路径。我们写在配置文件中的条目最终会被读入这个结构中,比如配置文件写作CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt,该配置将被读人HanLP.Config.CoreDictionaryPath。这里我们想要加载mini 词典,因为其体积更小,加载起来更快。于是②处将这个路径替换为mini词典的路径。在③处我们像对待普通Python 工具类一样调用了IOUti1的静态方法 loadDictionary。该方法支持将多个文件读入同一个词典中,因此需要传入一个1ist。它返回一个Java Map对象,前面提到过,我们不关心Map中的值,于是我们只取它的键keySet,并将其转换为一个Python原生的set 对象。这样接下来的代码就不必考虑与Java的交互,Python用户从此回到了自己熟悉的环境中。 

 (5)hanlp词典路径
路径为:HanLP/data/dictionaray/CoreNatureDictionaray.mini.txt

 文章来源地址https://www.toymoban.com/news/detail-630934.html

 

到了这里,关于自然语言处理学习笔记(四)————词典分词的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自然语言处理学习笔记(十)———— 停用词过滤

    目录 1.停用词 2.实现思路 3.全部实现代码: 4.运行结果: 1.停用词         汉语中有一类没有多少意义的词语,比如助词“的”、连词“以及”、副词“甚至”、语气词“吧”,称为停用词。一个句子去掉了停用词并不影响理解。停用词视具体任务的不同而不同,比如在网

    2024年02月09日
    浏览(51)
  • 自然语言处理学习笔记(八)———— 准确率

    目录 1.准确率定义 2.混淆矩阵与TP/FN/FP/TN 3. 精确率 4.召回率 5.F1值 6.中文分词的P、R、F1计算 7.实现 1.准确率定义         准确率是用来衡量一个系统的准确程度的值,可以理解为一系列评测指标。当预测与答案的数量相等时,准确率指的是系统做出正确判断的次数除以总

    2024年02月09日
    浏览(43)
  • 自然语言处理学习笔记(七)————字典树效率改进

    目录 1. 首字散列其余二分的字典树 2.双数组字典树 3.AC自动机(多模式匹配) (1)goto表 (2)output表 (3)fail表 4.基于双数组字典树的AC自动机         字典树的数据结构在以上的切分算法中已经很快了,但还有一些基于字典树的算法改进,把分词速度推向了千万字每秒的

    2024年02月10日
    浏览(44)
  • 自然语言处理学习笔记(三)————HanLP安装与使用

    目录 1.HanLP安装 2.HanLP使用 (1)预下载  (2)测试 (3)命令行  (4)测试样例 3.pyhanlp可视化 4. HanLP词性表 1.HanLP安装  HanLP的 Python接口由 pyhanlp包提供,其安装只需一句命令: 安装完成 2.HanLP使用 (1)预下载 第一次使用pyhanlp时,会自动下载许多hanlp的jar包(包含许多算法

    2024年02月14日
    浏览(54)
  • 自然语言处理学习笔记(十一)————简繁转换与拼音转换

    目录 1.简繁转换 2.拼音转换 1.简繁转换 简繁转换指的是简体中文和繁体中文之间的相互转换。可能有的人觉得,这很简单, 按字转换 就好了。HanLP提供了这样的朴素实现 CharTable, 用来执行字符正规化(繁体-简体,全角-半角,大写-小写) 事实上,汉字历史悠久,地域复杂,

    2024年02月07日
    浏览(47)
  • 自然语言处理学习笔记(九)———— OVV Recall Rate与 IV Recall Rate

    目录 1.OVV Recall Rate 2. IV Recall Rate 1.OVV Recall Rate         OOV指的是“未登录词”(Out Of Vocabulary),或者俗称的“新词”,也即词典未收录的词汇。如何准确切分00V,乃至识别其语义,是整个NLP领域的核心难题之一。 2. IV Recall Rate         IV指的是“登录词”(In  V

    2024年02月09日
    浏览(42)
  • 以ChatGPT为例进行自然语言处理学习——入门自然语言处理

    ⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您, 麻烦点个赞 👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️ Qt5.9专栏 定期更新Qt的一些项目Demo

    2023年04月23日
    浏览(82)
  • 机器学习——自然语言处理(NLP)一

    机器学习——自然语言处理(NLP)一 自然语言处理(Natural Language Processing,NLP)是一门研究如何使计算机能够理解和处理人类语言的学科,其中有许多常用的算法和技术,本文则主要介绍比较基础的TF-IDF算法和朴素贝叶斯算法。 一种用于评估一个词语对于一个文件集或一个

    2024年02月09日
    浏览(50)
  • 【精品】NLP自然语言处理学习路线(知识体系)

    当前,大规模预训练语言模型的强大对话问答、文本生成能力,将自然语言处理(NLP)的研究和应用推向了新一轮的热潮。NLP是计算机科学、人工智能和语言学等学科交叉的前沿领域。NLP的应用和研究范围非常的广泛,个人是没有找到那种特别好的、详细且成体系的文档的。

    2024年02月09日
    浏览(50)
  • 读十堂极简人工智能课笔记06_自然语言处理

    1.4.3.1. 能让真人腾出手来处理难度更大的咨询 2.1.3.1. 在研究儿童的语言能力发展后总结出来的理论 2.1.3.2. 儿童虽然能够学会流利地说话,但他们在学习过程里其实根本没有接收到足够的信息 2.1.3.2.1. 所谓的“刺激的贫乏” 2.1.3.3. 儿童能够发展语言技能的唯一途径是他们

    2024年02月19日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包