想要了解更多 NLP 相关的内容,请访问 NLP专题 ,免费提供59页的NLP文档下载。

访问 NLP 专题,下载 59 页免费 PDF

什么是词性标注?

维基百科上对词性的定义为:In traditional grammar, a part of speech (abbreviated form: PoS or POS) is a category of words (or, more generally, of lexical items) which have similar grammatical properties.

词性指以词的特点作为划分词类的根据。词类是一个语言学术语,是一种语言中词的语法分类,是以语法特征(包括句法功能和形态变化)为主要依据、兼顾词汇意义对词进行划分的结果。

从组合和聚合关系来说,一个词类是指:在一个语言中,众多具有相同句法功能、能在同样的组合位置中出现的词,聚合在一起形成的范畴。词类是最普遍的语法的聚合。词类划分具有层次性。如汉语中,词可以分成实词和虚词,实词中又包括体词、谓词等,体词中又可以分出名词和代词等。

词性标注就是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程,这也是自然语言处理中一项非常重要的基础性工作,所有对于词性标注的研究已经有较长的时间,在研究者长期的研究总结中,发现汉语词性标注中面临了许多棘手的问题。

中文词性标注的难点

汉语是一种缺乏词形态变化的语言,词的类别不能像印欧语那样,直接从词的形态变化上来判别。

常用词兼类现象严重。《现代汉语八百词》收取的常用词中,兼类词所占的比例高达22.5%,而且发现越是常用的词,不同的用法越多。由于兼类使用程度高,兼类现象涉及汉语中大部分词类,因而造成在汉语文本中词类歧义排除的任务量巨大。

研究者主观原因造成的困难。语言学界在词性划分的目的、标准等问题上还存在分歧。目前还没有一个统的被广泛认可汉语词类划分标准,词类划分的粒度和标记符号都不统一。词类划分标准和标记符号集的差异,以及分词规范的含混性,给中文信息处理带来了极大的困难。

词性标注4种常见方法

关于词性标注的研究比较多,这里介绍一波常见的几类方法,包括基于规则的词性标注方法、基于统计模型的词性标注方法、基于统计方法与规则方法相结合的词性标注方法、基于深度学习的词性标注方法等。

基于规则的词性标注方法

基于规则的词性标注方法是人们提出较早的一种词性标注方法,其基本思想是按兼类词搭配关系和上下文语境建造词类消歧规则。早期的词类标注规则一般由人工构建。

随着标注语料库规模的增大,可利用的资源也变得越来越多,这时候以人工提取规则的方法显然变得不现实,于是乎,人们提出了基于机器学习的规则自动提出方法。

基于统计模型的词性标注方法

统计方法将词性标注看作是一个序列标注问题。其基本思想是:给定带有各自标注的词的序列,我们可以确定下一个词最可能的词性。

现在已经有隐马尔可夫模型(HMM)、条件随机域(CRF)等统计模型了,这些模型可以使用有标记数据的大型语料库进行训练,而有标记的数据则是指其中每一个词都分配了正确的词性标注的文本。

基于统计方法与规则方法相结合的词性标注方法

理性主义方法与经验主义相结合的处理策略一直是自然语言处理领域的专家们不断研究和探索的问题,对于词性标注问题当然也不例外。

这类方法的主要特点在于对统计标注结果的筛选,只对那些被认为可疑的标注结果,才采用规则方法进行歧义消解,而不是对所有情况都既使用统计方法又使用规则方法。

基于深度学习的词性标注方法

可以当作序列标注的任务来做,目前深度学习解决序列标注任务常用方法包括LSTM+CRF、BiLSTM+CRF等。

值得一提的是,这一类方法近年来文章非常多,想深入了解这一块的朋友们可以看这里:NLP-progress – GitHub

最后再放一个词性标注任务数据集 – 人民日报1998词性标注数据集

词性标注工具推荐

Jieba

“结巴”中文分词:做最好的 Python 中文分词组件,可以进行词性标注。

Github地址

SnowNLP

SnowNLP是一个python写的类库,可以方便的处理中文文本内容。

Github地址

THULAC

THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。

Github地址

StanfordCoreNLP

斯坦福NLP组的开源,支持python接口。

Github地址

HanLP

HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。

Github地址

NLTK

NLTK是一个高效的Python构建的平台,用来处理人类自然语言数据。

Github地址

SpaCy

工业级的自然语言处理工具,遗憾的是不支持中文。

python自然语言处理.词性标注相关推荐

  1. Python自然语言处理工具

    Python 自然语言处理(NLP)工具汇总 NLTK 简介: NLTK 在使用 Python 处理自然语言的工具中处于领先的地位.它提供了 WordNet 这种方便处理词汇资源的接口,以及分类.分词 ...

  2. python自然语言处理书籍推荐-自然语言处理有哪些好的入门书籍推荐?入门首先应该有哪些实践?...

    自然语言处理入门书籍推荐: /><数学之美(第二版)> 由原谷歌自然语言处理专家吴军博士将原谷歌黑板报内容重新编辑整理而成,让非专业人士也能了解到算法与常见应用的背后数学原理. 介绍 ...

  3. python自然语言处理书籍推荐-python自然语言处理

    自然语言处理理论书籍很多,讲实际操作的不多,能讲的这么系统的更少.Python语言在做NLP方面有较明显的优势.之前国外有<Natural Language Process with Pytho ...

  4. 【Python 自然语言处理 第二版】读书笔记1:语言处理与Python

    文章目录 前言 语言处理与Python 一.语言计算:文本和单词 1.NLTK入门 (1)安装(nltk.nltk.book) (2)搜索文本 (3)词汇计数 2.列表与字符串 (1)列表操作 (2) ...

  5. python自然语言处理库_Python自然语言处理工具库(含中文处理)

    自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术.随着深度学习在图像识别.语音识别领域的大放异彩,人们对深度学习在 NLP 的价 ...

  6. python自然语言处理书籍_精通Python自然语言处理pdf

    自然语言处理(NLP)是有关计算语言学与人工智能的研究领域之一.NLP主要关注人机交互,它提供了计算机和人类之间的无缝交互,使得计算机在机器学习的帮助下理解人类语言. 本书详细介绍如何使用Python ...

  7. python自然语言处理库_Python 自然语言处理(NLP)工具库汇总

    最近正在用nltk 对中文网络商品评论进行褒贬情感分类,计算评论的信息熵(entropy).互信息(point mutual information)和困惑值(perplexity)等(不过这些概念我 ...

  8. python中文版免费下载-PYTHON自然语言处理(中文最新完整版)pdf下载

    内容简介 自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向.它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方 ...

  9. 【Python自然语言处理】读书笔记:第五章:分类和标注词汇

    jupyter 版请见我的github:https://github.com/JackKuo666/Python_nlp_notes [Python自然语言处理]读书笔记:第五章:分类和标注词汇 本章 ...

最新文章

  1. C#未来新特性:静态委托和函数指针
  2. Gradify - 提取图片颜色,创建响应式的 CSS渐变
  3. malloc 就是返回开辟内存空间的首地址
  4. 内存溢出_JVM|03内存溢出实战
  5. 【转】 Android 屏幕切换总结
  6. 抢鲜体验.NET6 Preview1,配上Docker简直停不下来!
  7. shell mysql eof_shell EOF
  8. idea没有代码自动提示功能和包自动引入不了问题
  9. 你是否适合当一个Java程序员?一文看清
  10. mysql 导入sql文件的一点问题
  11. 老韩思考:一个卖豆腐的能转行IT吗? 你的卖点在哪里?
  12. postman安装html插件安装,Postman 安装与更新
  13. LDO芯片数据手册怎么看?
  14. 乐理知识以及musicXml属性介绍
  15. 给工具栏按钮添加图标和文字
  16. linux的批处理文件怎么写,Linux下批处理文件编写
  17. C语言递归之苹果分盘问题
  18. GMap常用属性(方法)简介
  19. VLAN Aggregation(VLAN 聚合,也称Super VLAN)
  20. 史上最全PPT制作教程和PPT模板,毕业论文答辩PPT制作方法

热门文章

  1. 【 MATLAB 】Matlab 帮助文档需要登录问题如何解决?
  2. 关于被代理的bean的注入的问题
  3. 一些实用的 jQuery 技巧
  4. PolarSSL 1.2.0 发布,SSL 加密库
  5. javascript笔记:深入分析javascript里对象的创建(上)续篇
  6. 轻松恢复误删除的共享文件,DPM2007系列之六
  7. SQL分割字符串,SQL按照指定字符分割字符串,SQL处理字符串...
  8. java web中炸包,Javaweb出来炸到---HTML
  9. 机器学习-Andrew Ng课程笔记
  10. 从头开始学习深度学习之卷积