在过去十年里,机器学习取得了显著的进步,这主要得益于计算能力的提升以及深度学习研究领域的新突破。另一个重要因素是数据量的激增。据估计,目前全球拥有约44兆字节的信息。例如,OpenAI的GPT-2模型就是基于40GB的互联网数据进行训练的。这些算法的发展速度惊人,对训练数据的需求也在不断增长。
将数据输入算法的方法多种多样。无监督学习需要大量数据,并自行识别模式,以便对新情况做出预测。无监督学习已经被应用于大型非结构化数据集,如股票市场行为或Netflix节目推荐。相比之下,监督学习则需要人工标注数据,以更好地理解和分类其他数据。这种学习方式虽然需要的数据量较少,但需要明确的标签。数据集及其相关的标签被称为基础样本。接下来,我们将重点介绍几种常见的监督学习案例。
此外,数据至少可以分为四种主要格式:文本、音频、图像和视频。尽管所有类型的数据都有其独特的应用,但我们将进一步探讨文本数据,特别是自然语言处理(NLP)领域。
一个常见的用例是通过识别和提取关键实体来理解句子或文本的核心意义。这一分支通常被称为命名实体识别或命名实体抽取。
在下面的例子中,“Big Bird”可以被标记为一个人物名称,“门廊”则被标记为一个地点。有了足够多的例子,模型可以开始识别其他模式,比如“Elmo坐在门廊上”或“Cookie Monster站在街上”。通过这个简单的例子,我们可以推断出世界各地的公司都可以使用这种方法来解读医生的笔记,了解执行了哪些医疗程序;或者通过算法阅读商业合同,了解当事方和涉及的金额。
NLP的另一个重要领域是语义分析,这使得算法能够理解句子的语气。
我们可以训练一个二元分类器来判断一句话是否肯定或否定。更复杂的分类器可以在全范围内进行训练,而不仅仅是二元分类。情感分析则被广泛用于了解各种情境下的意见,例如购物网站上的产品评论、社交媒体上的政治候选人讨论以及客户体验调查。
NLP中的其他高级任务包括依存句法分析和语法树,这些任务可以帮助我们分解句子结构,从而更好地处理语言中的歧义。
由于大数据时代和云计算技术的发展,许多公司已经积累了大量数据。这些数据通常被称为非结构化数据或原始数据。在准备标记这些数据之前,通常需要对其进行处理和清理。
一旦确定了训练数据,下一步的重要决策是如何标注这些数据。所使用的标签将直接影响算法的表现。一个团队可能专注于随着时间推移跟踪单个项目的成本,并利用这些数据预测未来的价格。另一个团队可能侧重于识别商店、日期和时间戳,以了解购买模式。
从业者会参考标签集的分类体系,详细了解客户投诉的产品类型,或者更具体地说,他们是否要求退货、退款、赞扬产品缺陷或运输问题等。
亚马逊的Mechanical Turk成立于2005年,旨在将简单任务外包给全球各地的“人群”。近年来,出现了专门从事人工智能服务的公司,如Appen、Playment、Samasource和iMerit。这些公司会收取客户的数据,并在其平台上设置标注任务。世界各地注册的服务提供者可以标记数据。使用这些公司的优点包括弹性伸缩性和效率。由于平台上有大量的标注人员,他们通常可以比其他选项更快地完成数据标注任务。他们还会为客户提供专业知识,建议如何验证数据质量,或抽查工作质量,以确保符合客户的标准。缺点包括较高的成本、数据质量差异和潜在的数据泄露风险。这些公司通常会对数据标注服务收取较高的费用,并要求达到一定的标注数量。完全的众包解决方案也可能受到那些在游戏中作弊和创建虚假账户的标注者的负面影响。
另一种选择是聘请全职、经过全面培训的标注员,如CloudFactory和DataPure提供的服务。这种方式有助于提高数据质量,但成本也较高。
为了应对上述挑战,一些公司选择外部雇佣标注员。这样可以更好地控制数据输入和质量。然而,这种选择也有其自身的局限性。有时,标注员需要及时接受培训,以满足业务的最后期限。虽然可以将大量标注任务外包出去,但建立这种能力并不容易。外部团队需要更多的规划,并且在项目时间表上需要做出妥协。此外,建立外包服务需要新的技能,而这些技能并不总是与公司的专业知识相匹配。
许多公司还选择了结合两种方法——利用外部标注团队完成重复性或关键任务,同时通过外包解决方案应对突发的数据需求。
现在你有了数据、标签集和标注员,他们是如何工作的?年轻的ML行业在工具选择上仍然存在很大的差异。
最常用的工具之一是Excel或Google电子表格。这个界面易于使用,广为人知,学习曲线相对较低。它可以处理常见的标注任务,如词性和命名实体标注。然而,电子表格并不是为此类任务设计的,容易出错。打字更为方便,但单元格列并不是阅读文本文件最直观的方式。某些类型的标注,如依存关系分析,根本无法通过电子表格完成。最重要的是,这种方法不具备可扩展性,因为随着需求的增长,需要更高级的界面和劳动力管理解决方案。
更先进的NLP公司倾向于转向开源社区。像brat和WebAnno这样的工具因其灵活性和广泛定制能力而受欢迎。它们可以自由设置和托管,并处理更高级的NLP任务,如依存关系标注。不过,这些工具的学习曲线较高,需要一定的培训和调整。直接的客户支持有限,这些工具的维护水平也参差不齐,因为它们依赖于开源社区来改进和修复错误。
一些公司选择自己开发工具。与自己的技术栈完全集成有其优势,但这也意味着需要投入工程资源来构建和维护工具。
商业工具也是选择之一,包括Prodigy、LightTag、TagTog和数据仓库.ai等。这些公司提供不同价位的标注工具。与开源工具一样,它们提供定制能力和处理高级NLP任务的能力。其他需要考虑的功能包括标注团队的团队管理工作流、标注员功能报告、数据许可、本地部署功能和半自动标注。半自动标注是一个较新的发展趋势,可以让标注员快速标注常见的英语术语,而不是从头开始标注所有内容。
选择合适的工具对于最终的工作效果至关重要。需要考虑的因素包括界面的直观性、工具专注于哪类标注任务、是否有足够的定制性以满足项目的独特需求、能否在一个界面上组织和排列标签项目的优先级,以及出现问题时的支持程度和预算。
机器学习是一种“垃圾输入,垃圾输出”的技术,模型的有效性与输入数据直接相关。因此,数据标注是训练机器学习算法的关键步骤。实际上,增加训练数据的数量和质量是改进算法最有效的方法。随着机器学习的日益普及,标注任务将继续存在。在设置或重新检查自己的标注流程时,应考虑以下几点:
有许多选择,行业仍在制定标准。但通过回答上述问题,你可以缩小选择范围。