NLP

  • 自然语言:指一种随着社会发展而自然演化的语言,即人们日常交流所使用的语言;

  • 自然语言处理:通过技术手段,使用计算机对自然语言进行各种操作的一个学科;

NLP研究的内容

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

NLP处理

  • 语料读入

    • 网络
    • 本地
  • 分词
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018-9-28 22:21
# @Author  : Manu
# @Site    :
# @File    : python_base.py
# @Software: PyCharmimport 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()
    • 并行分词;
    • 词汇搜索;

转载于:https://blog.51cto.com/13473568/2289534

自然语言处理NLP(一)相关推荐

  1. 【组队学习】【29期】9. 基于transformers的自然语言处理(NLP)入门

    9. 基于transformers的自然语言处理(NLP)入门 航路开辟者:多多.erenup.张帆.张贤.李泺秋.蔡杰.hlzhang 领航员:张红旭.袁一涵 航海士:多多.张红旭.袁一涵.童鸣 基 ...

  2. 【组队学习】【28期】基于transformers的自然语言处理(NLP)入门

    基于transformers的自然语言处理(NLP)入门 论坛版块: http://datawhale.club/c/team-learning/39-category/39 开源内容: https: ...

  3. 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)

    几乎所有的NLP都依赖一个强大的语料库,本项目实现NER的语料库如下(文件名为train.txt,一共42000行,这里只展示前15行,可以在文章最后的Github地址下载该语料库): played ...

  4. 自然语言处理(NLP)之使用TF-IDF模型计算文本相似度

    自然语言处理(NLP)之使用TF-IDF模型计算文本相似度 所用数据集:ChnSentiCorp_htl_all.csv 语料库即存放稀疏向量的列表. 要注意的是,搜索文本text与被检索的文档共用一 ...

  5. 自然语言处理(NLP)之gensim中的TF-IDF的计算方法

    自然语言处理(NLP)之gensim中的TF-IDF的计算方法 step 1.  去掉所有文本中都会出现的词 texts = [['这是', '一个', '文本'], ['这是', '第二个', '文 ...

  6. 自然语言处理NLP之语义相似度、语言模型、doc2vec

    自然语言处理NLP之语义相似度.语言模型.doc2vec 目录 自然语言处理NLP之语义相似度.语言模型.doc2vec 语义相似度

  7. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质

    自然语言处理NLP之BERT.BERT是什么.智能问答.阅读理解.分词.词性标注.数据增强.文本分类.BERT的知识表示本质 目录

  8. 自然语言处理NLP之文本蕴涵、智能问答、语音识别、对话系统、文本分类、情感计算

    自然语言处理NLP之文本蕴涵.智能问答.语音识别.对话系统.文本分类.情感计算 目录

  9. 自然语言处理NLP之文本摘要、机器翻译、OCR、信息检索、信息抽取、校对纠错

    自然语言处理NLP之文本摘要.机器翻译.OCR.信息检索.信息抽取.校对纠错 目录

  10. 自然语言处理NLP之自然语言生成、文本相似性、看图说话、说话生图、语音合成、自然语言可视化

    自然语言处理NLP之自然语言生成.文本相似性.看图说话.说话生图.语音合成.自然语言可视化 目录

最新文章

  1. dispatcherservlet发送2次请求_[Java] SpringMVC工作原理之一:DispatcherServlet
  2. 解决ie7不支持after、before的方法
  3. 关于游戏烂代码的那些事(下)
  4. Foursquare引爆了什么
  5. html placehonlder属性,HTML input placeholder 属性
  6. 【Kafka】Kafka The valid options based on currently configured listeners are PLAINTEXT,SSL
  7. android texturevideoview 缓存,Android TextureView与VideoView性能
  8. 深入出不来nodejs源码-内置模块引入初探
  9. PTA--03-树2 List Leaves
  10. H5使用OCR身份证识别
  11. gitlab 远程仓库回退到指定版本
  12. 2018 IEEE International Conference on Cyborg and Bionic Systems (CBS)国际会议的组织和参入感悟
  13. Latex beamer制作ppt
  14. 深度学习在OCR中的应用
  15. 基于深度学习的图像识别进展:百度的若干实践
  16. Python 程序员需要知道的 30 个技巧(转载)
  17. java循环引用 垃圾回收,深入解析Java垃圾回收机制
  18. CASAIM和工信部第五研究所(中国赛宝实验室)合作开展三维测量技术在产品可靠性研究的精确尺寸检测应用和建模仿真试验
  19. Android excludeFromRecents属性 隐藏任务栏中的APP
  20. 计算机网络基础(2)

热门文章

  1. 哄女孩开心的搞笑短信
  2. 基于Kubernetes/K8S构建Jenkins持续集成平台(一)
  3. 6000端口有毒,谷歌浏览器访问不到
  4. 视频监控系统中的字符叠加设计
  5. css3 keyframes 取消动画,为什么我的CSS3动画使用@keyframes在每个百分比范围内停止几毫秒?...
  6. 欧拉通路、欧拉回路、欧拉图和半欧拉图以及 Hierholzer 算法
  7. 分享下去年底写的mysql分库分表中间件heisenberg
  8. 再见 RPM/DEB/TAR!下一代全平台安装程序来了!
  9. 触控的手牌—Cocos Creator
  10. linux修改程序依赖lib,修改so库中的依赖名