Day 1 2019.3.19
相关资料信息收集
Day 2 2019.3.20
看《Python自然语言处理》
跑NLTK官网http://www.nltk.org/#natural-language-toolkit上的示例
更新下载NLTK包【1】
Day 3 2019.3.23
购买《Python和NLTK自然语言处理》
跑完了NLTK官网http://www.nltk.org/#natural-language-toolkit上的示例
基本下载完NLTK包
开始看《Python自然语言处理》第1章
Day 4 2019.3.24
完成NLTK包下载(使用管理员模式运行cmd)
《Python自然语言处理》切换为看英文版《Natural Language Processing with Python》继续Chapter 1 P19
Day 5 2019.3.25
Python读取Unicode格式中文文本
需要将txt文件另存为UTF-8格式才能正常读取【2】【3】
可以使用程序进行批量的格式转换【4】
似乎还存在其他方式比如以二进制格式读取【5】【6】【7】
Day 6 2019.3.31
尝试基于【7】实现Python批量读取Unicode格式中文文本
发生错误如下,考虑可能是python语言版本,类型转换方面的问题,下一步尝试解决这个问题
TypeError: 'filter' object is not subscriptable
Day 7 2019.4.1
试了半天,遇到若干可能是由于python2切换到python3而产生的移植问题,然而突然在stackoverflow上发现,其实在windows下,使用python3的话,只要使用“utf-16"格式打开就好了【8】
Day 8 2019.4.4
查看新发训练集,阅读相关中文文本抽取的博客
读到信息抽取与信息检索存在某种互补关系,了解命名实体(Named Entity)、实体关系(Entity Relation)、模板(Template)、场景(Scenario)、主题领域(Subject Domain)、场景模板(Scenario Template)、抽取模式(Extraction Pattern)、事件表述语句(Event Mention Sentence)、事件要素(Event Argument)等相关术语概念,文章介绍了“基于触发词探测的事件信息抽取方法:(1)探测特定的事件表述语句并确定事件的类别(2)从事件表述语句中识别事件要素及语义角色并填充到预定义的事件模板,文章推荐利用最大熵原理建立统计语言模型来确定候选事件语句的事件类别,对简单的事件表述语句,可能可以使用隐马尔可夫模型(HMM)进行事件信息抽取【9】,文章提到了使用条件随机场(CRF)对半结构化文本进行信息抽取【10】
Day 9 2019.4.14
阅读了一篇关于自动获取事件抽取模式的博客,博客指出传统的信息抽取系统大多是基于模式匹配的,而自动获取抽取模式的研究分为五类:手工创建抽取模式、基于人工语料标注进行抽取模式学习、基于人工语料分类进行抽取模式学习、基于WordNet/HowNet和语料标注进行抽取模式学习、基于种子模式和子扩展获取抽取模式;其中基于自扩展策略的中文文本抽取模式自动获取的进行步骤如下:(文档预处理阶段)句子切分/分成单句—》分词和词性标注(使用ICTCLAS汉语分词系统)—》中文NER(可能需要自定义时间表达式)—》浅层句法分析(如识别名词/动词短语)——(文档划分阶段)将输入的文档集依据现有的抽取模式集进行划分,根据和场景的相关性大小划分为场景相关/不相关文档集——(产生候选模式阶段)基于抽取模式中动词同义的扩展(可利用同义词词林和Word2Vec)、主动语态和被动语态之间的相互扩展、相同语义项从相关文档集中的扩展;博客还介绍了基于抽取模式的中文文本事件抽取,其模式匹配的过程分为两步:概念语义类搜索和事件模式匹配,其中事件模式匹配的过程如下:在对候选语句进行了分词、词性标注和场景相关类型的NER后,首先对候选语句过滤修饰性词语和中文停用词,接着生成候选语句的特征向量Ts,最后将当前模式对应的向量Tp和候选语句生成的向量Ts利用传统余弦公式计算相似度,当相似度达到阈值时,就认为该候选语句与当前模式匹配,是一个特定类型事件的表述语句,随后就可以通过一些处理将该候选语句中的信息填入事件模板中的槽位,完成信息抽取【11】
Day 10 2019.4.22
阅读了一篇基于触发词进行特定类型事件探测于分类的博客,文章中引用了一项研究表明汉语核心词最近距离[-8,+9]位置之间的上下文范围能够包含85%以上的信息【12】另一篇博客给出了一个具体的例子展示了将一个句子的各要素填充到事件模板的槽位中【13】
Day 11 2019.5.22
python遍历目录文件读取【18】
正则表达式属性抽取,可在相关网站上在线调试正则表达式公式【19】【20】
学习使用jupyter【21】
Day12 2019.5.27
python使用多个字符分割字符串,将一份保险文件分割为多个句子,并过滤掉肯定无用的句子【22】
Day13 2019.5.28
python集合set用法,用于去重重复字段【23】
使用正则表达式提取出年龄槽位【24】
Day14 2019.6.11
1、学习函数指针【25】将各属性抽取函数分开,共同的预处理部分共用一个函数
2、采用字典抽取疾病名称集合统计数量
Plan
1、读并尝试复现以下博客,搜集更多博客/论文
https://blog.csdn.net/hqc888688/article/details/73558824
2、学习HMM
3、学习CRF
4、学习WordNet
5、学习HowNet https://baijiahao.baidu.com/s?id=1589101011119223742&wfr=spider&for=pc
6、学习汉语分词系统ICTCLAS http://ictclas.nlpir.org/
7、学习Word2Vec https://www.jianshu.com/p/471d9bfbd72f
8、余弦公式计算语义相似度 可参考《数学之美》第14章
9、学习spaCy
阅读【17】
学习CRF
学习WordNet
阅读【15】【16】
学习HMM
学习HowNet https://baijiahao.baidu.com/s?id=1589101011119223742&wfr=spider&for=pc
阅读【14】
余弦公式计算语义相似度 可参考《数学之美》第14章
学习汉语分词系统ICTCLAS http://ictclas.nlpir.org/
搜集&实验中文自然语言处理框架
DDL 2019.6.13
参考资料
【1】在使用nltk的时候,出现类似:Resource punkt not found的时候解决方法
https://blog.csdn.net/qq_31747765/article/details/80307450
【2】Python | 多种编码文件(中文)乱码问题解决
https://jingyan.baidu.com/article/425e69e6e111a1be15fc1609.html
【3】Python3 读取中文文件txt编码问题
https://blog.csdn.net/chenqiurui1994/article/details/83719991
【4】Python使用三种方法批量修改记事本文件编码格式
https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/80681661
【5】Python3解决UnicodeDecodeError: 'utf-8' codec can't decode byte..问题 终极解决方案
https://blog.csdn.net/wang7807564/article/details/78164855/
【6】python 读取数据出现UnicodeDecodeError:: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid contin
https://blog.csdn.net/qq_18888869/article/details/82625343
【7】Python读取Unicode编码格式的文件(转换为UTF-8)
https://blog.csdn.net/qq_31502513/article/details/51995038
【8】read a unicode text file using python
【9】《中文文本信息抽取模型与方法研究》1:绪论
https://blog.csdn.net/QFire/article/details/81181356
【10】《中文文本信息抽取模型与方法研究》2:基于CRF的半结构化文本信息抽取
https://blog.csdn.net/QFire/article/details/81185166
【11】《中文文本信息抽取模型与方法研究》3:事件抽取模式的自动获取
https://blog.csdn.net/QFire/article/details/81186414
【12】《中文文本信息抽取模型与方法研究》4:特定类型事件的探测与分类
https://blog.csdn.net/QFire/article/details/81189424
【13】《中文文本信息抽取模型与方法研究》5:基于论元结构的事件要素及其角色识别
https://blog.csdn.net/QFire/article/details/81190257
【14】NLTK学习之四:文本信息抽取
https://blog.csdn.net/zzulp/article/details/77414113
【15】文本挖掘系列之文本信息抽取
https://blog.csdn.net/baidu_31959549/article/details/72898504
【17】信息抽取学习笔记
https://blog.csdn.net/Richard_More/article/details/82016456
【18】https://www.cnblogs.com/WonderHow/p/4403727.html
【20】http://blog.sina.com.cn/s/blog_71715bf80101aqa7.html
【21】http://baijiahao.baidu.com/s?id=1601883438842526311&wfr=spider&for=pc
【22】https://blog.csdn.net/lucky_ricky/article/details/78202572
【23】http://www.runoob.com/python3/python3-set.html
【24】https://www.jb51.net/article/99058.htm
【25】https://blog.csdn.net/qingyuanluofeng/article/details/49300175