具有用户交互界面的模型训练系统、方法
技术领域
本发明涉及机器学习技术领域,具体涉及一种具有用户交互界面的模型训练系统、方法。
背景技术
现有的机器学习模型训练方法中,关于模型训练数据的获取、模型训练、模型的发布以及对模型重新训练等环节通常是分开进行的。机器学习模型的训练过程通常比较繁琐,需要专业人员予以操作,以避免出现差错。但企业如果配置专门的技术人员用人成本较高,而且人为完成对模型训练数据的选取、模型训练策略的制定等高度依赖于技术人员的知识水平,导致所训练的模型的预测性能可能并不理想。
发明内容
本发明的目的在于提供一种具有用户交互界面的模型训练系统、方法,通过一人机交互界面将涉及模型训练的全过程展示给用户,用户只需要根据提示界面进行操作,即可对完成对模型的训练,简化了模型训练过程,降低了模型训练的出错概率,可有效确保模型性能,同时降低了对技术人员技术水平的依赖程度,有利于降低企业的用人成本。
为达此目的,本发明采用以下技术方案:
提供一种具有用户交互界面的模型训练系统,包括一运行于智能终端上的用户交互界面,用户通过所述用户交互界面对模型训练的全过程进行操作,所述系统包括:
数据特征设置模块,用于提供给所述用户设置所要获取的模型训练数据的数据特征;
元数据信息获取模块,连接所述数据特征设置模块,用于根据设置的所述数据特征从一Hive数据库中获取关联所述模型训练数据的元数据信息;
元数据信息显示模块,连接所述元数据信息获取模块,用于将获取到的所述元数据信息通过所述用户交互界面显示给所述用户;
数据选择模块,连接所述元数据信息显示模块,用于提供给所述用户从显示的所述元数据信息中选定模型训练所需的模型数据信息;
数据转换模块,连接所述数据选择模块,用于将所述用户选定的所述模型数据信息转换成HiveQL语句;
模型训练数据获取模块,连接所述数据转换模块,用于根据所转换的所述HiveQL语句从所述Hive数据库中获取所述模型数据信息对应的所述模型训练数据;
机器学习数据文件生成模块,连接所述模型训练数据获取模块,用于将所述模型训练数据持久化为数据文件并存储;
模型训练策略选择模块,用于提供给所述用户选择模型训练策略,所述模型训练策略预存于所述智能终端中;
模型训练算法匹配模块,连接所述模型训练策略选择模块,用于根据所述用户选择的所述模型训练策略从一算法库中匹配到相应的模型训练算法,并将所述模型训练算法打包成算法文件;
模型训练周期设置模块,用于提供给所述用户设置训练所述模型的周期并生成模型训练周期信息;
服务器配置信息设置模块,用于提供给所述用户配置用于训练所述模型的一远程服务器的服务器信息;
模型训练模块,分别连接所述机器学习数据文件生成模块、所述模型训练算法匹配模块、所述模型训练周期设置模块和所述服务器配置信息设置模块,用于在所述用户完成对所述远程服务器的信息配置后,将所述数据文件、所述算法文件和所述模型训练周期信息发送给所述远程服务器,并用于远程控制所述远程服务器基于所述数据文件、所述算法文件,并根据所述用户确定的训练所述模型的周期进行模型训练。
作为本发明的一种优选方案,所述机器学习数据文件生成模块中具体包括:
数据持久化单元,用于将所述模型训练数据持久化为模型训练所需的所述数据文件;
数据压缩单元,连接所述数据持久化单元,用于将所述数据文件压缩为数据文件压缩包。
作为本发明的一种优选方案,所述模型训练模块中具体包括:
模型训练数据发送单元,用于在所述用户完成对所述远程服务器的信息配置后,将所述数据文件压缩包发送给配置好的所述远程服务器;
模型算法文件发送单元,用于在所述用户完成对所述远程服务器的信息配置后将所述模型算法文件发送给所述远程服务器;
模型训练周期信息发送单元,用于在所述用户完成对所述远程服务器的信息配置后将所述模型训练周期信息发送给所述远程服务器;
文件解压缩单元,用于提供给所述用户对所述远程服务器接收的所述数据文件压缩包、和/所述算法文件进行远程解压;
模型训练远程执行单元,用于控制所述远程服务器基于解压的所述数据文件、所述算法文件,并根据所述用户确定的训练所述模型的周期进行模型训练。
作为本发明的一种优选方案,所述元数据信息至少包括所述模型训练数据对应的实体名称、实体属性名和实体属性类型。
作为本发明的一种优选方案,所述实体属性类型包括获取所述元数据信息的UID、PID、元数据信息的行为时间、行为类型、元数据信息的连续性或离散性情况以及所述元数据信息的数据类型、数据向量类型、时间戳中的任意一种或多种。
本发明还提供了一种具有用户交互界面的模型训练方法,通过应用所述模型训练系统实现,所述方法包括如下步骤:
步骤S1,所述用户通过所述系统提供的所述用户交互界面设置所要获取的所述模型训练数据的数据特征;
步骤S2,所述系统根据所述用户设置的所述数据特征从所述Hive数据库中获取关联所述模型训练数据的所述元数据信息;
步骤S3,所述系统将获取的所述元数据信息通过所述用户交互界面显示给所述用户;
步骤S4,所述用户从所述系统显示的所述元数据信息中选定模型训练所需的模型数据信息;
步骤S5,所述系统将所述用户选定的所述模型数据信息转换成HiveQL语句;
步骤S6,所述系统根据所转换的所述HiveQL语句从所述Hive数据库中获取所述模型数据信息对应的所述模型训练数据;
步骤S7,所述系统将所述模型训练数据持久化为所述数据文件并存储;
步骤S8,所述用户通过所述用户交互界面选择所述模型训练策略;
步骤S9,所述系统根据用户选择的所述模型训练策略从所述算法库中匹配出相应的所述模型训练算法,并将所述模型训练算法打包成所述算法文件;
步骤S10,所述用户通过所述用户交互界面设置训练所述模型的周期并生成所述模型训练周期信息;
步骤S11,所述用户通过所述用户交互界面配置用于训练所述模型的所述远程服务器的所述服务器信息;
步骤S12,所述系统将所述数据文件、所述算法文件和所述模型训练周期信息发送给所述远程服务器;
步骤S13,所述用户通过所述用户交互界面远程控制所述远程服务器基于所接收到的所述数据文件、所述算法文件,并根据用户确定的训练所述模型的周期进行模型训练。
作为本发明的一种优选方案,所述步骤S11中,将所述数据文件压缩为数据文件压缩包后发送给所配置的所述远程服务器。
作为本发明的一种优选方案,所述远程服务器包括Web服务器。
作为本发明的一种优选方案,所述Web服务器为nginx服务器。
本发明通过一人机交互界面将涉及模型训练的全过程展示给用户,用户只需要根据提示界面进行操作,即可对完成对模型的训练,简化了模型训练过程,降低了模型训练的出错概率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例所述的具有用户交互界面的模型训练系统的结构示意图;
图2是所述模型训练系统中的所述机器学习数据文件生成模块的内部结构示意图;
图3是所述模型训练系统中的所述模型训练模块的内部结构示意图;
图4是本发明一实施例所述的具有用户交互界面的模型训练方法的步骤图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明一实施例所述的具有用户交互界面的模型训练系统,包括一运行于智能终端上的用户交互界面,用于通过该用户交互界面对模型训练的全过程进行操作,请参照图1,该系统包括:
数据特征设置模块1,用于提供给用户设置所要获取的模型训练数据的数据特征;这里的数据特征包括但不限于模型训练数据存储于Hive数据库中的表名称、表字段。
元数据信息获取模块2,连接数据特征设置模块1,用于根据设置的数据特征从Hive数据库100中获取关联模型训练数据的元数据信息;作为一种优选情况,元数据信息获取模块可以通过用户开发的Hive-Jdbc-Driver工具获取Hive数据库中表的元数据信息。元数据信息包括但不限于模型训练数据对应的实体名称、实体属性名和实体属性类型。实体属性类型包括但不限于获取元数据信息的UID(用户ID)、PID(进程ID)、获取元数据信息行为的行为时间、行为类型、所获取的元数据信息的连续性或离散性情况以及元数据信息的数据类型、数据向量类型、时间戳。
元数据信息显示模块3,连接元数据信息获取模块2,用于将获取到的元数据信息通过用户交互界面显示给用户;
数据选择模块4,连接元数据信息显示模块3,用于提供给用户从显示的元数据信息中选定模型训练所需的模型数据信息;模型数据信息包括所要获取的模型训练数据的实体名称、实体字段以及获取每个实体字段的条件;
数据转换模块5,连接数据选择模块4,用于将用户选定的模型数据信息转换成HiveQL语句;
模型训练数据获取模块6,连接数据转换模块5,用于根据转换的HiveQL语句从Hive数据库中获取模型数据信息对应的模型训练数据;这里同样可通过Hive-Jdbc-Driver工具从Hive数据库中将模型训练数据下载到本地;
机器学习数据文件生成模块7,连接模型训练数据获取模块6,用于将模型训练数据持久化为数据文件并存储;这里的数据文件包括元数据文件、详情数据文件和辅助数据文件,
元数据文件为对详情数据文件数据属性列名称、数据排列顺序、数据类型等信息进行描述的文本文件。这里的文本文件通常以JSON(JavaScript Object Notation)格式表达,
元数据文件以JSON文本格式表达的示例如下:
{"bhv_type":"BHV_TYPE","bhv_time":"BHV_TIME","user_id":"UID","product_id":"P ID"};
详情数据文件是根据用户选定的模型数据信息在Hive库中的表名称、字段属性、字段属性条件等数据特征在Hive数据库中获取的数据列之间用“|”分割的文件格式的文件。详情数据文件的文本表达示例如下:
bhv_type|bhv_time|user_id|product_id
4|2019-04-06 11:14:18|15f70de5271144f1929d012ff9ac7d15|1087963234125508608;
辅助数据文件即打分类型文件,打分类型文件是对行为类型的字段进行归类,并对每个分类进行打分的以JSON格式表达的文本文件;
辅助数据文件以JSON格式表达的文本文件示例如下:
{"1":4,"2":6,"3":12,"4":4,"5":7,"6":2,"7":8,"8":5}
模型训练策略选择模块8,用于提供给用户选择模型训练策略并生成模型训练策略信息,模型训练策略预存于智能终端和远程服务器中。模型训练策略为机器学习算法选择相应的模型训练策略。策略包括个性化推荐、热门推荐、相似推荐、时间排序推荐等。
个人化推荐指的是根据用户不同的喜好向用户推荐商品;
热门推荐是根据商品的受欢迎程度向用户进行推荐;
相似推荐则根据商品相似度向用户进行推荐;
时间排序推荐则将最新的商品推荐给用户。
模型训练算法匹配模块9,连接模型训练策略选择模块8,用于根据用户选择的模型训练策略从一算法库200中匹配到相应的模型训练算法,并将模型训练算法打包成算法文件;
由于模型通过需要进行迭代更新,所以优选地,模型训练系统还包括:
模型训练周期设置模块10,用于提供给用户设置训练模型的周期并生成模型训练周期信息;
服务器配置信息设置模块11,用于提供给用户配置用于训练模型的一远程服务器的服务器信息;
模型训练模块12,分别连接机器学习数据文件生成模块7、模型训练算法匹配模块9、模型训练周期设置模块10和服务器配置信息设置模块11,用于在用户完成对远程服务器的信息配置后,将数据文件、算法文件和模型训练周期信息发送给远程服务器,并用于远程控制远程服务器基于数据文件、算法文件,并根据用户确定的训练模型的周期对进行模型训练。
为了方便将数据文件发送给远程服务器,优选地,请参照图2,机器学习数据文件生成模块7中具体包括:
数据持久化单元71,用于将获取的模型训练数据持久化为模型训练所需的数据文件;
数据压缩单元72,连接数据持久化单元71,用于将数据文件压缩为数据文件压缩包,模型训练数据通过压缩包的形式发送给远程服务器。
请参照图3,模型训练模块12中具体包括:
模型训练数据发送单元121,用于在用户完成对远程服务器的信息配置后,将数据文件压缩包发送给配置好的远程服务器;
模型算法文件发送单元122,用于在用户完成对远程服务器的信息配置后将模型算法文件发送给远程服务器;
模型训练周期信息发送单元123,用于在用户完成对远程服务器的信息配置后将模型训练周期信息发送给远程服务器;
文件解压缩单元124,用于提供给用户对远程服务器接收的数据文件压缩包和/或算法文件进行远程解压;
模型训练远程执行单元125,用于控制远程服务器根据解压的数据文件、算法文件,并根据用户确定训练该模型的周期进行模型训练。
上述技术方案中,远程服务器可优选为nginx服务器。
请参照图4,本发明还提供了一种具有用户交互界面的模型训练方法,通过应用上述的模型训练系统实现,该方法包括如下步骤:
步骤S1,用户通过系统提供的用户交互界面设置所要获取的模型训练数据的数据特征;数据特征包括但不限于模型训练数据存储于Hive数据库中的表名称、表字段;
步骤S2,系统根据用户设置的数据特征从Hive数据库中获取关联模型训练数据的元数据信息;
步骤S3,系统将获取的元数据信息通过用户交互界面展示给用户;
步骤S4,用户从系统显示的元数据信息中选定模型训练所需的模型数据信息;
步骤S5,系统将用户选定的模型数据信息转换成HiveQL语句;
步骤S6,系统根据所转换的HiveQL语句从Hive数据库中获取模型数据信息对应的模型训练数据;
步骤S7,系统将模型训练数据持久化为数据文件并存储;
步骤S8,用户通过用户交互界面选择模型训练策略;
步骤S9,系统根据用户选择的模型训练策略从一算法库中匹配出相应的模型训练算法,并将该模型训练算法打包成算法文件;
步骤S10,用户通过用户交互界面设置训练模型的周期并生成模型训练周期信息;
步骤S11,用户通过用户交互界面配置用于训练模型的远程服务器的服务器信息;服务器信息包括服务器的IP地址、服务器用户账号、密码等基本信息;
步骤S12,系统将数据文件、算法文件和模型训练周期信息发送给远程服器;
步骤S13,用户通过用户交互界面远程控制远程服务器基于所接收到的数据文件、算法文件,并根据用户确定的训练模型的周期进行模型训练。
作为一种优选方案,步骤S11中,将数据文件压缩为数据文件压缩包后再发送给所配置的远程服务器,这样有助于提高模型训练的效率。
另外,远程服务器优选为Web服务器。更优选地,Web服务器为nginx服务器。
上述技术方案中,远程服务器与智能终端通信连接。
用户通过本发明提供的系统对模型进行训练的过程简述如下:
用于在服务器配置页面配置好机器学习算法所用服务器(包括远程服务器)的IP地址、用户账号、密码,然后点击部署按钮后通过Trilead-ssh2工具(现有的工具)根据配置好的服务器信息把机器学习所需的算法文件压缩包以及算法所需的数据文件(模型训练数据文件)压缩包传输到服务器的制定目录,然后通过服务器执行shell脚本的形式将服务器接收到的算法文件、数据文件进行解压缩。最后通过再次执行shell脚本完成对模型的训练。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。