误打误撞的进入人工智能领域,也是我作为产品经理新的学习方向。
第一篇文章我想聊一下标注系统,有两个原因:一个是因为我近期刚把标注系统上线给合作方进行使用了;另外一个是因为我在做标注系统的时候,发现能参考的相关demo还是比较少,所以尝试着自己整理一下;希望对涉及这方面的小伙伴有一定的帮助。
我理解的NLP
NLP,(Natural Language Processing)的缩写,也就是自然语言处理,属于AI人工智能的一个分支;简单总结就是让计算机程序理解自然语言,然后通过这个理解,又能生成自然语言的过程。
我们人类自呱呱落地,并不会通过自己的母语与别人沟通,在长期的与人接触学习,大脑理解了语言,简单的比如父母教你说“爸爸”“妈妈”,你理解了该怎么称呼你的父母,并当你见到你的父母时,会成功的叫出“爸爸”“妈妈” 。
nlp技术的实现,就是要让计算机程序像你一样,学习这个过程;而标注系统的作用,就是要让你充当“父母”的角色,教你的“孩子”怎么学习。
为什么要用标注系统
我们都知道,学习可以归纳成两种方式,一种叫自学,一种叫教学。而在NLP里面,自学被称之为“无监督学习”,而“教学”被称之为“有监督学习”
无监督学习,通过一份未被标注的语料样本,程序自我归纳样本中的规律,来处理各种文本问题。
有监督学习,相反而言,它是通过一份有被标注的语料文本,来进行程序学习。
选择有监督学习训练模型时,标注系统就是我们进行语料文本标注的工具。上面讲了,标注系统就是要让你充当“父母”的角色。
标注系统的设计
标注系统的使用围绕着以下两个价值点:
- 提供模型学习的标注样本
- 提高模型的预测精度
根据这两个价值点,在设计标注系统的时候,使用了以下任务池:
- 填空型结构化信息抽取和信息分类
- 修正型结构化信息抽取和信息分类
- 选择型结构化信息抽取和信息分类
当然任务池的类型是要支持可扩充的,这里列举了项目中比较常用的几种
任务池类型体现的价值点:
- 填空型:满足文本标注需求
- 修正型:满足不断的修正模型的预测数据,提高模型预测精度
- 选择型:满足通过人工验证模型精度和寻找模型预测缺陷
结构化信息包括哪些:
- 知识点抽取:时间、主体、动作、客体
- 属性抽取:时间、实体、属性、值
- 关系抽取:时间、实体、关系、实体
信息分类:
分类是处理文本最常用的一种方式,再各行各业中,分类标准都不一样,满足分类是标注系统一个重要功能。
标注系统参考案例
prodigy是国外标注系统做的比较不错的一家公司,demo介绍的挺详细,操作上也很符合TOB系统的便捷性,操作效率个人觉得挺高的:
https://prodi.gy/demo?view_id=ner
我的一点总结
在做整个标注系统的重点的理解标注的使用场景以及标注系统的价值点。
- 任何一个系统,如果在不理解需求场景/业务场景的话,就很难去合理设计系统的实用性;初入人工智能领域,在第一版的设计中,我并没有理解标注文本和模型训练的关系,犯的错误就很致命;
- “任何设计,都是有目的的”;如果你的系统设计不能体现价值点,那么系统就没有意义;
- ToB系统,很讲究效率,在实用性的基础上,同时要符合使用效率(这点值得以后再写一篇总结,国外的tob系统很值得参考)
写在最后:初入人工智能方向,以上都是个人的理解,会有一些理解错误的话,希望能为我指出,谢谢~