NLP基础知识

1、NLP简介

自然语言处理(Natural Language Processing, NLP)是计算机科学、人工智能、语言学的交叉学科,研究在人与人交互中以及与计算机交互中的语言问题。为了建设和完善语言模型,自然语言处理建立计算框架,提出相应的方法来不断的完善设计各种使用系统,并探讨这些使用系统的评测方法。

自然语言处理时人工智能的一个分支。

自然语言处理的研究方向

目前,NLP有很多研究方向,例如:文本分类(情感分析、意图识别),摘要生成(文本生成),多轮对话(智能客服)等。每一个研究方向都包含很多更基础的研究点,下面总结了从词汇、语句、篇章到系统应用的不同粒度上NLP应用场景:

  • 词法短语: 分词、词性标注、命名实体识别、组块分析
  • 句法语义:语言模型、依存句法分析、语义消歧、语义角色标注、深层语义分析
  • 篇章理解:文本分类、聚类、文章摘要、文本生成、篇章关系识别、篇章衔接关系、指代消歧、语义表示、语义匹配、主题模型、情感分析、舆情监控
  • 系统应用:信息抽取、知识图谱、信息检索、Query分析、自动问答、智能对话、机器翻译、语音识别、OCR、图像文字生成等

2、词法分析

词法分析包括分词、词性标注、命名实体识别等。分词是词法分析中最基本的任务。目前,汉字分词的准确率已达到95%左右。中文兼类词的词性歧义消解和未知词的词性识别是词性标注的热点和难点。

什么是分词?
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多。

分词的方法有哪些?

  • 基于字符串匹配的方法
    • 正向最大匹配法(FMM)
    • 逆向最大匹配法(BMM)
    • 双向最大匹配法(BM)
  • 基于统计的方法
    • N元文法模型(N-gram)
    • 隐马尔科夫模型(HMM)
    • 条件随机场(CRF)
  • 基于理解的方法
    • 基于语法和规则的分词方法

基于统计的分词方法

根据字符串在语料库中出现的统计频率来决定其是否构成此。主要统计模型:N元文法模型、隐马尔科夫模型、条件随机场等。

  1. N元文法模型:基于一种假设,文本中第n个词的出现只与前面n-1个词相关,而与其他任何词都不相关,那么整句的概率就是各个词出现概率的乘积。
    对于一个句子S,假设S是由词序列 w1 , w2, …wn 组成的,那么
    P(S) = P(w1w2w3…wn)=P(w1)P(w2|w1)P(w3|w1w2)…P(wn|w1w2…wn-1)
    其中P(w1)表示第一个词w1出现的概率,P(w2|w1)是已知第一个词的前提下,第二个词出现的概率。以此类推,词wn出现的概率取决于它前面全部的词。
  2. 马尔科夫假设:一个词的出现的概率只与它前面出现的有限的一个或者几个词有关,那么
    P(S)
    =P(w1w2w3…wn)
    =P(w1)P(w2|w1)P(w3|w1w2)…P(wn|w1w2…wn-1)
    ≈P(w1)P(w2|w1)P(w3|w2)…P(wn|wn-1)

分词工具有哪些?

Jieba

常用轻量级的分词方法工具,可以实现分词、词性标注、关键词提取等功能。
项目地址: jieba
Python2/3均兼容

支持三种分词模式

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

安装

  • 全自动安装: pip isntall jieba 或者easy_install jieba
  • 半自动安装:先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py install
  • 手动安装:将jieba目录放置于当前目录或site-packages目录
  • 通过import jieba来引用

主要功能

1、 分词

  • jieba.cut:三个输入参数:需要分词的字符串,cut_all是否采用全模式,HMM是否使用HMM模型
  • jieba.cut_for_search方法接受两个参数:需要分词的字符串,是否使用HMM模型。该方法适用于搜索引擎构建倒排索引的分析,粒度比较细
  • jieba.cutjieba.cut_for_search返回的结果都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode
  • jieba.lcutjieba.lcut_for_search 直接返回list类型
  • jieba.Tokenizer(dictionary=DEFAULT_DICT)新建自定义分词器,可用于同时使用不同词典。jieba.dt为默认分词器。所有全局分词相关函数都是该分词器的映射。
    import jieba
    
    seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
    print("Full Mode: " + "/ ".join(seg_list))  # 全模式
    
    seg_list = jieba.cut
回答: 自然语言处理(NLP)是指通过计算机对人类自然语言进行处理和理解的技术领域。NLP基础知识包括词法分析、句法分析、语义分析等步骤。在词法分析中,我们需要进行分词和实体识别。分词是将文本划分成一个个词语的过程,常用的工具有Python Jieba库。实体识别是识别文本中的具体实体,常用的方法是序列标注。句法分析是对句子的结构进行分析,可以帮助理解句子的语法关系。在句法分析中,可以使用主题模型和特征提取方法来表示文本。主题模型可以帮助我们发现文本中的主题信息,而词向量和分布式表示可以将词语编码成计算机能够处理的数值向量。此外,NLP还涉及文本分类和相似度量等任务。总的来说,NLP是一个涉及多个步骤和技术的领域,它的应用和发展也在不断推进。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [【NLPNLP基础知识](https://blog.youkuaiyun.com/qq_44033208/article/details/124625945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [自然语言处理:入门基本知识](https://blog.youkuaiyun.com/no1xiaoqianqian/article/details/127079678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值