自然语言处理NLP(一)

NLP

  • 自然语言:指一种随着社会发展而自然演化的语言,即人们日常交流所使用的语言;
  • 自然语言处理:通过技术手段,使用计算机对自然语言进行各种操作的一个学科;

NLP研究的内容

  • 词意消歧;
  • 指代理解;
  • 自动生成语言;
  • 机器翻译;
  • 人机对话系统;
  • 文本含义识别;

NLP处理

  • 语料读入

    • 网络
    • 本地
  • 分词
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018-9-28 22:21
# @Author  : Manu
# @Site    :
# @File    : python_base.py
# @Software: PyCharm

import urllib
from nltk import word_tokenize
from bs4 import BeautifulSoup

# 在线文档下载
url = ‘http://www.gutenberg.org/files/2554/2554-0.txt‘
res = urllib.request.urlopen(url)
raw = res.read().decode(‘utf8‘)
print(‘length‘, len(raw))
print(‘type‘, type(raw))
print(raw[:100])

# 分词
tokens = word_tokenize(raw)
print(tokens[:50])
print(‘length:‘ + str(len(tokens)))
print(‘type:‘, type(tokens))

# 创建文本
text = nltk.Text(tokens)
print(‘type‘, type(text))
print(‘length‘, len(text))
print(text)
  • 基于此单位的文本分析

    • 正则表达式
  • 分割
    • 断句
    • 分词
  • 规范化输出

中文分词及相应算法

  • 基于字典、词库匹配;

    • 正向最大匹配;
    • 逆向最大匹配;
    • 双向最大匹配;
    • 设立切分表执法;
    • 最佳匹配;
  • 基于词频度统计;
    • N-gram模型;
    • 隐马尔科夫模型;
    • 基于字标注的中文分词方法;
  • 基于知识理解;

分词方法比较

结巴分词

  • 安装
    在控制台使用pip install jieba即可安装;
  • 功能
    • 分词;

      • jieba.cutjieba.cut_for_search
    • 添加自定义词典;
      • jieba.load_userdict(file_name)add_word(word, freq=None, tag=None)jieba.del_word(word)jieba.suggest_freq(segmen, tune=True)
    • 关键词提取;
      • jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
      • jieba.analyse.set_idf_path(file_name)
      • jieba.analuse.set_stop_words(file_name)
    • 词性标注;
      • jieba.tokenize()
      • jieba.posseg.cut()
    • 并行分词;
    • 词汇搜索;

原文地址:http://blog.51cto.com/13473568/2289534

时间: 2024-08-29 09:41:39

自然语言处理NLP(一)的相关文章

自然语言理解——NLP中的形式语言自动机

1.形式语言:是用来精确地描述语言(包括人工语言和自然语言)及其结构的手段.形式语言学 也称代数语言学. 2.自动机:识别器是有穷地表示无穷语言的另一种方法.每一个语言的句子都能被一定的识别器所接受. *有限状态转换机(FST) 除了前面提到的单词拼写检查.词法分析.词性标注等工作以外,有限状态自动机还广泛地应用于句法分析.短语识别.机器翻译和语音识别等很多方面. 自然语言理解--NLP中的形式语言自动机,布布扣,bubuko.com

自然语言处理NLP快速入门

https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA [导读]自然语言处理已经成为人工智能领域一个重要的分支,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.本文提供了一份简要的自然语言处理介绍,帮助读者对自然语言处理快速入门. 作者 | George Seif 编译 | Xiaowen An easy introduction to Natural Language Processing Using computers to un

国内知名的自然语言处理(NLP)团队

工业界 腾讯人工智能实验室(Tencent AI Lab) 百度自然语言处理(Baidu NLP):对外提供了百度AI开放平台,王海峰(现任百度副总裁,AI技术平台体系AIG总负责人) 微软亚洲研究院自然语言计算组(Natural Language Computing - Microsoft Research).在NLP方向与哈工大.清华有联合实验室 科大讯飞(与哈工大的语言认知计算联合实验室) 搜狗实验室(Sogou Labs) 头条人工智能实验室(Toutiao AI Lab) 华为诺亚方舟

自然语言处理(NLP) - 数学基础(1) - 总述

正如我在<2019年总结>里说提到的, 我将开始一系列自然语言处理(NLP)的笔记. 很多人都说, AI并不难啊, 调现有库和云的API就可以啦. 然而实际上并不是这样的. 首先, AI这个领域十分十分大, 而且从1950年图灵提出图灵测试, 1956年达特茅斯会议开始, AI已经发展了五十多年了, 学术界有的认为有六个时期, 有的认为有三起二落. 所以Ai发展到今天, 已经有相当的规模了, 不可能有一个人熟悉AI的所有领域, 最多也就是熟悉相关联的几个领域, 比如NLP和OCR以及知识图谱相

自然语言处理(NLP) - 数学基础(1) - 排列组合

正如我在<自然语言处理(NLP) - 数学基础(1) - 总述>一文中所提到的NLP所关联的概率论(Probability Theory)知识点是如此的多, 饭只能一口一口地吃了, 我们先开始最为大家熟知和最基础的知识点吧, 排列组合. 虽然排列组合这个知识点大家是相当地熟知, 也是相当地基础, 但是却是十分十分十分地重要. NLP届掌门人斯坦福大学的Daniel Jurafsky(D. 朱夫斯凯)和科罗拉多大学James H. Martin(J. H. 马丁)在其NLP巨作<自然语言处

Java自然语言处理NLP工具包

自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包.LingPipe目前已有很丰富的功能,包括主题分类(Top Classification).命名实体识别(Named Entity Recognition).词性标注(Part-of Speech Tagging).句题检测(Sentence Detection).查询拼写检查(Query Spell Checking).兴趣短语检测(Interseting Phrase Dete

智能语音助手的工作原理是?先了解自然语言处理(NLP)与自然语言生成(NLG)

语音助手越来越像人类了,与人类之间的交流不再是简单的你问我答,不少语音助手甚至能和人类进行深度交谈.在交流的背后,离不开自然语言处理(NLP)和自然语言生成(NLG)这两种基础技术.机器学习的这两个分支使得语音助手能够将人类语言转换为计算机命令,反之亦然. 这两种技术有什么差异?工作原理是什么?NLP vs NLG:了解基本差异 什么是NLP?NLP指在计算机读取语言时将文本转换为结构化数据的过程.简而言之,NLP是计算机的阅读语言.可以粗略地说,在NLP中,系统摄取人语,将其分解,分析,确定适

自然语言处理(nlp)比计算机视觉(cv)发展缓慢,而且更难!

https://mp.weixin.qq.com/s/kWw0xce4kdCx62AflY6AzQ 1.  抢跑的nlp nlp发展的历史非常早,因为人从计算机发明开始,就有对语言处理的需求.各种字符串算法都贯穿于计算机的发展历史中.伟大的乔姆斯基提出了生成文法,人类拥有的处理语言的最基本框架,自动机(正则表达式),随机上下文无关分析树,字符串匹配算法KMP,动态规划. nlp任务里如文本分类,成熟的非常早,如垃圾邮件分类等,用朴素贝叶斯就能有不错的效果.20年前通过纯统计和规则都可以做机器翻译

自然语言处理NLP(二)

词性标注 标注语料库: 各词性标注及其含义 自动标注器: 默认标注器: 正则表达式标注器: 查询标注器: N-gram标注器: 一元标注器: 分离训练和测试数据: 一般的N-gram的标注: 组合标注器: 标注生词: 储存标注器: 性能限制: 跨句子边界标注: 隐马尔科夫标注器: 生成模式: 确定模式: 非确定模式: 隐藏模式: 隐马尔科夫模型HMM 是一种统计模型,用于描述一个含有隐含未知参数的马尔科夫过程,难点在于从可观察的参数中确定此过程的隐含参数,然后利用这些参数进行下一步的分析,可当做