精华内容
下载资源
问答
  • nlp基础
    2019-03-21 19:39:22

    前言

      了解自然语言处理的都知道,我们在得到文本数据的时候,往往需要对文本进行一些操作,例如:匹配字符串、分词以及字符串的相关操作。本篇便是主要介绍自然语言处理中的基础技能,主要包括:Python正则表达式、jieba分词、Python字符串处理等。

    本篇代码可见:Github

    一、Python 正则表达式

      我们在大文本中匹配字符串时,有些情况用str自带的函数(比如find, in)可能可以完成,有些情况会稍稍复杂一些(比如说找出所有“邮箱”、“手机号”、“地址”等信息的字符串),这个时候我们需要某种模式的工具,这个时候正则表达式就派上用场了。

    正则表达式 是处理字符串的强大工具,拥有独特的语法和独立的处理引擎。

    正则表达式不是Python独有的,所有的正则表达式的语法都一样,所以了解正则表达式的只需要简单看一下就可以上手了。

    二、jieba分词

    此外除了jieba分词,还有北大开源分词工具 pkuseg

    三、pkuseg分词

      pkuseg 是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包。pkuseg 具有如下几个特点:

    • 高分词准确率。相比于其他的分词工具包,该工具包在不同领域的数据上都大幅提高了分词的准确度。根据测试结果,pkuseg 分别在示例数据集(MSRA和CTB8)上降低了79.33%和63.67%的分词错误率。
    • 多领域分词。该分词包训练了多种不同领域的分词模型。根据待分词的领域特点,用户可以自由地选择不同的模型。
    • 支持用户自训练模型。支持用户使用全新的标注数据进行训练。

    工具使用:

    pip install pkuseg
    
    之后通过import pkuseg来引用
    

    参数说明:

    # 模型配置
    pkuseg.pkuseg(model_name = "default", user_dict = "default", postag = False)
    
    参数名称参数描述可选值
    model_name模型路径“default”,默认参数,表示使用我们预训练好的混合领域模型(仅对pip下载的用户)。“news”, 使用新闻领域模型。“web”, 使用网络领域模型。“medicine”, 使用医药领域模型。“tourism”, 使用旅游领域模型。 model_path, 从用户指定路径加载模型。
    user_dict设置用户词典“default”, 默认参数,使用我们提供的词典。None, 不使用词典。dict_path, 在使用默认词典的同时会额外使用用户自定义词典,可以填自己的用户词典的路径,词典格式为一行一个词
    postag是否进行词性分析False, 默认参数,只进行分词,不进行词性标注。True, 会在分词的同时进行词性标注。
    # 对文件进行分词
    pkuseg.test(readFile, outputFile, model_name = "default", user_dict = "default", postag = False, nthread = 10)
    
    参数名称参数描述
    readFile输入文件路径
    outputFile输出文件路径。
    model_name模型路径,同pkuseg.pkuseg
    user_dict设置用户词典,同pkuseg.pkuseg
    postag设置是否开启词性分析功能,同pkuseg.pkuseg
    nthread测试时开的进程数
    # 模型训练
    pkuseg.train(trainFile, testFile, savedir, train_iter = 20, init_model = None)
    
    参数名称参数描述
    trainFile训练文件路径。
    testFile测试文件路径。
    savedir训练模型的保存路径。
    train_iter训练轮数。
    init_model初始化模型,默认为None表示使用默认初始化,用户可以填自己想要初始化的模型的路径如init_model=’./models/’。

    代码示例:

    • 代码可见:02_北大pkuseg分词工具.ipynb

    四、Python 字符串处理

    代码可见:03_字符串处理.ipynb

    本篇主要介绍一些自然语言处理中的基础工具,主要用于文本预处理。其中包含了多个链接,也是博主之前学习过的,以供参考。

    更多相关内容
  • 用python语言来做一些NLP自然语言处理)的工作,笔记分为11章,层层梯进,包含开发环境介绍、功能代码实现步骤、案例实战等。
  • 56688-Python中文自然语言处理基础与实战-PPT课件.rar
  • Mathematic Foundation(自然语言处理基础知识 NLP
  • 统计自然语言处理.pdf.
  • 统计自然语言处理基础(中文版 高清带书签) 《统计自然语言处理基础:国外计算机科学教材系列》是一本全面系统地介绍统计自然语言处理技术的专著,被国内外许多所著名大学选为计算语言学相关课程的教材。《统计自然...
  • 《统计自然语言处理基础:国外计算机科学教材系列》是一本全面系统地介绍统计自然语言处理技术的专著,被国内外许多所著名大学选为计算语言学相关课程的教材。《统计自然语言处理基础:国外计算机科学教材系列》涵盖...
  • 自然语言处理NLP基础知识
    展开全文
  • 如果NLP不是您的强项,那么“自然语言处理基础知识”将确保您开始一个稳定的起点。 这份全面的指南将向您展示如何有效地使用Python库和NLP概念来解决各种问题。 通过示例和练习,您将了解自然语言处理及其应用。 ...
  • 文章目录一、自然语言处理基础任务二、自然语言处理应用 一、自然语言处理基础任务   自然语言处理中包含以下基础任务: 分词-word segmentation Jieba分词 SnowNLP LTP HanNLP 词性标注-POS   句子中的每个...

    引言

    LP系统在解决具体问题的时候,通常既需要NLU,也需要NLG。比如常见的语音助手、智能音箱等产品,为了支持用户使用自然语言语音调用机器的各种技能,不仅需要理解用户在说什么,还需要做出特定的动作、以满足用户的需求,比如回答”您要找的资料在这个列表中”。在理解用户话语以及意图的时候,机器需要使用NLU的技术;在以文本、语言的形式回应用户的时候,机器需要使用NLG的技术。 因此,一般情况下,我们不会细分一个方法是NLU的,还是NLG的。

    一、自然语言处理基础任务

      自然语言处理中包含以下基础任务:

    • 分词-word segmentation
      Jieba分词
      SnowNLP
      LTP
      HanNLP

    • 词性标注-POS
        句子中的每个单词被分类为一种词性,如动词,名词等,词性标注的过程依赖当前单词以及上下文信息,词性标注问题即序列标注问题。序列标注问题可以当做分类问题,一方面,可以对于当前单词以及上下文单词(sliding window)提取特征,并用这些特征做分类;另一方面,利用序列模型考虑单词之间前后的依赖关系来做预测,常见的序列模型算法有:HMM,CRF,RNN,LSTM,Transformer
        词性标注是自然语言最基础的任务,可以认为是Solved Problem(已经解决的问题),很多时候,可以作为上游任务的特征。

    • 命名实体识别-NER
        命名实体识别类似于词性标注,命名实体识别的结果一般如下:

      张三/PER 的 家 住 在 北京/LOC

      不管是做文本摘要,还是问答系统、对话系统任务,又或者是文本分类任务,实体对任务会产生非常重要的影响。

    • 句法分析-Syntatic Analysis
        句法分析就是对一个句子的词语句法做分词,比如主谓宾。句法分析的结果是一棵树。这个在工业界用的地方不多。与之类似的依存文法分析(Dependency Parsing)用的地方比较多。在短文本分类中,如何准确的把控短文本的含义呢?针对这个场景,我们要做的是在各个维度来分析短文本

    • 语义分析-Semantic Analysis
      语义理解涉及两个问题:

      1、 如何理解一个单词的意思?(理解某个单词在某句话中的意思)
      2、如何理解一个文本的意思?(理解整句话的意思)
      主要技术有:SkipGram,CBOW,Glove,ELMo,BERT,ALBERT,XLNet,GPT-2,GPT-3,Tiny-BERT

    二、自然语言处理应用

    1. 写作助手(拼写纠错)
    2. 文本分类
      情感分析:将情感分为正面反面
      情绪分析:判断一个是否处于高兴、兴奋等状态
      主题分类:比如:将新闻类型进行分类
    3. 信息检索(information retrieval)
      信息检索基础架构为:
      1. 检索Query
      2. 文本处理
      3. 在数据库中搜索
      4. 返回排序前多少的结果
    4. 问答系统
      问答系统的目的是直接提供用户的答案。
      问答系统和检索系统的区别:检索系统返回相关结果,问答系统则直接返回答案。
      问答系统需要更多语义方面的理解。
    5. 自动生成文本摘要
      自动生成文本摘要是一个生成任务。具体任务:给予一个很长的文本,对这些文本进行简化。自动生成文本摘要有两种方法:一种方法是Extractive Method,它是在原始文本中国,抽取几句话来生成摘要,对原始文本不进行改变。另一种方法是Abstractive Method,其过程为:对原始文本进行理解,再将理解到的含义转化为文本。
    6. 机器翻译
      机器翻译有三种方法:一种是Rule-based Method,另一种是Statistical Method,基于统计的语言模型,最后一种是生成式的方式。
    7. 信息抽取

    如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!
    在这里插入图片描述


    展开全文
  • NLP基础

    千次阅读 2022-02-23 14:18:03
    NLP基础 主要范畴 文本朗读(text to speech) ...自然语言生成(natural language generation) 研究难点 单词的边界界定 词义消歧 不规范的输入 句法的模糊性 语言行为与计划 NLP涉及知识 词处理: 分词 词性

    NLP基础

    主要范畴

    • 文本朗读(text to speech)
    • 语音合成(speech synthesis)
    • 语音识别(speech recognition)
    • 中文自动分词(Chinese word segmentation)
    • 词性标注(part of speech tagging)
    • 句法分析(parsing)
    • 自然语言生成(natural language generation)

    研究难点

    • 单词的边界界定
    • 词义消歧
    • 不规范的输入
    • 句法的模糊性
    • 语言行为与计划

    NLP涉及知识

    词处理:

    • 分词
    • 词性标注
    • 实体识别
    • 词义消歧

    语句处理:

    • 句法分析
    • 语义分析
    • 机器翻译
    • 语音合成

    模型:

    • N-Gram统计模型
    • 马尔可夫模型
    • 隐马尔可夫模型

    语料及词性标注

    语料:语言材料

    词性标注:给每个词或者词语打词类标签:形容词、动词、名词

    方法:

    • 基于规则的词性标注
    • 基于隐马尔可夫模型HMM的词性标注
    • 基于转移的词性标注
    • 基于转移与隐马尔可夫模型相结合的词性标注

    python:

    • nltk:英文分词库
    • jieba:中文分词库

    分词

    把句子变成词

    难点:

    • 分词标准
    • 切分歧异(分词细粒度不同、真正存在歧义的句子、交集型的歧义)
    • 新词

    算法:

    • 基于词典的分词算法

      • 正向最大匹配
      • 你想最大匹配法
      • 双向匹配分词
      • 全切分路径选择
    • 基于统计的分词算法

      • HMM,隐马尔可夫模型
      • CRF,条件随机场
      • 深度学习

    TF:term frequency。词频:衡量一个term在文档中出现的有多频繁

    T F ( t ) = ( t 出 现 在 文 档 中 的 次 数 ) / ( 文 档 中 t e r m 的 总 数 ) TF(t)=(t出现在文档中的次数)/(文档中term的总数) TF(t)=(t)/(term)

    IDF:Inverse document frequency。逆文本频率

    I D F ( t ) = log ⁡ _ e ( 文 档 总 数 / 含 有 t 的 文 档 总 数 ) IDF(t)=\log\_e(文档总数/含有t的文档总数) IDF(t)=log_e(/t)

    T F − I D F = T F ∗ I D F TF-IDF=TF*IDF TFIDF=TFIDF。 用于提取文本的特征

    NLP文本处理

    分词

    提取文本向量

    语义理解

    Onehot编码

    将类别变量转换为数字型变量(稀疏)

    有几个词就转化几维,出现为第几个词将那一维置为1

    句子则是出现在句子中的词都置为1的向量

    缺点:维数太高

    Word2Vec(浅层神经网络)

    用神经网络把词转成向量的模型

    i n p u t   l a y e r → h i d d e n   l a y e r → o u t p u t   l a y e r input \ layer \to hidden \ layer \to output \ layer input layerhidden layeroutput layer

    相似的词向量相似度越大

    • CBOW(连续词袋) continous bags of words model

    i n p u t input input为上下文,通过projection进行求和,最后softmax分类输出output

    跟定上下文进行预测下一个词是什么

    根据模型进行预测下一个出现最大概率的词是什么

    • 没有隐藏层

    • 结合双向上下文,上下文次序无关

    • 输入为低维稠密的 在映射层求和

    • skip-gram(多样性)

    给定一个词进行预测他的上下文

    没有隐层 映射层也可以省略

    分层sortmax

    p ( w ∣ w I ) = ∏ j = 1 L ( w ) − 1 σ ( [ n ( w , j + 1 ) = c h ( n ( w , j ) ) ] . v n ( w , j ) ′ T v w I ) p(w|w_I)=\prod\limits_{j=1}^{L(w)-1}\sigma([n(w,j+1)=ch(n(w,j))].v_{n(w,j)}^{'T}v_{w_I}) p(wwI)=j=1L(w)1σ([n(w,j+1)=ch(n(w,j))].vn(w,j)TvwI)

    负采样:

    l e n ( w ) = c o u n t e r ( w ) ∑ u ∈ D c o u n t e r ( u ) len(w)=\frac{counter(w)}{\sum\limits_{u \in D}counter(u)} len(w)=uDcounter(u)counter(w)

    减少计算量,又不影响训练过程

    采用频次比较高的进行负采样

    缺点:

    • 使用了唯一的词向量,对多义词没有好效果
    • context很小,没有使用全局的cooccur,只考虑局部

    改进:Glove模型

    StopWords

    自动过滤掉某些字或词

    去掉对句子语义没有影响的词,常指介词、代词

    代码实现

    • Gensim库

    聊天机器人

    分为检索类和生成式(模式划分)

    检索类

    将内容和答案放入检索模型中,将信息放入检索模型中,得出回答

    通过问题的句子和回答的句子,得出一个分数

    检索匹配:通过提问找到(key word),检索得到原材料,进行答案抽取(概率由高到低)

    流程:给定一个问题,从只是数据库中找到所有的进行排序,选择一个最相关的(检索的流程),然后还需要利用注意力机制,seq2seq模型生成的答案(生成),在二者之中选取最相关的答案(检索与生成的进行比较)

    • 检索的技术
    • 模式匹配的技术
    • 自然语言理解的技术
    • 统计翻译模型的技术

    计算相似度:余弦相似度,皮尔逊相关系数

    分类:贝叶斯分类,KNN,SVM

    神经网络分类:CNN,LSTM

    贝叶斯分类

    朴素贝叶斯:加上条件独立的假设的贝叶斯方法

    词袋模型:朴素贝叶斯失去词语之间顺序信息,相当于把所有的词汇扔进一个袋子里搅合

    多项式模型:多次出现的结果,出现在概率的指数次方上,因此这样的模型叫做多项式模型,统计时考虑重复词语

    伯努利模型:计算概率的时候(出现了只计算一次),丢失了词频的信息,不考虑重复词语

    应用:

    • 文本情感分析
    • 拼写纠错

    技巧

    • 取对数
    • 转换为权重
    • 选取topk的关键词
    • 分割样本
    • 位置权重

    生成类的聊天机器人

    语言模型:一串词序列的概率分布

    古老的方法:N-gram模型+smoothing(使得概率分布的平滑)

    RNN LSTM语言模型

    Rnn:输入X和h,输出y。每一个输入受到前一个词传递过来的影响

    RNN存在的问题:梯度消失,梯度爆炸

    lstm:缓解梯度消失和梯度爆炸

    增加了常积状态,记忆之前的状态。

    seq2seq模型

    应用于机器翻译,图像描述,聊天机器人,代码补全

    encoder:一堆输入,通过编码的方式与顺序进行

    decoder:解码

    利用softmax进行分类

    隐藏层: h t = f ( h t − 1 , y t − 1 , c ) h_t=f(h_{t-1},y_{t-1},c) ht=f(ht1,yt1,c)

    隐层由上一个结果,所有上一个时间的结果

    最后利用最大似然进行概率估计

    缺点:文本长度长不好,压缩损失信息

    改进方式:

    • attention

    关注点大的增加权重,(注意力机制),找到重点内容,执行降维操作

    sort attention:softmax

    hard attention:二分类0和1

    机器翻译,语音识别,图像描述

    展开全文
  • 本文来自简书,本文将主要介绍什么是自然语言处理,以及NLP的生成与理解,,希望对您的学习有所帮助。-推理-自动学习&调度-机器学习-自然语言处理-计算机视觉-机器人-通用智能阶段1——机器学习:智能系统使用一系列...
  • 统计自然语言处理基础 英文+中文(带书签)。 方便对照学习 统计自然语言处理 第二版 宗成庆。
  • NLP基础1

    2022-08-08 20:52:46
    NLP基础分词 jieba/nshortNER POS 情感分析 snownlp句法依存 PPL srilm文本相似度 文本分类 cnn
  • 统计自然语言处理基础(Foundations of Statistical Natural Language Processing) Christopher D. Manning著 苑春法等译
  • 1、NLP基础入门

    2021-09-24 13:55:37
    1、NLP基础入门 人工智能的发展和应用越来越深入世界每个角落...自然语言处理(Natural Language Processing, NLP),它属于人工智能的一个分支,他的目标就是让计算机能理解人类语言,即将自然语言转换成计算机能够用于
  • NLP基础知识

    2021-07-28 21:44:23
    1、什么是NLP? Natural Language Progress AI 重要分支之一 分类: NLP涉及知识 词处理 分词,词性标注,实体识别,词义消岐 语句处理 句法分析(分析语法),语义分析(理解句子意思),机器翻译,语音合成(文本...
  • 统计自然语言处理基础(中文版) 统计自然语言处理基础(中文版)
  • 本文主要介绍了自然语言处理基础答疑和案例:在真实的建模场景中,如何能给模型加入先验知识,包括(1)借助预训练模型,把网络的weight替换成一个在另外一个任务上pretrain好的模型weight,而不是选择随机权重作为...
  • - 自然语言处理 - 计算机视觉 - 机器人 - 通用智能 人工智能三大阶段 阶段 1——机器学习:智能系统使用一系列算法从经验中进行学习。 阶段 2——机器智能:机器使用的一系列从经验中进行学习的高级算法,...
  • 本次要完成 nlp 四大基础任务之一的序列标注任务,也叫做命名实体识别。即是在给定文本中能够对词性、人名地名等特定信息进行标注。 实验主要采用循环神经网络进行搭建,每一条样本输入是一条句子(对应的嵌入向量...
  • 本课程适合所有需要学习自然语言处理技术的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 本章为该课程的其中一个章节,如有需要可下载全部课程 全套资源下载地址:...
  • 第 1 章-自然语言处理基础概念 什么是自然语言处理 自然语言处理(Natural Language Processing,NLP)是一门融合了计算机科学、人工智能以及语言学 的交叉学科。 自然语言是人工智能的一个领域。 自然语言处理的...
  • 专栏介绍:本栏目为 “2021秋季中国科学院大学胡玥老师的自然语言处理” 课程记录,不仅仅是课程笔记噢~ 如果感兴趣的话,就和我一起入门NLP吧???? 目录文本分类任务概述????序列结构????文本分类方法????图结构???...
  • 统计自然语言处理基础 中文 高清
  • 目前,有很多开源或开放的自然语言处理工具可以供我们使用,可以方便地解决很多NLP基础任务,例如,分词、词性标注、词干化、命名实体识别、名词短语提取等等。 汇总起来方便比较,择优而用。 目录 1. HanLP 2...
  • NLP自然语言处理的经典题目,简单,基础,面试经常考的问题。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 252,342
精华内容 100,936
关键字:

nlp基础