Press "Enter" to skip to content

探索自然语言处理——启动自然语言处理(第4步)

如果你对我的“探索自然语言处理”系列还不熟悉,请在这里查看我的介绍性文章。

探索和掌握自然语言处理 — 一次深入之旅

你好,我是Deepthi Sudharsan,一名就读于人工智能专业的大三本科生。鉴于我已经……

VoAGI.com

欢迎回来!现在继续这个系列,我将分享一些关于(主要是)词性标注的笔记。我特别感谢阿姆里塔考伯托尔CEN的Sachin Kumar S先生,在本学期为我开设这门课程以及从他提供或创建的资源和材料中汇总的一些信息和图片。

词性标注(POS标注):

这是句法分析的最低级别任务。它的任务是为单词分配词性标签。

探索自然语言处理——启动自然语言处理(第4步) 四海 第1张

这种序列标注任务在基因组分析中也可以看到,用于标记基因序列。

探索自然语言处理——启动自然语言处理(第4步) 四海 第2张

给定一个句子,比如,“它看起来像巧克力”,其中的词性标签如下:

探索自然语言处理——启动自然语言处理(第4步) 四海 第3张

PRP表示人称代词,VB表示动词,IN表示介词或从属连词,N表示名词,等等。

开放类和封闭类:

开放类是经常添加新单词的类别。例如:名词、动词等。而封闭类则有一组预定义的词汇,属于这些类别的词汇在类别中不断使用,比如冠词。

在词性标注任务中,存在一个歧义问题,因为单词通常有多个可能的词性标签。例如,“like”可以同时被标记为介词和动词。

标签类型可以分为粗粒度和细粒度两种。

  1. 粗粒度标签类型包括名词、动词、形容词等。

2. 细粒度标签类型包括名词-专有-单数、动词-过去式、形容词-简单等。

寻找词性标签的方法:

  1. 逐点预测 — 使用分类器逐个预测每个标记的标签
  2. 生成式序列模型 – 使用隐马尔可夫模型(HMM)
  3. 判别式序列模型 – 条件随机场(CRF)、结构化预测等

用于词性标注的HMM模型:

可观察状态 – 给定的词序列/句子中的单词

隐藏/未观察状态 – 词性标签

为了计算与特定标签序列相关的概率,在HMM中使用了转移概率和发射概率。

探索自然语言处理——启动自然语言处理(第4步) 四海 第4张

  1. 转移是从一个隐藏状态到另一个隐藏状态的过程,或者隐藏状态之间有一个从一个状态到下一个隐藏状态的转移。在从一个状态转移到另一个状态时,存在一定的概率,这被称为转移概率。
  2. 发射对应于从隐藏状态生成一个标记。给定一个隐藏状态生成一个标记的概率。

探索自然语言处理——启动自然语言处理(第4步) 四海 第5张

HMM中的假设:

探索自然语言处理——启动自然语言处理(第4步) 四海 第6张

暴力破解:

让我们用随机的POS标签标注句子,比如说,“It/PRP looks/N like/PRP chocolate/VB”。现在让我们计算这个序列的概率。

探索自然语言处理——启动自然语言处理(第4步) 四海 第7张

让我们用正确的POS标签标注句子,比如说,“It/PRP looks/VB like/IN chocolate/N”。现在让我们计算这个序列的概率。

探索自然语言处理——启动自然语言处理(第4步) 四海 第8张

维特比算法:

维特比算法是一种动态规划方法,用于找到最可能的标签序列或隐藏状态。它是一种优化HMM以找到最可能的隐藏状态的方法。

在给定的句子“It looks like Chocolate”中,单词like有两个POS标签,VB和IN。概率最低的路径被移除,反向传播给出了路径或序列。

在这个例子中,序列<S> PRP VB VB N <E>的概率为0。

探索自然语言处理——启动自然语言处理(第4步) 四海 第9张

这是我为维特比算法编写的代码片段。将很快在这里发布代码。

参考文献:

  1. https://universaldependencies.org/docsv1/en/pos/all.html#al-en-pos/ADJ
  2. https://universaldependencies.org/u/pos/
  3. https://youtu.be/IqXdjdOgXPM
  4. https://www.freecodecamp.org/news/an-introduction-to-part-of-speech-tagging-and-the-hidden-markov-model-953d45338f24/
  5. https://www.mygreatlearning.com/blog/pos-tagging/
  6. Speech and Language, Jurafsky

此系列的先前部分:

第1部分:https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-1-e4ad0029694f

第2部分:https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-2-157a6c0b308b

第3部分:https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-3-e6ea6963679d

Leave a Reply

Your email address will not be published. Required fields are marked *