我想将变量赋值命令转换为代码。例如:“创建一个等于数字 7 的变量 alpha”或“定义一个新变量 alpha 并将其设置为 7”,两者都应转换为:
int alpha = 7;
我计划如何完成这项任务是通过查找字符串中的特定组件(例如变量名和变量值)。一旦我弄清楚变量名是“alpha”并且变量值是“7”,我就可以构造上面看到的代码。但是我将如何通过自然语言处理找到变量名和变量值呢?用户可能会添加额外的单词或省略一些单词(甚至可能颠倒顺序)。
我想将变量赋值命令转换为代码。例如:“创建一个等于数字 7 的变量 alpha”或“定义一个新变量 alpha 并将其设置为 7”,两者都应转换为:
int alpha = 7;
我计划如何完成这项任务是通过查找字符串中的特定组件(例如变量名和变量值)。一旦我弄清楚变量名是“alpha”并且变量值是“7”,我就可以构造上面看到的代码。但是我将如何通过自然语言处理找到变量名和变量值呢?用户可能会添加额外的单词或省略一些单词(甚至可能颠倒顺序)。
这是一个非常困难的问题。您可以尝试一些基于依赖语法的规则,例如,您可以从spacy获得这些规则,但这些规则可能只涵盖人们实际可以说的一小部分内容。
CMU 的研究人员最近发布了一个数据集,并宣布了一项针对这项任务的挑战。挑战赛在CodaLab上进行,根据排行榜,似乎所有提交的作品都使用了组织者提供的数千个示例训练的神经网络。