首页 > 其他分享 >NLP | 文本分词的工具包

NLP | 文本分词的工具包

时间:2023-07-09 12:33:19浏览次数:35  
标签:NLP github 工具包 网址 https 文本 com 分词

文本分词(Tokenization)是将一个文本序列分割成一个个单独的“词”或“标记”的过程。在自然语言处理(NLP)中,文本分词是一个必要的预处理步骤,几乎所有的自然语言处理任务都需要对文本进行分词。

文本分词的目的是根据某种规则或算法,将文本序列分割成较小的单元,例如单词、词组、标点符号等。分词的结果通常被用作文本表示的基本单位,例如在机器翻译、情感分析、文本分类、信息检索等任务中,输入和输出都是以分词后的文本序列为单位进行的。

不同语言的文本分词规则和算法各不相同。例如,英语文本通常是以空格和标点符号作为分隔符进行分词,而中文文本则需要考虑语言的特殊性,例如词语之间没有明显的分隔符,需要使用基于词典和统计的算法进行分词。

常见的文本分词算法包括基于规则的分词、基于词典的分词、基于统计的分词、基于深度学习的分词等。在实际应用中,通常会根据具体任务和任务数据选择最适合的分词算法。

THULAC:一个高效的中文词法分析工具包

网址https://github.com/thunlp/THULAC/tree/master

SentencePiece

网址https://github.com/google/sentencepiece

jieba

网址https://github.com/fxsjy/jieba

jieba分词原理:HMM(隐马尔可夫模型)。更多HMM内容可参考:

https://zhuanlan.zhihu.com/p/111899116

HanLP: Han Language Processing

网址https://github.com/hankcs/HanLP

fastNLP

网址https://github.com/fastnlp/fastNLP/tree/master

FASTNLP 中文文档http://www.fastnlp.top/docs/fastNLP/master/index.html

FudanNLP (FNLP)

网址https://github.com/FudanNLP/fnlp

SnowNLP: Simplified Chinese Text Processing

网址https://github.com/isnowfy/snownlp

NLPIR

网址https://github.com/NLPIR-team/NLPIR

subword-nmt

网址https://github.com/rsennrich/subword-nmt

论文https://arxiv.org/abs/1508.07909

fastBPE

网址https://github.com/glample/fastBPE

Sacremoses

网址https://github.com/alvations/sacremoses

FoolNLTK

网址https://github.com/rockyzhengwu/FoolNLTK

FoolNLTK分词原理如下:

BiLSTM-CRF模型架构

LTP

网址https://github.com/HIT-SCIR/ltp

HuggingFace

fairseq

网址https://github.com/facebookresearch/fairseq/tree/main/examples/translation

教程https://fairseq.readthedocs.io/en/latest/getting_started.html

pytorch

网址https://pytorch.org/hub/pytorch_fairseq_translation/

标签:NLP,github,工具包,网址,https,文本,com,分词
From: https://www.cnblogs.com/zhangxuegold/p/17538569.html

相关文章

  • NLP | 词嵌入:原理与应用简要概述
    词嵌入技术主要是为了解决自然语言处理中的词表示问题,将词转化成机器容易理解的形式。在早期的自然语言处理任务中,词通常被表示为离散的符号,例如"猫"就是一个符号,"狗"是另一个符号,这种表示方法无法捕捉词与词之间的语义关系。作用原理词嵌入技术将词映射到连续的向量空间中,使得......
  • 如何实现华东师范大学NLP实验室的具体操作步骤
    实现“华东师范大学NLP实验室”流程为了实现“华东师范大学NLP实验室”,我们需要完成以下步骤:步骤操作1.创建一个新的Python项目在你的开发环境中创建一个新的Python项目2.导入所需的库在项目中导入所需的库,例如NLTK(自然语言处理工具包)3.收集数据收集与华东......
  • NLP应用 | 保存checkpoint模型
    需求描述:当我们训练模型的时候,我们要训练很多训练步数,我们想要保存训练到一定阶段的checkpoint模型参数,并把这些checkpoint模型保存到一个指定的文件夹下。在文件夹下我们最多保存keep_checkpoint_max个checkpoint模型的文件。保存到output文件夹下。每save_checkpoint_steps步去......
  • NLP | 迁移学习介绍
    迁移学习是指将在一个任务上学到的知识和经验迁移到另一个相关任务上的机器学习方法。它通过利用源领域的知识来改善目标领域的学习性能。迁移学习的核心原理是通过共享知识和经验,从已解决的任务中获得的特征、表示或模型,来加速或改善新任务的学习过程。常见的迁移学习方法迁移......
  • NLP | 数据集独立同分布的理解
    在自然语言处理(NLP)中,独立同分布是指一个数据集中的样本是从同一个总体分布中独立采样而来的。这意味着数据集中的每个样本都具有相同的概率分布,并且这些样本之间是相互独立的,即一个样本的出现不会影响其他样本的出现。例如,如果我们收集了一组用于训练文本分类器的新闻文章,并且这......
  • Java并发工具包详解
    针对并发编程,Java提供了很多并发工具类供我们使用,下面我们详细介绍一下。SemaphoreSemaphore,现在普遍翻译为“信号量”,以前也曾被翻译成“信号灯”,因为类似现实生活里的红绿灯,车辆能不能通行,要看是不是绿灯。同样,在编程世界里,线程能不能执行,也要看信号量是不是允许。信号量模型......
  • NLP | FLOPs是什么
    什么是计算密集型任务计算密集型任务指的是需要进行大量计算的任务,通常需要进行大量的数学运算、逻辑运算、数据处理、模拟等操作。这些任务通常需要更多的计算资源,比如更快的处理器、更多的内存、更快的存储设备等。以下是一些常见的计算密集型任务:科学计算:如数值模拟、天体......
  • ES 中文分词器ik及自定义远程词库
    ik分词器安装部署 下载地址:https://github.com/medcl/elasticsearch-analysis-ik注意es和ik分词器的版本匹配.这里下载7.9.3的ik分词器下载完毕之后去es的工作目录的plugins文件夹下新建ik文件夹,将下载下来的ik压缩包解压缩至ik文件夹下,重启e   词库介绍ik分词器主......
  • 29.ElasticSearch分词
    两种查询方式这两种方式的结果都是一样的,实际使用中我们都是使用第二种方式。在将所有的检索条件全部放在url里GET/bank/_search?q=*&sort=account_number:asc表示在banK索引下查询所有文档根据account_number正序 hits里有10条数据,总数是1000,可以看出ES默认做了分页......
  • 自然语言处理 Paddle NLP - 文本翻译技术及应用-理论
    什么是机器翻译机器翻译质量的自动评价从统计机器翻译到神经网络机器翻译多语言/多领域/多模态的翻译应用神经网络机器翻译面临的挑战视频:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1480611&sharedType=2&sharedUserId=2631487&ts=1687143......