11.2.3 标记、标签的合作
将需求文档的章节作为标记,标记能够体现需求文档的整体框架,标记可组合的属性可以让用户在生成需求文档时确定所需的文档主体。每一个标记下所属的内容可以经过分析后进行标签化。
根据需求文档的相关模板(需求分析报告模板和需求规格说明书模板),能够明确在需求文档中有一部分的内容对于大多数的系统或者项目都是兼容的,都具有普适性。所以,软件文档的复用性也是软件开发全过程中需要考虑的一个方面。经过语义分析,可以将不变的语句和词组固定,将会产生改变的词语或者句子打上标签,打上标签的部分可以根据系统的具体业务场景,在用户编写需求相关文档时进行实时替换。
标签和标记并不是隔离分开的,两者之间有着密不可分的关系,多个标签可以依附于某个标记,标签的实例化完成了标记的特征化。通过合适的标记、标签,能够为需求文档自动生成提供一个良好的坚实基础,也让需求文档自动生成有一条切实可行的道路。
对于需求文档的标记、标签化,可以采用半监督的方式(手动+自动),在初期可以先根据实际的经验采用手动方式对需求模板进行标记、标签,经过时间和经验的沉淀,以及用户的反馈。能够在合适的工具上借助语义分析的基础通过机器自动对模板进行标记、标签,提高软件自动化效率。通过手动(前期)和自动(后期)相结合的方式,将需求文档模板的标记、标签不断完善升级,分阶段进行经验总结沉淀迭代,最终,达到形成的需求模板能够适用于任何类型系统的需求文档的编写。
然而,在完成文档的标记、标签过程中,读者也可以参考各种已经成型的开源的文本标注工具。接下来,为读者介绍目前业界在使用的文本标记工具,每个工具在不同的场景下有不同的优势,此处只是简单说明,对其感兴趣的读者可以在其官网下载使用。(https://www.daowen.com)
IEPY:IEPY是一个专注于关系抽取的开源性信息抽取工具,它主要针对的是需要对大型数据集进行信息提取的用户和想要尝试新的算法的科学家。
DeepDive:Deepdive是由斯坦福大学InfoLab实验室开发的一个开源知识抽取系统。它通过弱监督学习,从非结构化的文本中抽取结构化的关系数据 ,可以判断两个实体间是否存在指定关系。具有较强的灵活性,可以自己训练模型。前端比较简单,用户界面友好。
BRAT:BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,再提供给计算机处理。利用该工具可以方便地获得各项NLP任务需要的标注语料。
SUTDAnnotator:SUTDAnnotator用的不是网页前端而是 pythonGUI,但比较轻量级,用户可以方便快捷的使用。
Prodigy:Prodigy每一次的标注只需要用户解决一个case的问题。以文本分类为例,对于算法给出的分类结果,只需要点击“正确”提供正样本,“错误”提供负样本,“略过”将不相关的信息滤除,“Redo”让用户撤回操作,四个功能键以最简单模式让用户进行标注操作。