前言:
笔记写的太详细就像在抄书了。准备简洁一点同时把作业源码陆续传到Github里(不过电脑是windows的,git在命令行里写总是很奇怪,这个工程不知道要拖到什么时候了)
另:
最近在学习使用Jekyll搭建个人blog。估计又要好久才完成了。看情况吧。先把这本书的笔记总结完
词性标注
nltk中的方法
nltk.pos_tag(nltk.word_tokenize(string))
NLTK 中有已标注词性的语料库
一般使用dict类型进行词性存储
自动标注
- 用最可能标记标注每个词(用已知标注语料库的频率)
- 正则表达式列表标注
根据结尾和一般规律猜测
patterns = [(r'.*ing$', 'VBG'), (r'.*ed$', 'VBD')……]
regexp_tagger = nltk.RegexpTagger(patterns)
regexp_tagger.tag(string)
- 查询标注器(accuracy rate最高)
找出频繁词记录最有可能的标记(nltk.UnigramTagger)
N_gram标注
1-gram类似于查询标注器
n-gram添加上下文,包含当前词和前面n-1个标识符的词性标记
标注生词
chap6 学习分类文本
一般使用最频繁的词链表(show_most_informative_features())
进而添加上下文特征
训练模型等很基础
难点在于特征的选取
chap7 从文本提取信息
分块——标记词序列——探索文本语料库——
主要做实体命名识别