自然语言处理NLP:LTP、SnowNLP、HanLP 常用NLP工具和库对比

这篇具有很好参考价值的文章主要介绍了自然语言处理NLP:LTP、SnowNLP、HanLP 常用NLP工具和库对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常见NLP任务
  1. Word Segmentation 分词 – Tokenization

  2. Stem extraction 词干提取 - Stemming

  3. Lexical reduction 词形还原 – Lemmatization

  4. Part of Speech Tagging 词性标注 – Parts of Speech

  5. Named entity recognition 命名主体识别 -NER

  6. Chunking 分块 -Chunking

  7. 语音识别:也称为语音转文本,用于将语音数据以可靠的方式转换为文本数据。 任何遵循语音命令或回答口述问题的应用都需要语音识别功能。 语音识别的挑战性在于人们的说话方式 — 语速快,含糊不清,各种重音、语调和口音,以及语法常常不正确。

  8. 词性标注:也称语法标注,这个过程按照用法和上下文确定特定单词或文本片段的词性。 “I can make a paper plane” 中 “make” 的词性为动词,“What make of car do you own?” 中 “make” 为名词。

  9. 关键词提取

  10. 语块提取

  11. 情绪分析,尝试从文本中提取主观特质,例如,态度、情绪、讽刺、困惑和怀疑。

  12. 词义消歧:用于对多义单词选择含义,通过语义分析过程确定单词在特定上下文中最准确的意思。 例如,词义消歧可帮助区分动词 “make” 在 “make the grade”(达到)和 “make a bet”(做出)中的含义。

  13. 命名实体识别 ,简称 NEM,用于将单词或短语识别为有意义的实体。 NEM 将"Kentucky"识别为地点,将 “Fred” 识别为男性的名字。

  14. 指代消解,用于确定两个单词是否以及何时指代同一实体。 最常见的例子是确定某个代词所指的人或物体(例如,"她"指玛丽),但也可能涉及识别文本中的隐喻或习语(例如,"熊"有时并不表示动物,而是指体型魁梧、体毛较多的人)。

  15. 自然语言生成,有时被视为语音识别或语音转文本的逆操作;该任务用于将结构化信息转化为人类语言。

常见NLP工具
英文NLP工具
  • NTLKNatural Language Toolkit 是一个用于构建 Python 程序以处理人类语言数据的平台。它包括词法分析、命名实体识别、标记化、词性标注、句法分析和语义推理。它还提供了一些很好的入门资源。但是,由于 NLTK 在处理大数据时会占用大量资源,因此推荐用于简单项目。

  • TextBlobTextBlob 构建在 NLTK 的基础上,就像是一个扩展,简化了 NLTK 的许多功能,它为任务提供了一个易于理解的界面,包括情感分析、词性标注和名词短语提取等。TextBlob 是一个推荐给初学者的自然语言处理工具,它也具有可扩展性。

  • SpaCySpaCy 是一个流畅、快速、高效的开源库,由 Cython 编写。它具有一个简单的 API、预训练的词向量、11 种语言的 23 个统计模型、用于语法和 NER 的内置可视化工具,它的更新时间表也非常一致。

  • Stanford CoreNLPCoreNLP 用于对文本片段进行语言分析。它提供了 7 种语言的支持,可扩展性使其成为一个很好的自然语言处理工具,可用于信息抓取、聊天机器人训练以及文本处理和生成。需要说明的是,它是按照 GNU 通用公共许可证 V3 许可的,因此在构建任何专用软件时,都需要商业许可证。

  • GenSimGenSim 是一个用于自然语言处理的免费 Python 库,是主题建模和文档相似性比较的推荐选项。此外,它还提供了可扩展的统计语义和语义结构分析。GenSim 具有高水平的处理速度和处理大量文本的能力。

  • PyTorch-Transformers:该 NLP 库包含了 NLP 的预训练模型。它具有 PyTorch 实现、预训练的模型权重、使用脚本和转换工具,包括 BERTGPT-2Transformer-XLRoBERTa

中文NLP工具
  • jieba

“结巴”中文分词:做最好的 Python 中文分词组件

Jieba” (Chinese for “to stutter”) Chinese text segmentation: built to be the best Python Chinese word segmentation module.

特点——支持三种分词模式:

  1. 精确模式,试图将句子最精确地切开,适合文本分析;
  2. 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  3. 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
  4. 支持繁体分词
  5. 支持自定义词典
  • SnowNLP

SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decodeunicode

Features

  1. 中文分词(Character-Based Generative Model
  2. 词性标注(TnT 3-gram 隐马)
  3. 情感分析(现在训练数据主要是商品评论(5w+),所以对其他的一些可能效果不是很好,支持添加自定义数据集训练
  4. 文本分类(Naive Bayes
  5. 转换成拼音(Trie树实现的最大匹配)
  6. 繁体转简体(Trie树实现的最大匹配)
  7. 提取文本关键词(TextRank算法)
  8. 提取文本摘要(TextRank算法)
  9. tf,idf
  10. Tokenization(分割成句子)
  11. 文本相似(BM25
  12. 支持python3
  • pyhancp

pyhanlp: Python interfaces for HanLP
自然语言处理工具包HanLPPython接口, 支持自动下载与升级HanLP,兼容py2、py3

安装

pip install pyhanlp

注意pyhanlp安装之后使用的时候还会自动下载相关的数据文件,zip压缩文件600多M,速度有点慢,时间有点长文章来源地址https://www.toymoban.com/news/detail-730282.html

  • pyltp
    pyltp 是 语言技术平台(Language Technology Platform, LTP) 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

到了这里,关于自然语言处理NLP:LTP、SnowNLP、HanLP 常用NLP工具和库对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 自然语言处理-NLP

    目录 自然语言处理-NLP 致命密码:一场关于语言的较量 自然语言处理的发展历程 兴起时期 符号主义时期 连接主义时期 深度学习时期 自然语言处理技术面临的挑战 语言学角度 同义词问题 情感倾向问题 歧义性问题 对话/篇章等长文本处理问题 探索自然语言理解的本质问题

    2024年02月11日
    浏览(61)
  • 自然语言处理(NLP)

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(35)
  • 自然语言处理NLP介绍——NLP简介

    2024年02月15日
    浏览(57)
  • 自然语言处理2-NLP

    目录 自然语言处理2-NLP 如何把词转换为向量 如何让向量具有语义信息 在CBOW中 在Skip-gram中 skip-gram比CBOW效果更好 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 在自然语言处理任务中, 词向量(Word Embedding)是表示自然语言里单词的一种方法 ,即把每个词都表

    2024年02月11日
    浏览(56)
  • 聊聊自然语言处理NLP

    自然语言处理(NLP)的正式定义:是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。 NLP工具的实现一般是基于机器学习与深度学习、其它

    2024年02月14日
    浏览(53)
  • 自然语言处理(NLP)技术

            自然语言处理技术是一种人工智能技术,它的目标是使计算机能够理解、分析、处理和生成自然语言(人类使用的语言)。NLP技术包括文本分类、情感分析、机器翻译、语音识别、语音合成、信息检索、信息抽取、问答系统等。NLP技术的应用非常广泛,例如智能客

    2024年02月14日
    浏览(46)
  • NLP自然语言处理介绍

    自然语言处理(NLP,Natural Language Processing)是一门涉及计算机与人类语言之间交互的学科。它的目标是使计算机能够理解和生成人类语言,从而更好地处理和解析大量的文本数据。NLP不仅是人工智能领域中一个重要的分支,也是当今社会应用广泛的领域之一。 在NLP中,一个基

    2024年01月21日
    浏览(46)
  • 自然语言处理NLP:一文了解NLP自然语言处理技术,NLP在生活中的应用,图导加深了解,NLP语料库,NLP开源工具

    目录 1.自然语言处理NLP 1.1 NLP中英对照(双份) 1.2 相关文章  2.NLP语料库

    2024年02月09日
    浏览(47)
  • 自然语言处理(NLP) —— 心理语言学

            认知科学和心理语言学是两个密切相关的领域,它们研究 认知过程和语言使用是如何相互作用的。         在历史上,这两个领域的发展经历了几个重要的阶段: 1.1.1 19世纪晚期(内省法)         Wundt 和其他德国心理学家使用一种叫做 内省法 的研究方

    2024年02月21日
    浏览(44)
  • NLP(自然语言处理)是什么?

    NLP基本概念: 自然语言处理( Natural Language Processing, NLP)是以语言为对象,利用计算机技术来分析、理解和处理自然语言的一门学科,即把计算机作为语言研究的强大工具,在计算机的支持下对语言信息进行定量化的研究,并提供可供人与计算机之间能共同使用的语言描写。包括

    2024年02月12日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包