自然语言处理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是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年02月12日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包