[Day6] 词性标注(一)-前言

一. 前言

词性标注 Part Of Speech(後面皆简称POS),简单来说就是将文章、句子中,文字的词类标注出来,如下图,每个词在一个句子中都有对应的词性,图片来自於[1]:

词性在文本当中是很重要的一个特徵,例如若是要从一大群与料库中找出与手机相关的产品特徵,通常可以先将目标放在名词上,再经过一些演算法取得产品特徵,在这个例子中,POS就非常重要。

目前POS Tagging 几种常见的方法:

  • Rule-Based:自订 rules 来标记单词,如看到 ed、i,或是看到'看'、'打'就标注 verb。
  • Probabilistic:使用条件机率的原理,预测单词词性,常见如 CRF、HMM,此方法也是深度学习出来前,最常见且效果最好的标注方式。
  • Deep Learning:使用深度学习模型预测标注词性,例如使用LSTM, BERT等方法进行多对多的训练,这里有很多相关的资讯可以参考[2]。

但如果单纯用Rule-Based的方法的话会无法处理多词性的问题,毕竟都把词性写死了,我们必须要考虑前後单词与整句话,再来决定这个词性应该要是什麽才对。在目前在Pos任务中,Probabilistic 是最常见且效果相当好的一种方式,其中又以隐马可夫模型(HMM)的方式最为常见。

较为经典的POS的算法是利用隐马可夫模型(HMM)+维特比演算法来找出每个词对应的词性的,接下来会介绍马可夫模型(MM)、隐马可夫模型(HMM)与维特比演算法,最後利用python来实作POS的任务。

参考资讯
[1] Categorizing and POS Tagging with NLTK Python
[2] part-of-speech_tagging


<<:  [Day6] Flutter - 置中容器 ( Center )

>>:  每个人都该学的30个Python技巧|技巧 6:各种运算子(下)(字幕、衬乐、练习)

Day 03 「要开始罗!」单元测试的起手式:人生第一个单元测试

终於要开始了:「说到底,单元测试怎麽做?」 单元测试 单元测试要测的是一个逻辑单元功能是否正确。这短...

学习Python纪录Day8 - if回圈、建立函数的方法

if 用法 if 条件句: 程序码区块 if/else if 条件句: 程序码区块 if/elif/...

Day16 Laravel - migrate

Docker及Laravel为以後每个专案都会用到的搭配,所以这种时候就将它做成一个类似模板的环境并...

浅谈无状态这件事 Stateless

无状态stateless指的是web客户端在发送请求时,到底需不需要一直带着验证资讯,或者是所谓的上...

完全理解React的completeWork以及错误边界

点击进入React源码调试仓库。 概述 每个fiber节点在更新时都会经历两个阶段:beginWor...