Python自然语言处理笔记(十一)------N-gram标注

一. 一元标注器

一元标注器利用一种简单的统计算法,对每个标识符分配最有可能的标记。

 

建立一元标注器的技术称为训练。

1.训练

例:"训练"一个一元标注器,用它来标注一个句子,然后进行评估。

 注:通过在初始化标注器时指定已标注的句子数据作为参数来训练一元标注器。训练过程中涉及检查每个词的标记,将所有词最有可能的标记存储在一个字典里面,这个字典存储在标注器内部。

2.分离训练和测试数据

我们现在可以用一些数据来训练标注器,但注意不要在相同的数据上测试,这样的的话在标注新文本时不起作用。所以我们应该分割数据,90%为训练数据,其余10%为测试数据。

 3. 一般的N-gram的标注

n-gram标注器的上下文是当前词和它前面n-1个标识符的词性标记。n-gram标注器将挑选给定上下文中最有可能的标记。

NgramTagger类使用一个已标注的训练语料库来确定每个上下文中哪个词性标注最有可能。

n-gram标注器的一个特殊情况:bigram标注器

例:

 

 注:bigram标注器能够标注训练中它看到过的句子中的所有词,但对一个没见过的句子却不行。只要遇到一个新词酒如法给它分配标记。即使是在训练过程中看到过的,由于在训练过程中从来没有见过它前面有None标记的词,所以标注器也无法标注句子的其余部分。它的整体准确度得分非常低。

4. 组合标注器

  • 尝试使用bigram标注器标注标识符。
  • 如果bigram标注器无法找到标记,尝试unigram标注器。
  • 如果unigram标注器也无法找到标记,尝试使用默认标注器。

注:大多数NLTK标注器允许指定回退标注器,回退标注器自身可能也有回退标注器。在标注器初始化时要指定回退标注器,从而训练时才能利用回退标注器。

例:

5. 标注生词

标注生词的方法是回退到正则表达式标注器或默认标注器,这些都无法利用上下文。

基于上下文标注生词的方法是限制标注器的词汇表为最频繁的n个词,替代其他每个词为特殊的UNK。

6. 存储标注器

原因:在大语料库中训练标注器可能需要花费大量的时间,没有必要重复训练标注器。

解决方法:可将一个训练好的标注器保存到文件为以后重复使用。

7. 性能限制

调查标注器刑法的方法:根据经验或者研究它的错误。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值