HMM在自然语言处理中的应用一:词性标注1

  词性标注(Part-of-Speech tagging 或 POS tagging)是指对于句子中的每个词都指派一个合适的词性,也就是要确定每个词是名词、动词、形容词或其他词性的过程,又称词类标注或者简称标注。词性标注是自然语言处理中的一项基础任务,在语音识别、信息检索及自然语言处理的许多领域都发挥着重要的作用。因此,在关于自然语言处理的书籍中,都会将词性标注单列一章重点讲解,对此有兴趣的读者可参考《自然语言处理综论》第一版第8章或《统计自然语言处理基础》第10章,本文部分内容也参考自这两本自然语言处理的经典书籍。
  我们以Brown语料库中的句子为例,词性标注的任务指的是,对于输入句子:
 The Fulton County Grand Jury said Friday an investigation of Atlanta’s recent primary election produced “ no evidence ” that any irregularities took place .
  需要为句子中的每个单词标上一个合适的词性标记,既输出含有词性标记句子:
 The/at-tl Fulton/np-tl County/nn-tl Grand/jj-tl Jury/nn-tl said/vbd Friday/nr an/at investigation/nn of/in Atlanta’s/np$ recent/jj primary/jj election/nn produced/vbn “/“ no/at evidence/nn ”/” that/cs any/dti irregularities/nns took/vbd place/nn ./.
  在进行词性标注时,前提条件之一便是选择什么样的标记集?Brown语料库标记集有87个,而英语中其他标记集多数是从Brown语料库中的标记集发展而来的,如最常用的Penn Treebank标记集,包含45个标记,是小标记集。汉语标记集中常用的有北大《人民日报》语料库词性标记集、计算所汉语词性标记集等。
  关于Brwon语料库标记集的详细信息可参考:    
   http://www.comp.leeds.ac.uk/amalgam/tagsets/brown.html
  关于计算所汉语词性标记集的详细信息可参考:
   http://www.ictclas.org/ictclas_docs_003.html
  在确定使用某个标记集之后,下一步便是如何进行词性标注了!如果每个单词仅仅对应一个词性标记,那么词性标注就非常容易了。但是语言本身的复杂性导致了并非每一个单词只有一个词性标记,而存在一部分单词有多个词性标记可以选择,如book这个单词,既可以是动词(book that flight),也可以是名词(hand me that book),因此,词性标注的关键问题就是消解这样的歧义,也就是对于句子中的每一个单词在一定的上下文中选择恰如其分的标记。
  关于词性标注歧义问题,对Brown语料库进行统计,按歧义程度排列的词型数目(The number of word types in Brown corpus by degree of ambiguity)DeRose(1988)给出了如下的标记歧义表:
  无歧义(Unambiguous)只有1个标记: 35,340
    歧义(Ambiguous) 有2-7个标记: 4,100
                2个标记:3,764
                3个标记:264
                4个标记:61
                5个标记:12
                6个标记:2
                7个标记:1
  可见英语中的大多数单词都是没有歧义的,也就是这些单词只有一个单独的标记。但是,英语中的最常用单词很多都是有歧义的,因此,任何一个词性标注算法的关键归根结底还是如何解决词性标注中的歧义消解问题。
  大多数的标注算法可以归纳为三类:一类是基于规则的标注算法(rule-based tagger),一类是随机标注算法(stochastic tagger),最后一类是混合型的标注算法。基于规则的标注算法一般都包括一个手工制作的歧义消解规则库;随机标注算法一般会使用一个训练语料库来计算在给定的上下文中某一给定单词具有某一给定标记的概率,如基于HMM的标注算法;而混合型标注算法具有上述两种算法的特点,如TBL标注算法。
  关于词性标注的基本问题本节就到此为止了,也算是一点准备工作,下一节我们将进入与HMM相关的词性标注问题的正题!

未完待续:词性标注2

注:原创文章,转载请注明出处“我爱自然语言处理”:www.52nlp.cn

本文链接地址:http://www.52nlp.cn/hmm-application-in-natural-language-processing-one-part-of-speech-tagging-1

此条目发表在标注, 自然语言处理, 隐马尔科夫模型分类目录,贴了, , , , , , , , 标签。将固定链接加入收藏夹。

HMM在自然语言处理中的应用一:词性标注1》有 4 条评论

  1. Pingback引用通告: Thought this was cool: Itenyh版-用HMM做中文分词三:前向算法和Viterbi算法的开销 « CWYAlpha

  2. yky说:

    这里我还有一个小疑问请教。
    “而每个状态(标记)随对应的符号(单词)的发射概率可由下式求出:
    P(Wm|Tj) = C(Wm,Tj)/C(Tj)”

    在HMM中是状态决定输出。所以在这个模型中,是词性决定单词。
    这个理解起来有点别扭。反过来单词决定词性是不是更自然一点?
    而且P(Tj|Wm)的话可以用上《词性标注1》中的单词歧义先验概率。

    或者是不是把“状态决定输出”的“决定”单纯理解为相关性,而没有
    因果性?这样P(Wm|Tj)和P(Tj|Wm)就是一回事了。但是如果这样的话,
    MEMM与HMM又有什么区别呢?

    [回复]

  3. 忍者罗曼蒂说:

    我有一个问题想请教,语音识别的过程中词性标注是如何实现的?是语音转换成汉字以后在进行标注还是利用词序位置来标注词性的呢?如果利用词序位置标注词性会不会反过来帮助计算机将音转换成字呢?

    [回复]

    52nlp 回复:

    抱歉,没有这方面的经验

    [回复]

发表评论

电子邮件地址不会被公开。 必填项已用*标注