CN118153575A - 变量名生成方法、装置、设备、介质和产品 - Google Patents

变量名生成方法、装置、设备、介质和产品 Download PDF

Info

Publication number
CN118153575A
CN118153575A CN202410263498.4A CN202410263498A CN118153575A CN 118153575 A CN118153575 A CN 118153575A CN 202410263498 A CN202410263498 A CN 202410263498A CN 118153575 A CN118153575 A CN 118153575A
Authority
CN
China
Prior art keywords
variable name
data type
variable
sample
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410263498.4A
Other languages
English (en)
Inventor
王立林
朱毅文
张丹枫
钱丹丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202410263498.4A priority Critical patent/CN118153575A/zh
Publication of CN118153575A publication Critical patent/CN118153575A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了一种变量名生成方法,可以应用于人工智能技术领域。该变量名生成方法,其特征在于,所述方法包括:获取第一变量名和所述第一变量名对应的数据类型;基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。本公开还提供了一种变量名生成装置、设备、介质和产品。

Description

变量名生成方法、装置、设备、介质和产品
技术领域
本公开涉及人工智能领域,具体地涉及低代码技术领域,更具体地涉及一种变量名生成方法、装置、设备、介质和产品。
背景技术
在一个典型的场景中,如在低代码/无代码的应用场景下,低代码平台所面对的用户人群并非完全是专业的开发人员,可能还有产品经理、测试人员以及其他非专业开发人员,这些不同背景的人群在开发经验和使用习惯上存在一定的差异,虽然开发的内容足以满足使用需要,但是在变量命名时仍然存在不足,无法正确表达变量的作用,导致生成源码可读性较差。
发明内容
鉴于上述问题,本公开提供了提高代码可读性的变量名生成方法、装置、设备、介质和产品。
根据本公开的第一个方面,提供了一种变量名生成方法,其特征在于,所述方法包括:获取第一变量名和所述第一变量名对应的数据类型;基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
根据本公开的实施例,所述基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵,包括:分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量;基于所述第一特征向量和所述第二特征向量,形成输入编码矩阵。
根据本公开的实施例,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,包括:对于所述第一变量名,将所述变量名输入至词向量编码器,得到输出的所述第一变量名分词后的N个词向量。
根据本公开的实施例,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,还包括:对于所述第一变量名对应的数据类型,将所述第一变量名输入至所述词向量编码器,得到输出的所述第二特征向量;或者对于所述第一变量名对应的数据类型,基于所述第一变量名的数据类型,通过预设的静态规则,将所述变量名的数据类型转化为对应的所述第二特征向量。
根据本公开的实施例,所述基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名,包括:基于所述输入编码矩阵作为transformer模型的编码器-解码器的输入,得到输出编码矩阵;基于transformer模型的全连接层降维所述输出编码矩阵,得到生成M个初始变量名以及M个置信度,所述初始变量名和所述置信度一一对应,M为正整数;以及选择所述置信度最高的所述初始变量名作为第二变量名。
根据本公开的实施例,所述预设的命名生成模型的训练方法包括:获取训练集,所述训练集包括变量名样本、变量名样本对应的数据类型以及期望变量名样本;将所述变量名样本和所述变量名样本对应的数据类型转化为输入编码矩阵样本;基于所述输入编码矩阵样本作为transformer模型的编码器-解码器的输入,得到输出编码矩阵样本;基于transformer模型的全连接层降维所述输出编码矩阵样本,得到生成K个初始变量名样本以及K个置信度样本,所述初始变量名样本和所述置信度样本一一对应,K为正整数;选择所述置信度样本最高的所述初始变量名样本作为第二变量名样本;通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则;在所述第二变量名样本命中标准化命名规则的情况下,输出正相关系数;基于所述正相关系数计算损失函数;以及通过所述损失函数微调所述预设的命名生成模型。
根据本公开的实施例,在所述通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则后,包括:在所述第二变量名样本未命中标准化命名规则的情况下,输出负相关系数;基于所述负相关系数计算损失函数;以及通过所述损失函数微调所述命名生成模型。
本公开的第二方面提供了一种变量名生成装置,包括:第一变量名获取模块,用于获取第一变量名和所述第一变量名对应的数据类型;输入编码矩阵形成模块,用于基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;第二变量名生成模块,用于基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
根据本公开的实施例,所述输入编码矩阵形成模块,包括:特征向量转化单元和输入编码矩阵形成单元,所述特征向量转化单元,用于分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量;所述输入编码矩阵形成单元,用于基于所述第一特征向量和所述第二特征向量,形成输入编码矩阵。
根据本公开的实施例,所述特征向量转化单元,包括:第一变量名转化子单元,用于对于所述第一变量名,将所述变量名输入至词向量编码器,得到输出的所述第一变量名分词后的N个词向量。
根据本公开的实施例,所述特征向量转化单元,还包括:数据类型转化子单元,用于对于所述第一变量名对应的数据类型,将所述第一变量名输入至所述词向量编码器,得到输出的所述第二特征向量;或者对于所述第一变量名对应的数据类型,基于所述第一变量名的数据类型,通过预设的静态规则,将所述变量名的数据类型转化为对应的所述第二特征向量。
根据本公开的实施例,所述第二变量名生成模块,包括:第二变量名生成子模块,用于基于所述输入编码矩阵作为transformer模型的编码器-解码器的输入,得到输出编码矩阵;基于transformer模型的全连接层降维所述输出编码矩阵,得到生成M个初始变量名以及M个置信度,所述初始变量名和所述置信度一一对应,M为正整数;以及选择所述置信度最高的所述初始变量名作为第二变量名。
根据本公开的实施例,所述装置还包括训练模块:用于获取训练集,所述训练集包括变量名样本、变量名样本对应的数据类型以及期望变量名样本;将所述变量名样本和所述变量名样本对应的数据类型转化为输入编码矩阵样本;基于所述输入编码矩阵样本作为transformer模型的编码器-解码器的输入,得到输出编码矩阵样本;基于transformer模型的全连接层降维所述输出编码矩阵样本,得到生成K个初始变量名样本以及K个置信度样本,所述初始变量名样本和所述置信度样本一一对应,K为正整数;选择所述置信度样本最高的所述初始变量名样本作为第二变量名样本;通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则;在所述第二变量名样本命中标准化命名规则的情况下,输出正相关系数;基于所述正相关系数计算损失函数;以及通过所述损失函数微调所述预设的命名生成模型。
根据本公开的实施例,所述训练模块:还用于在所述第二变量名样本未命中标准化命名规则的情况下,输出负相关系数;基于所述负相关系数计算损失函数;以及通过所述损失函数微调所述命名生成模型。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述变量名生成方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述变量名生成方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述变量名生成方法。
在本公开的实施例中,为例解决现有技术中在低代码平台下变量名可读性较差的技术问题,本公开的实施例采用了自然语言处理技术,首先获取意图命名的变量名和对应的数据类型,然后融合变量名和数据类型,形成输入的编码矩阵,最后将输入编码矩阵入模生成第二变量名作为读取代码时所使用的变量名。本公开的实施例引入了一种代码可读性优化技术方案,旨在确保非专业开发人员在使用低代码平台进行功能开发过程中的变量规范性,以优化工程源码的可读性,进而提高后续基于工程源码的二次开发或问题排查的效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的变量名生成方法的应用场景图;
图2示意性示出了根据本公开实施例的变量名生成方法的流程图;
图3示意性示出了根据本公开实施例的输入编码矩阵获取方法的流程图;
图4示意性示出了根据本公开实施例的第二变量名生成方法的流程图;
图5示意性示出了根据本公开实施例的模型训练方法的流程图;
图6示意性示出了一种输入矩阵的获取方法的流程图;
图7示意性示出了一种第二变量生成方法的流程图;
图8示意性示出了一种模型训练方法的流程图;
图9示意性示出了根据本公开实施例的变量名生成装置的结构框图;以及
图10示意性示出了根据本公开实施例的适于实现变量名生成方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在对本公开的实施例进行详细揭示之前,对本公开的实施例涉及的关键技术术语进行一一说明,如下所示:
低代码平台:低代码开发是一种软件开发技术,可以让不同背景的使用者通过可视化的方式,以更少的编码,更快速地构建和交付应用软件,全方位降低软件的开发、配置、部署和培训的成本。
决策树:决策树是一种基于树状结构的机器学习算法,用于解决分类和回归问题。决策树是一种直观且易于理解的模型,可用于数据挖掘和决策支持系统中。决策树的主要思想是通过一系列的判定条件来对数据进行分隔,从而最终达到对样本进行分类或回归的目的。
Transformer模型:是一种深度学习模型,Transformer模型是一种编码器-解码器架构下的模型,其包含有注意力机制,该注意力机制用作推导输入和输出之间依赖关系的唯一机制。
目前,低代码平台在各行各业的数字化转型过程中扮演着重要的角色。低代码平台通过可视化编排的方式帮助用户快速构建应用,降低应用开发门槛,赋能更多非专业开发人员进行业务开发。
主流的源码生成型的低代码平台通常使用代码格式化工具以及代码规范性检测工具对代码可读性进行优化,但相关方案均是围绕源码展开的,没有考虑到低代码使用场景。
部分低代码产品支持生成应用源码,可供传统开发人员进行二次开发,所以对于此类产品,如何提高代码可读性是一个亟待解决的问题。
为了解决现有技术中存在的技术问题,本公开的实施例提供了一种变量名生成方法,所述方法包括:获取第一变量名和所述第一变量名对应的数据类型;基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
在本公开的实施例中,为例解决现有技术中在低代码平台下变量名可读性较差的技术问题,本公开的实施例采用了自然语言处理技术,首先获取意图命名的变量名和对应的数据类型,然后融合变量名和数据类型,形成输入的编码矩阵,最后将输入编码矩阵入模生成第二变量名作为读取代码时所使用的变量名。本公开的实施例引入了一种代码可读性优化技术方案,旨在确保非专业开发人员在使用低代码平台进行功能开发过程中的变量规范性,以优化工程源码的可读性,进而提高后续基于工程源码的二次开发或问题排查的效率。
图1示意性示出了根据本公开实施例的变量名生成方法的应用场景图。
如图1所示,根据该实施例的应用场景10O可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的变量名生成方法一般可以由服务器105执行。相应地,本公开实施例所提供的变量名生成装置一般可以设置于服务器105中。本公开实施例所提供的变量名生成方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的变量名生成装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图8对公开实施例的变量名生成方法进行详细描述。
图2示意性示出了根据本公开实施例的变量名生成方法的流程图。
如图2所示,该实施例的变量名生成方法包括操作S210~操作S230,该变量命名生成方法可以由服务器105执行。
在操作S210中,获取第一变量名和所述第一变量名对应的数据类型。
在一个典型的场景中,代码中变量命名常采用英文命名,如工作量通常用“workload”,而非“gongzuoliang”,所以规范化命名首先需要理解用户创建的变量含义;其次,在程序开发过程中,通常会根据使用到的数据类型、数据结构以及通用的命名习惯等规则进行变量命名,如某某加载器命名为“xxLoader”,某某处理器命名为“xxHandler”,String类型的变量会命名为“xxStr”,而表示列表的变量通常会命名为“xxList”,甚至还有一些常量,通常命名会采用全大写的方式。如果直接使用基础机器翻译的方式无法实现上述要求。
第一变量名是指未进行可读性优化的变量名,该第一变量名一般由代码编写的人员自行定义命名,不同的编写人员有着不同的背景,针对该第一变量的命名也存在较大差异,因此,为了保证在一定范围内变量名高可阅读性,需要对该未进行可读性优化的第一变量名进行规范化命名。其中,该第一变量名可以是以各类不同语言形式存在的,例如,该第一变量名可以是中文、英文等不同的语言表述,并且,第一变量名并非是单独的词语,第一变量名可以是由一或多个单词/词语组成,例如,第一变量名为“学生的数量”。
第一变量名对应的数据类型是指定义该第一变量名所采用的数据类型,该数据类型并非业务的数据类型,该数据类型是用于定义变量名的数据类型,例如整数型、字符串型以及浮点型等常用的数据类型。
需要强调的是,在本公开的实施例中,发明人发现,数据类型是变量名实现标准化过程中的重要参考因素,是否使用数据类型作为影像因素对输出的标准化的变量名的结果影响较大,因此,在本公开的实施例中,除了获取第一变量名之外,还需要获取对应的数据类型。
在操作S220中,基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵。
结合第一变量名和第一变量名对应的数据类型,融合为后续入模的输入编码矩阵。该过程可以由词向量技术实现,将该第一变量名和第一变量名对应的数据类型转化为计算机可以直接计算的特征向量,形成特征矩阵。
具体地输入编码矩阵的获取方式如下所示:
图3示意性示出了根据本公开实施例的输入编码矩阵获取方法的流程图。
如图3所示,该输入编码矩阵获取方法包括操作S310~操作S320,该操作S310~操作S320至少可以部分执行上述操作S220。
在操作S310中,分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量。
具体地,分别将第一变量名和第一变量名对应的数据类型转化为第一特征向量和第二特征向量,其中,可以分别采用相同的方式进行特征向量的转化,也可以采用不同的方式进行特征向量的转化。
根据本公开的实施例,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,包括:对于所述第一变量名,将所述变量名输入至词向量编码器,得到输出的所述第一变量名分词后的N个词向量。
其中,针对第一变量名,采用词向量编码器将第一变量名转化为第一特征向量,词向量编码器在第一变量名包含多个词语/单词的情况下,可以将其进行分词为N个词向量,N个词向量可以组合为一个特征矩阵。词向量编码器可以是例如Word2Vec、one-hot等常用的词向量转化模型。
根据本公开的实施例,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,还包括:对于所述第一变量名对应的数据类型,将所述第一变量名输入至所述词向量编码器,得到输出的所述第二特征向量;或者对于所述第一变量名对应的数据类型,基于所述第一变量名的数据类型,通过预设的静态规则,将所述变量名的数据类型转化为对应的所述第二特征向量。
其中,针对第一变量名对应的数据类型时,可以采用词向量编码器将数据类型转化为第二特征向量,也可以采用一些预先定义的静态规则,将该数据类型转化为第二特征向量,例如,预先设定“Int”的特征向量为[0,0,0,……,0],预先设定“String”的特征向量为[0,0,0,……,1],将这些对应的转化方式提前设置在预设的静态规则当中,使用时直接获取即可。
需要说明的是,对于变量名对应的数据类型的转化逻辑,由于数据类型的数量有限,可以通过词向量编码器进行转化,也可以通过静态规则直接转化为对应值的特征向量。
在操作S320中,基于所述第一特征向量和所述第二特征向量,形成输入编码矩阵。
直接基于第一特征向量和第二特征向量形成输入编码矩阵。
图6示意性示出了一种输入矩阵的获取方法的流程图。
结合图6所示,在图6中,用户命名意图为“学生的数量”,通过语义表达模型(实质上即是词向量编码器),形成词向量表示的n×k的向量,其中,n表示句子的单词个数,k表示词向量的维度。
在图6中,用户意图定义变量“学生的数量”所使用的数据类型“Integer”,通过静态编码规则(实质上即为数据类型与向量的映射关系),求出“Integer”的词向量表示的1×k的向量。
通过融合变量的特征向量和数据类型的特征向量,得到输入矩阵,该输入矩阵为(n+1)×k的数据,以供后续进行入模处理。
可以理解的是,数据类型也可以看做是一个单词/词语,因此,将其转化为结果为1×k的向量,使其可以与变量的特征向量相融合。
在操作S230中,基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
采用已训练的语言模型进行语义识别,完成用户的意图理解,融合变量相关的数据类型后的输入,生成符合用户命名意图、某领域常用编程命名习惯以及企业级命名规范的变量命名。
具体地,第二变量名的生成方法如下所示:
图4示意性示出了根据本公开实施例的第二变量名生成方法的流程图。
如图4所示,该实施例的第二变量名生成方法包括操作S410~操作S430,该操作S410~操作S430至少可以部分执行上述操作S230。
在操作S410中,基于所述输入编码矩阵作为transformer模型的编码器-解码器的输入,得到输出编码矩阵。
transformer模型由输入块、编码块、解码块以及输出块组成,其中,输入块用以接收词向量形式的数据作为输入,transformer模型的编码块可以由多个Encoder组成,transformer模型的解码块可以由多个Decoder组成,输出块包括有全连接层和softmax,用于对编解码后的数据进一步处理得到输出数据。
输入编码矩阵通过输入块入模,再由编码块和解码块进行编码-解码的操作,形成输出编码矩阵,在此过程中,并不会改变输入编码矩阵的行数和列数,输出编码矩阵和输入编码矩阵的行/列数相同。
在操作S420中,基于transformer模型的全连接层降维所述输出编码矩阵,得到生成M个初始变量名以及M个置信度,所述初始变量名和所述置信度一一对应,M为正整数。
具体地,上述全连接层对编码-解码后的输出编码矩阵至少进行降维后,得到多个输出的变量名以及对应的置信度(或称概率,取值范围在0,1之间,用于评价输出的变量名的可信程度,数值越大越好)。
可以理解的是,transformer模型引入有注意力机制,可以自行对输入的数据进行变换生成预期的输出的数据。全连接层可以看做分类器,分类出多个输出结果。
在操作S430中,选择所述置信度最高的所述初始变量名作为第二变量名。
选取置信度最高的变量名作为第二变量名,可以理解的是,更高的置信度则更加符合期望的结果。
图7示意性示出了一种第二变量生成方法的流程图。
如图7所示,在图7中,除去输入(输入编码矩阵)和输出(命名)外,皆为本公开的实施例中的预设的命名生成模型。其中,输入编码矩阵为(n+1)×k的数据,编码信息为(n+1)×k的数据,输出编码矩阵为(n+1)×k的数据,输出编码矩阵为(n+1)×k的数据通过全连接层输出多个初始命名词句+对应的词句概率(即上述置信度),以最初输入的第一变量名“学生的数量”为例,输出的初始变量名和其概率分别为:[“StudentCount”,0.75]和[“StudentNum”,0.69],选择概率更高的“StudentCount”作为第二变量名。
在本公开的实施例中,为例解决现有技术中在低代码平台下变量名可读性较差的技术问题,本公开的实施例采用了自然语言处理技术,首先获取意图命名的变量名和对应的数据类型,然后融合变量名和数据类型,形成输入的编码矩阵,最后将输入编码矩阵入模生成第二变量名作为读取代码时所使用的变量名。本公开的实施例引入了一种代码可读性优化技术方案,旨在确保非专业开发人员在使用低代码平台进行功能开发过程中的变量规范性,以优化工程源码的可读性,进而提高后续基于工程源码的二次开发或问题排查的效率。
上述内容对第二变量名的生成过程进行了说明,以下将对命名生成模型的训练过程详细揭示,如下所示:
图5示意性示出了根据本公开实施例的模型训练方法的流程图。
如图5所示,该实施例的模型训练方法包括操作S501~操作S512。
在操作S501中,获取训练集,所述训练集包括变量名样本、变量名样本对应的数据类型以及期望变量名样本。
具体地,通过抽取企业级代码仓库以及其他代码仓库的优质项目的变量名作为期望变量名样本和数据类型,标注其对应的自然语言表达作为变量名样本。
在操作S502中,将所述变量名样本和所述变量名样本对应的数据类型转化为输入编码矩阵样本。
在操作S503中,基于所述输入编码矩阵样本作为transformer模型的编码器-解码器的输入,得到输出编码矩阵样本。
在操作S504中,基于transformer模型的全连接层降维所述输出编码矩阵样本,得到生成K个初始变量名样本以及K个置信度样本,所述初始变量名样本和所述置信度样本一一对应,K为正整数。
在操作S505中,选择所述置信度样本最高的所述初始变量名样本作为第二变量名样本。
上述操作S502的执行步骤与上述操作S310~操作S320一致,通过上述操作S502中的方法,形成输入编码矩阵样本;上述操作S503~操作S505与上述操作S410~操作S430一致,通过上述操作S503~操作S505中的方法,将上述输入编码矩阵样本形成第二变量名样本。
在操作S506中,通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则。
在本公开的实施例中,在命名生成模型后串联决策树模型,用以判断生成的第二变量名样本是否符合标准化命名规范,这是由于很多项目的命名风格可能无法直接满足企业级命名规范,所以当变量命名符合必要的规范时,决策树将对其进行正反馈,当变量命名不符合必要的规范时,决策时将对其进行负反馈,以此形成反馈机制。
其中,预设的决策树模型可以看做是一个二分类的分类器,后续输出结果为正相关系数(例如,1)或负相关系数(例如,0或-1),标准化命名规则用以检验变量名中的字符使用方式(使用中文、英文、符号等的方式)、字符的位置、变量名的默认书写方式以及特定变量的特定命名规则等,可以理解的是,标准化命名规则受代码语言、业务特性以及企业变量命名规范等诸多因素影响,因此,标准化命名规则种类繁多。在一个典型的场景中,代码语言Java变量名的命名规范为例,标准化命名规则至少包括:变量名只能使用字母、数字、$和下划线;变量的第一个字符只能使用字母、$以及下划线变量的第一个字符不能使用数字,类名的首字母大写和驼峰原则,方法名首字母小写和驼峰原则,常量全部大写加下划线,类成员变量首字母小写和驼峰原则,局部变量首字母小写和驼峰原则,
在操作S507中,在所述第二变量名样本命中标准化命名规则的情况下,输出正相关系数。
在操作S508中,基于所述正相关系数计算损失函数。
在操作S509中,通过所述损失函数微调所述预设的命名生成模型。
在操作S510中,在所述第二变量名样本未命中标准化命名规则的情况下,输出负相关系数。
在操作S511中,基于所述负相关系数计算损失函数。
在操作S512中,通过所述损失函数微调所述命名生成模型。
其中,相关系数是指是本公开实施例中反馈机制的重要一环,由于计算出的损失函数的数值愈小,则说明训练的模型愈准确,那么,正相关系数可以减少损失函数的数值,反之负相关系数可以增大损失函数的数值,通过正相关系数和负相关系数参与损失函数值的计算,当然,还需要结合最初的期望变量名样本和数据规模,综合计算损失函数。
具体地,可以通过例如交叉熵损失函数计算其损失函数,如下式1所示:
其中,yi为标签值(即上述的正相关系数或负相关系数),ai为预测值(即上述期望变量名样本),m为样本数量,J即为loss,loss越小则模型越准确。
其中,“微调”(fine-tune)是指基于Transformer的“预训练”模型(如BERT、Roberta等),期望在自己的任务上取得一个任务模型,由此,可以实现自动化微调(或称训练)。微调的截止条件一般为到达预设轮数。
图8示意性示出了一种模型训练方法的流程图。
如图8所示,在图8中,与图7不同的是,模型训练的过程中,命名生成模型后面会串联有决策树模型,用于判断生成的词语是否符合标准化命名规则。具体地,模型训练方法如下所示:
1、使用预训练的transformer模型作为基础模型,通过全连接层与softmax层,取siftmanx输出的最大概率命名作为预测命名,输出维度为1×1;
2、引入决策树,将softmax输出结果进行二分类处理,判断其是否满足企业命名规范,输出结果为1或-1,由此形成一个完整的命名生成模型;
3、以交叉熵函数作为模型损失函数,通过训练集对上述命名生成模型进行训练并微调transformer参数;
4、训练得到完整的模型参数,使用时把决策树去掉,以softmax层输出的最大概率命名作为结果,输出维度为1×1。
基于上述变量名生成方法,本公开还提供了一种变量名生成装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的变量名生成装置的结构框图。
如图9所示,该实施例的变量名生成装置900包括第一变量名获取模块910、输入编码矩阵形成模块920和第二变量名生成模块930。
第一变量名获取模块9100用于获取第一变量名和所述第一变量名对应的数据类型。在一实施例中,第一变量名获取模块910可以用于执行前文描述的操作S210,在此不再赘述。
输入编码矩阵形成模块920用于基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵。在一实施例中,输入编码矩阵形成模块920可以用于执行前文描述的操作S220,在此不再赘述。
第二变量名生成模块930用于基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。在一实施例中,第二变量名生成模块930可以用于执行前文描述的操作S230,在此不再赘述。
在本公开的实施例中,为例解决现有技术中在低代码平台下变量名可读性较差的技术问题,本公开的实施例采用了自然语言处理技术,首先获取意图命名的变量名和对应的数据类型,然后融合变量名和数据类型,形成输入的编码矩阵,最后将输入编码矩阵入模生成第二变量名作为读取代码时所使用的变量名。本公开的实施例引入了一种代码可读性优化技术方案,旨在确保非专业开发人员在使用低代码平台进行功能开发过程中的变量规范性,以优化工程源码的可读性,进而提高后续基于工程源码的二次开发或问题排查的效率。
根据本公开的实施例,所述输入编码矩阵形成模块,包括:特征向量转化单元和输入编码矩阵形成单元,所述特征向量转化单元,用于分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量;所述输入编码矩阵形成单元,用于基于所述第一特征向量和所述第二特征向量,形成输入编码矩阵。
根据本公开的实施例,所述特征向量转化单元,包括:第一变量名转化子单元,用于对于所述第一变量名,将所述变量名输入至词向量编码器,得到输出的所述第一变量名分词后的N个词向量。
根据本公开的实施例,所述特征向量转化单元,还包括:数据类型转化子单元,用于对于所述第一变量名对应的数据类型,将所述第一变量名输入至所述词向量编码器,得到输出的所述第二特征向量;或者对于所述第一变量名对应的数据类型,基于所述第一变量名的数据类型,通过预设的静态规则,将所述变量名的数据类型转化为对应的所述第二特征向量。
根据本公开的实施例,所述第二变量名生成模块,包括:第二变量名生成子模块,用于基于所述输入编码矩阵作为transformer模型的编码器-解码器的输入,得到输出编码矩阵;基于transformer模型的全连接层降维所述输出编码矩阵,得到生成M个初始变量名以及M个置信度,所述初始变量名和所述置信度一一对应,M为正整数;以及选择所述置信度最高的所述初始变量名作为第二变量名。
根据本公开的实施例,所述装置还包括训练模块:用于获取训练集,所述训练集包括变量名样本、变量名样本对应的数据类型以及期望变量名样本;将所述变量名样本和所述变量名样本对应的数据类型转化为输入编码矩阵样本;基于所述输入编码矩阵样本作为transformer模型的编码器-解码器的输入,得到输出编码矩阵样本;基于transformer模型的全连接层降维所述输出编码矩阵样本,得到生成K个初始变量名样本以及K个置信度样本,所述初始变量名样本和所述置信度样本一一对应,K为正整数;选择所述置信度样本最高的所述初始变量名样本作为第二变量名样本;通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则;在所述第二变量名样本命中标准化命名规则的情况下,输出正相关系数;基于所述正相关系数计算损失函数;以及通过所述损失函数微调所述预设的命名生成模型。
根据本公开的实施例,所述训练模块:还用于在所述第二变量名样本未命中标准化命名规则的情况下,输出负相关系数;基于所述负相关系数计算损失函数;以及通过所述损失函数微调所述命名生成模型。
根据本公开的实施例,第一变量名获取模块910、输入编码矩阵形成模块920和第二变量名生成模块930中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一变量名获取模块910、输入编码矩阵形成模块920和第二变量名生成模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一变量名获取模块910、输入编码矩阵形成模块920和第二变量名生成模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现变量名生成方法的电子设备的方框图。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种变量名生成方法,其特征在于,所述方法包括:
获取第一变量名和所述第一变量名对应的数据类型;
基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;
基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵,包括:
分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量;以及
基于所述第一特征向量和所述第二特征向量,形成输入编码矩阵。
3.根据权利要求2所述的方法,其特征在于,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,包括:
对于所述第一变量名,将所述变量名输入至词向量编码器,得到输出的所述第一变量名分词后的N个词向量,N为正整数。
4.根据权利要求3所述的方法,其特征在于,所述分别将所述第一变量名和所述第一变量名对应的数据类型转化为第一特征向量和第二特征向量,还包括:
对于所述第一变量名对应的数据类型,将所述第一变量名输入至所述词向量编码器,得到输出的所述第二特征向量;或者
对于所述第一变量名对应的数据类型,基于所述第一变量名的数据类型,通过预设的静态规则,将所述变量名的数据类型转化为对应的所述第二特征向量。
5.根据权利要求1所述的方法,其特征在于,所述基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名,包括:
基于所述输入编码矩阵作为transformer模型的编码器-解码器的输入,得到输出编码矩阵;
基于transformer模型的全连接层降维所述输出编码矩阵,得到生成M个初始变量名以及M个置信度,所述初始变量名和所述置信度一一对应,M为正整数;以及
选择所述置信度最高的所述初始变量名作为第二变量名。
6.根据权利要求1~5中任一项所述的方法,其特征在于,所述预设的命名生成模型的训练方法包括:
获取训练集,所述训练集包括变量名样本、变量名样本对应的数据类型以及期望变量名样本;
将所述变量名样本和所述变量名样本对应的数据类型转化为输入编码矩阵样本;
基于所述输入编码矩阵样本作为transformer模型的编码器-解码器的输入,得到输出编码矩阵样本;
基于transformer模型的全连接层降维所述输出编码矩阵样本,得到生成K个初始变量名样本以及K个置信度样本,所述初始变量名样本和所述置信度样本一一对应,K为正整数;
选择所述置信度样本最高的所述初始变量名样本作为第二变量名样本;
通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则;
在所述第二变量名样本命中标准化命名规则的情况下,输出正相关系数;
基于所述正相关系数计算损失函数;以及
通过所述损失函数微调所述预设的命名生成模型。
7.根据权利要求6所述的方法,其特征在于,在所述通过预设的决策树模型,判断所述第二变量名样本是否命中标准化命名规则后,包括:
在所述第二变量名样本未命中标准化命名规则的情况下,输出负相关系数;
基于所述负相关系数计算损失函数;以及
通过所述损失函数微调所述命名生成模型。
8.一种变量名生成装置,其特征在于,所述装置包括:
第一变量名获取模块,用于获取第一变量名和所述第一变量名对应的数据类型;
输入编码矩阵形成模块,用于基于所述第一变量名和所述第一变量名对应的数据类型,形成输入编码矩阵;
第二变量名生成模块,用于基于所述输入编码矩阵,通过预设的命名生成模型,生成第二变量名。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序,
其特征在于,所述一个或多个处理器执行所述一个或多个计算机程序以实现根据权利要求1~7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
CN202410263498.4A 2024-03-07 2024-03-07 变量名生成方法、装置、设备、介质和产品 Pending CN118153575A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410263498.4A CN118153575A (zh) 2024-03-07 2024-03-07 变量名生成方法、装置、设备、介质和产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410263498.4A CN118153575A (zh) 2024-03-07 2024-03-07 变量名生成方法、装置、设备、介质和产品

Publications (1)

Publication Number Publication Date
CN118153575A true CN118153575A (zh) 2024-06-07

Family

ID=91297685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410263498.4A Pending CN118153575A (zh) 2024-03-07 2024-03-07 变量名生成方法、装置、设备、介质和产品

Country Status (1)

Country Link
CN (1) CN118153575A (zh)

Similar Documents

Publication Publication Date Title
CN110287278B (zh) 评论生成方法、装置、服务器及存储介质
CN111522958A (zh) 文本分类方法和装置
CN114861889B (zh) 深度学习模型的训练方法、目标对象检测方法和装置
US10803257B2 (en) Machine translation locking using sequence-based lock/unlock classification
CN114912450B (zh) 信息生成方法与装置、训练方法、电子设备和存储介质
CN113779277A (zh) 用于生成文本的方法和装置
CN116341564A (zh) 基于语义理解的问题推理方法和装置
CN115587184A (zh) 一种关键信息抽取模型的训练方法、装置及其存储介质
CN117634490A (zh) 信息抽取方法、装置、设备、介质和程序产品
CN114386408A (zh) 政务敏感信息识别方法、装置、设备、介质和程序产品
CN111459959B (zh) 用于更新事件集合的方法和装置
CN112542154B (zh) 文本转换方法、装置、计算机可读存储介质及电子设备
CN117744662A (zh) 用于处理提示信息的方法、装置、电子设备及介质
CN112926334A (zh) 确定词表示向量的方法、装置及电子设备
CN117113999A (zh) 命名实体识别方法、装置、设备、存储介质及程序产品
CN114691836B (zh) 文本的情感倾向性分析方法、装置、设备及介质
CN115620726A (zh) 语音文本生成方法、语音文本生成模型的训练方法、装置
CN112883711B (zh) 摘要生成的方法、装置及电子设备
US20210142006A1 (en) Generating method, non-transitory computer readable recording medium, and information processing apparatus
CN118153575A (zh) 变量名生成方法、装置、设备、介质和产品
CN114691850A (zh) 生成问答对的方法、神经网络模型的训练方法和装置
CN114580446A (zh) 基于文档上下文的神经机器翻译方法及装置
CN113935334A (zh) 文本信息处理方法、装置、设备和介质
US20210142010A1 (en) Learning method, translation method, information processing apparatus, and recording medium
US20230084438A1 (en) Method of generating text, method of training model, electronic device, and medium

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination