要做自然语言处理,自然少不了语料,虽然有不少公开的语料库可供利用,但对于某个行业领域来说,还是构建自己的专业语料库比较好。
很多自然语言处理课程都是直接拿现成语料跑模型,本来嘛,语料标注就是一项费时费力的工作,要学做面包没有必要从种小麦开始学起。不过我偏偏想用自己种出来的小麦做香味独特的面包,这就比较难办了。
我尝试了一些开源的文本标注工具,都不太好用(或者说,配置比较麻烦)
最后发现其实有一款现成的软件,用来做文本标注最好不过了,它就是前端开发非常熟悉的dreamweaver
我主要用其中两个功能:
(1)选择文字,按ctrl+T,自动在选中文字的两端加tag,效果如下:
<organ>雄蕊</organ>4枚,二强,着生于<organ>花冠筒</organ>中部,内藏,<organ>花药</organ>长卵圆形;
(2)用正则表达式进行文本的查找、替换,而且可以对文件夹中的所有文件进行批量处理
文本标注完之后,用一个简单的函数就可以将添加的tag和其中包裹的文字提取出来
>>>fields=re.findall(r'<([a-z]*?)>(.*?)</[a-z]*?>',string)
>>>fields
[('tag1', 'text1'),('tag2', 'text2'),('tag3', 'text3')]
锵锵锵,提取出来的list就可以整理整理,准备导入到neo4j做知识图谱啦