本发明涉及计算机,特别是一种文本标注渲染方法、系统及存储介质。
背景技术:
1、随着人工智能技术的不断进步,特别是在自然语言处理(nlp)和大语言模型领域的广泛应用,文本数据标注已成为推动技术创新和发展的重要基石。然而,在处理多语言文本标注时,现有技术仍面临显著的技术挑战。
2、传统方法如html标签对标注,在处理跨语言、跨行标注时无法有效适应不同语言的书写方向和阅读习惯。尽管已有创新技术方案如中国专利cn113807049a提出通过文本层和标签层的分离设计来增强标注的灵活性,但这种设计未考虑多语言文本标注中的场景。
3、具体而言,当前市场上的标注工具普遍缺乏一种系统化的、能够全面适应多种语言特性的标注渲染方法。不同语言之间不仅在词汇和语法上存在差异,其书写方向和阅读习惯也千差万别,这对标注工具的多语言支持能力构成了严峻考验。现有的标注方法往往局限于特定的语言或文本格式,难以灵活调整以适应多样化的标注需求。
4、因此,现有的文本标注渲染方法在多语言文本标注场景下无法高效地标注,用户体验较差。
技术实现思路
1、本发明的主要目的在于提供了一种文本标注渲染方法、系统及存储介质,旨在解决现有的文本标注渲染方法在多语言文本标注场景下无法高效地标注,用户体验较差技术问题。
2、为实现上述目的,本发明提供了一种文本标注渲染方法,其包括以下步骤:获取并存储待标注数据,待标注数据至少包括文本数据;获取并处理标注信息数据,以确定标注信息数据是否为空;获取并处理配置信息,以得到展示容器id、文本渲染结果的书写方向、文本渲染结果的阅读方向以及标注块的样式信息,并存储;根据展示容器id获取对应的dom节点;在展示容器中创建文本容器层,根据文本渲染结果的书写方向与阅读方向,将待标注数据写入文本容器层,并对文本容器层添加交互响应事件以响应用户交互操作;在文本容器层之上创建标注块容器层,用于存放并展示标注块;若标注信息数据不为空,则将其转换成对应的标注块,并将标注块定位至文本容器层的相应位置,完成初始化渲染并展示初始渲染结果;等待用户交互操作,若存在用户交互操作,则根据用户交互操作重新进行文本渲染处理,并展示新的文本渲染结果;若不存在用户交互操作,则直接展示初始渲染结果。
3、可选的,展示容器为用于存放文本容器与标注块容器的dom节点;文本容器为用于存放待标注数据的dom节点;标注块容器为标注块的绘制节点。
4、可选的,标注块容器层添加有css属性,以使其不响应鼠标事件。
5、可选的,标注块容器层添加有css属性,以使其不响应鼠标事件;
6、初始化渲染前,为每个标注块绑定一个用户交互操作监听器,当用户与标注块进行交互并触发监听器时,执行预设的自定义响应逻辑;
7、预设的自定义响应逻辑至少包括:展示确认对话框,以确定用户是否需要执行预设动作;若确定用户需要执行预设动作,则重新进行文本渲染处理。
8、可选的,用户交互操作至少包括用户选择标注块;
9、当用户交互操作为用户选择标注块时,重新进行文本渲染处理至少包括以下步骤:获取当前所选标注块id,将当前所选标注块id与已存在的标注块进行数据匹配,得到当前所选标注块id对应的标注块并执行预设动作;对标注块容器中与当前所选标注块id对应的标注块执行预设动作。
10、可选的,用户交互操作至少包括用户选择文本数据;
11、当用户交互操作为用户选择文本数据时,重新进行文本渲染处理至少包括以下步骤:获取用户所选文本数据以及对应的range对象信息;获取用户所选文本数据的边界信息与文本容器的边界信息,并根据二者的边界信息判断用户所选文本数据是否为多行文本;若用户所选文本数据非多行文本,则根据用户所选文本数据对应的range对象信息的边界信息,绘制对应的新增标注块;若用户所选文本数据为多行文本,则先进行渲染元素拆分处理,再绘制新增标注块并将其定位至文本容器层的相应位置。
12、可选的,渲染元素拆分处理具体包括以下步骤:
13、创建新的range对象,并设置其起始位置和结束位置;将用户所选文本数据拆分为多个单个字符,逐个获取单个字符的坐标信息,并将每个字符的坐标信息分别与文本容器的位置信息进行比较,以识别换行点;根据换行点将用户所选文本数据拆分为多个部分,每个部分对应一个独立的range对象。
14、可选的,若用户所选文本数据为多行文本,绘制新增标注块并将其定位至文本容器层的相应位置具体包括:
15、获取每个独立的range对象的边界信息,根据每个独立的range对象的边界信息,绘制对应的新增标注块子图形,再将每个新增标注块子图形定位至文本容器层的相应位置。
16、可选的,range对象信息包括用户所选文本数据的dom信息、文本信息、文本长度信息;
17、边界信息包括位置信息与尺寸信息,位置信息包括x、y坐标信息,尺寸信息包括宽度信息与高度信息。
18、与所述文本标注渲染方法相对应的,本发明提供一种文本标注渲染系统,其包括:处理模块,用于获取待标注数据,待标注数据至少包括文本数据;获取并处理标注信息数据,以确定标注信息数据是否为空;获取并处理配置信息,以得到展示容器id、文本渲染结果的书写方向、文本渲染结果的阅读方向以及标注块的样式信息;还用于根据用户交互操作,调用渲染模块执行重新渲染处理;以及向外部系统提供一些操作接口;
19、存储模块,至少用于存储待标注数据、处理后的标注信息数据与配置信息;
20、渲染模块,用于根据展示容器id获取对应的dom节点;在展示容器中创建文本容器层,根据文本渲染结果的书写方向与阅读方向,将待标注数据写入文本容器层,并对文本容器层添加交互响应事件以响应用户交互操作;在文本容器层之上创建标注块容器层,用于存放并展示标注块;若标注信息数据不为空,则将其转换成对应的标注块,并将标注块定位至文本容器层的相应位置,得到并展示初始渲染结果;若存在用户交互操作,则根据用户交互操作重新进行文本渲染处理,并展示新的文本渲染结果;若不存在用户交互操作,则直接展示初始渲染结果。
21、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文本标注渲染方法程序,所述文本标注渲染方法程序被处理器执行时实现如上文所述的文本标注渲染方法的步骤。
22、本发明的有益效果是:
23、(1)与现有技术相比,本发明将待标注数据与标注渲染数据解耦,结合配置信息针对多国语言的场景可以更细致地配置书写方向、阅读方向两个属性,在多语言文本标注场景下也能实现高效地标注;提供用户交互条件,能够为存在多语言文本标注需求的用户提供更好的用户体验;
24、(2)由于标注块是定位在文本上实现标注渲染效果的,所以当鼠标再次想选中文本时,会因为上层是画布层,导致无法选中文本;与现有技术相比,本发明通过对标注块容器层添加css属性,使其不响应鼠标事件,以避免用户无法选中文本,影响使用体验;
25、(3)与现有技术相比,本发明通过根据用户交互操作重新进行渲染处理,允许用户根据实际需要对文本进行灵活标注,提高了标注的灵活性;
26、(4)与现有技术相比,本发明支持在文本容器中创建标注块容器层,为新增标注块的绘制提供了便利;
27、(5)与现有技术相比,本发明通过渲染元素拆分处理,解决了多行文本标注的难题,确保了标注块能够准确定位整个选中区域,提高了多行文本标注的效率和准确性,为用户提供了更好的标注体验;
28、(6)与现有技术相比,本发明针对多行文本,通过为每个独立range对象绘制对应的新增标注块子图形,实现了精准的多行文本标注效果,提高了多行文本标注的细致度和清晰度,使得标注结果更加易于理解和使用;
29、(7)与现有技术相比,本发明所述位置信息包括x、y坐标信息,尺寸信息包括宽度信息与高度信息,为标注块的绘制提供了精确的数据支持,提高了标注块的绘制精度和一致性,确保了标注渲染效果的美观和准确性。
1.一种文本标注渲染方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的文本标注渲染方法,其特征在于:展示容器为用于存放文本容器与标注块容器的dom节点;文本容器为用于存放待标注数据的dom节点;标注块容器为标注块的绘制节点。
3.根据权利要求1所述的文本标注渲染方法,其特征在于:标注块容器层添加有css属性,以使其不响应鼠标事件;
4.根据权利要求3所述的文本标注渲染方法,其特征在于:用户交互操作至少包括用户选择标注块;
5.根据权利要求1所述的文本标注渲染方法,其特征在于:用户交互操至少包括用户选择文本数据;
6.根据权利要求5所述的文本标注渲染方法,其特征在于:渲染元素拆分处理具体包括以下步骤:
7.根据权利要求6所述的文本标注渲染方法,其特征在于:若用户所选文本数据为多行文本,绘制新增标注块并将其定位至文本容器层的相应位置具体包括:
8.根据权利要求5所述的文本标注渲染方法,其特征在于:range对象信息包括用户所选文本数据的dom信息、文本信息、文本长度信息;
9.一种文本标注渲染系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文本标注渲染方法程序,所述文本标注渲染方法程序被处理器执行时实现如权利要求1至8任一项所述的文本标注渲染方法的步骤。