人工智能在Django框架中的一种实现方法

著录项
  • CN201910455151.9
  • 20190529
  • CN111638926A
  • 20200908
  • 山东英才学院
  • 苗和平;武传彬;赵红艳
  • G06F9/451
  • G06F9/451 G06N20/00

  • 山东省济南市高新技术产业开发区英才路2号
  • 山东(37)
摘要
本发明为“人工智能在Django框架中的一种实现方法”,属于计算机软件领域中的创造发明。本发明在python下的Django框架中提供了一套应用程序集合,使用这个程序集合将人工智能算法计算后的图表直接显示在客户前端的网页上,包括手机移动端。本发明解决了服务器中存储的人工智能模块运算结果无法传送到客户端的难题,它使用的是浏览器/服务器(Browser/Server)结构,其中包括用户操作层、数据集运算层、数据库存储层和后台管理层四个层次,最终将生成数据计算集显示到前端网页上。前端网页使用API接口接收后端计算完成的数据集,最终完成数据集在前端网页上的显示。本发明将主要用于物联网等复杂计算领域。
权利要求

1.本发明公开了一种人工智能在Django框架中的实现方法,本发明主张的权利包括:

本发明主要是提供一种将人工智能集成到python下Django框架中的一个应用程序集合,可以使用这个程序集合将人工智能计算后的数据显示在网页上。

4.根据权利要求1的所述的方法,使用Django框架进行用户的登录、数据集的上传、数据集结果的显示,同时将用户操作层集成了用户登录模块,数据提交模块,配置信息模块和结果显示模块。

2.该程序集合使用的是浏览器/服务器(Browser/Server)结构,其包括用户操作层、数据集运算层、数据库存储层和后台管理层四个层次,这四个层次相辅相成共同构成程序集合的运行。

3.本发明的前端和后端使用的是API无缝链接技术,该程序集合是人工智能在Django框架中的一种实现方法。

5.将数据运算层分为机器学习和深度学习的两个模块,上述数据库存储层则是使用的mysql或SQL Server或Oracle或sqlite。

说明书
技术领域

本发明涉及Django框架、人工智能、机器学习、深度学习、数据处理、网站框架、前端bootstrap 框架。

近些年来,随着大数据的不断发展,人们的信息量都呈现出爆炸指数性增长,而大数据的整体价值就是在于挖掘出其背后复杂现象的基本运算规律。如今交通、教育、农业、金融、医学、工业、还有其他领域有大量的应用。目前,对于大数据分析的方法主要是集中于统计分析、数据挖掘、机器学习和深度学习。数据的主要特点就是数据量大,通过一般的人工是难以完成的操作,因此机器学习的作用就尤为重要。为了实现最大化地发现有价值的数据,引入机器学习是必不可少的。媒体作为信息传播的重要媒介之一,在大数据时代,大量的媒体数据轰然而至。如微博每天的活跃人数都在一亿人以上,原创博文数量也是有一亿条以上的;在QQ空间中每天上传照片的数量也有超过3亿张。不计取数的媒体数据记录着全球范围内所发生各种各样的事件,这些事件的价值,都是可以带领某些社会风气的发展,甚至创造历史新的篇章。

在大数据的带领下,形形的数据处理框架都会应运而生,框架的产生主要就是为了提高软件开发效率。一套完整的框架往往都会把开发模式、数据库映射,渲染方法等结合在一起。软件框架是由其中的各个模块组成在一起的,每个模块都有特定的功能由其负责,模块与模块之间的相互协作来共同完成软件开发。其中Django框架是一种开放源代码的web应用框架,它是基于python语言写成的模块集合。它使用的是MVC软件设计模式,MVC框架的核心思想就是:解耦。让不同作用的代码块之间降低耦合,增强代码块的可扩展性和可移植性,实现向后兼容。在Django中是把MVC的思想转变成了MVT,其根本还是MVC的模式。它的基本构成就是由模板(Template)来产生HTML的页面,再由模型(Model)来和数据库进行交互,最终让视图(View)进行接收模板页面传来的请求进行处理,与模板和模型进行交互,返回应答的数据。其中前端模板可以使用框架bootstrap进行搭建和渲染。

Django框架主要目的就是简易、迅速的开发一个数据库驱动的网站。它强调代码复用,多个零件可以很简单的以"插件"形式服务于整个框架,Django有许多功能强大的第三方库,用户可以轻而易举的开发出属于自己的工具包。这使得Django框架具有非常强大的可扩展性,并且还强调快速开发和“不要重复你自己的代码”原则。

在python中的Django框架的基础上,将人工智能嵌入进去实现数据集的运算,完成计算后的数据集显示在前端网页上,而机器学习和深度学习是人工智能技术运用数学逻辑运算的计算机实现方法。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。机器学习则是实现人工智能的一个途径,即是以机器学习为手段解决人工智能中的问题。机器学习算法是一类从数据中自动分析建立模型,并利用模型对未知数据进行预测的算法。而深度学习是机器学习拉出的一个分支,它试图使用包含复杂结构或者由多重非线性变换构成的多个处理层对数据进行高层抽象的一种算法。它是基于对数据进行表征学习的一种方法。深度学习的主要特点就是用非监督式或者半监督式的特征进行学习和分层特征提取高效算法来替代手工获取特征。总的来说,机器学习就是致力于研究如何通过计算手段,利用经验来改善系统自身的各种性能;深度学习就是机器学习中的神经网络算法的一个延伸,更可以说是深度学习给了人工智能的一个璀璨的未来。

本发明主要是提供一种web端的数据运算框架将计算后的数据集进行前端远程网页显示的一种实现方法。其是基于Django框架数据远程显示的一个实现方法,采用的是如下的一种方案:

一种数据集远程网页显示的方法,采用的是浏览器/服务器(Browser/Server)结构,其中包括用户操作层、数据集运算层、数据库存储层和后台管理层四个层次。上述的用户操作层是用户用来上传数据集文件,如:数据、图像、视频、文字等,并且用户要配置一定的参数,选择所需要进行的运算方式,然后再次通过页面进行数据集结果的显示,用户操作层提供了强大的交互式的操作界面;上述的数据集运算层是进行数据集运算,根据用户操作层选择的运算方式进行数据集的运算,处理已有的数据,调用数据库存储层进行存储处理完成的数据集,数据运算层就是在用户操作层和数据库存储层之间作为一个数据处理和传递的作用;上述数据库存储层是负责存储用户发来的数据,并且负责各个数据的访问情况,数据库存储层不仅仅只是保存已有的数据和结果,还要限制访问数据的权限,防止数据产生不必要的错误和保护数据;上述后台管理层是管理员可以使用的界面,它的作用就是维护用户操作层、数据集运算层、数据库存储层和后台管理层之间的运行活动,并且记录下每项操作步骤到操作日志上;上述方法的整体实现过程是以Django框架为基础的,并有python语言的算法的嵌入。上述用户操作层中包含有用户登录模块,数据提交模块,配置信息模块和结果显示模块,四个模块相互配合构成了用户操作层。

用户登录模块是用户进行交互的一个前端网页。用户登录要有一个已经注册好的账号,如若不然则可以进行用户注册创建一个账号,然后账号密码会经过后台的数据库进行一定的处理,在数据库中比对成功,用户就可以进入用户操作界面。在用户操作页面中,用户可以进行数据的页面信息配置,如:输入器(用户输入的系列配置信息);输出器(用户输出信息的配置);页面布局等等。整体来说这个就是信息配置的模块。当信息配置完成时各种不同的数据要进行提交,提交过程中,不同的数据要提交到不同的数据集当中,进行不一样的数据处理。这就是数据提交模块。当不同的数据进行不同的处理后,要统一进行结果的页面显示,这个使用的是Django框架异步处理,相当于把各种计算的数据计算完成,再次进行显示,因为不同的数据的数据处理时长并不是一定的。其中这个就是结果显示模块。四个模块的相辅相成达成了用户操作层,用户操作层更好的是产生一个页面生成器,是为了让用户的数据信息得到一定的页面显示。在这里使用的是bootstrap前端框架,它拥有大量漂亮的组件,用于构建响应式的页面。有页眉,页脚,画廊,幻灯片甚至基本元素。也可以自己设计的各个部分的自定义组件并提取出来,并且布置到用户的网页内。上述数据运算层是嵌入了机器学习和深度学习的两个模块,这两个模块下的各个数据算法丰富多样,并且可拓展性和通用性非常强大,极大地降低了用户的操作难度和运算方式。

通过python语言嵌入机器学习的各个算法。可以将机器学习和深度学习的算法比喻成即插即用的“插件”,即使用时插入即可。“数据决定了机器学习的上限,但是算法是可以尽可能的去逼近这个上限”,这句话阐述了数据在机器学习中重要的地位。如今,大部分直接拿过来的数据都是特征不明显的、都没有经过处理的或者说是大多都是很多无用的数据集,这些数据是一定需要进行一些特征的处理,特征的缩放等等,满足训练数据的要求。通过以下步骤进行操作:

(1)收集数据:通过多种方式进行数据的收集或者是用户的数据集。

(2)准备输入数据:收集的数据都是要有一定的格式要求。

(3)分析输入数据:将数据集中的垃圾数据,进行一定的处理,如若没有垃圾数据的话可以直接进行下一步。

(4)使用算法:通过算法进行数据集的训练。

(5)得到结果数据集:将数据结果集,最后将数据结果集进行保存。

在机器学习中指出:机器学习=模型+策略+算法。

其实机器学习可以表示为:学习=表现+评估+优化。

表现(或者称为:模型):表示主要的工作就是建模,故可以称为模型。模型要完成的主要工作就是转换:将实际的问题转化成为计算机可以转化理解的问题,就是可以理解为建立模型。给出一定的数据,怎样去选择对应的模型去解决问题,选择正确的已有的模型是重要的一步。

评价(或者称为:策略):评价的目的就是判断已经建立完成的模型的优劣。对于上面选择的模型,评价是一个指标,就是用于表示模型的优劣。

优化(或者称为:算法):优化的目的就是评价现有的函数,希望能够寻求到最适合的模型。可以说机器学习主要是由三部分组成,即:表现(模型)、评价(策略)和优化(算法)。本专利有着广泛的用途,应用实例多种多样。

上述数据库存储层可以使用的mysql或SQL Server或Oracle或sqlite。丰富的数据库种类也表明了该方法适用性广泛。

通过python的数据库标准接口API进行连接合适的数据库选择,python的数据库接口支持的数据库种类非常多,可以有更多的选择更加合适的数据库。

本发明的实施的主要有益成果就是:该方法提供了不在将数据运算的各项功能局限于本地运算上,大大的提高了数据运算的灵活性,实现了无需用户在本地安装任何庞大的数据计算客户端,即可以通过使用浏览器进行访问,将数据进行上传发送至服务器上,再进行一定的信息配置后,浏览器就会给出数据运算后的结果。更加方便了用户数据计算的过程,极大地节约了运算的时间和操作流程。该方法还使用了跨平台的语言进行开发,增强了该方法的可扩展性和通用性,并且可移植性高。使用的浏览器/服务器(Browser/Server)结构让每个开发人员将各层的应用取出来单独的作为系统中间层,各个层次之间都是相互独立的,那个层次的改变并不会影响其他层次的功能,所以极大的减少了程序集合的耦合性,降低耦合的好处就是适应变化的灵活性,并当某个程序的内部结构或实现发生改变时,不影响其他程序的功能。用户无需安装复杂的软件,只要有通过可以上网的浏览器就能轻松的实现数据的运算。摒弃看复杂的安装程序,并采用浏览器/服务器(Browser/Server)结构让整个程序集合的维护升级变的更加轻松容易实现更改,而且降低了大量的经济成本和开发人力。

图1是发明整体架构框图。

图2是发明模块的结构图。

图3是本发明搭建相关配置流程图。

图4是用户操作流程图。

为了使本发明的整体结构、技术优点和方案更加清晰,下将会结合本发明实施例中的附图,对本发明的实施中的各项技术方案进行详细的描述,所描述的只是本发明的实施例的一部分,而不是全部的实施例。基于本发明的实例,任何人在没有做出创造性贡献的前提下所获得的其他实例,都是属于本发明的保护范畴之内。

图1是本发明整体架构框图,本发明实施按“图1:本发明整体架构框图”所示:

一种将人工智能集成到python下Django框架中的一个应用程序集合,是基于Django框架和python环境 下的的方法,这个是实施例的一个整体框架结构。首先搭建好Django框架再将前端框架和人工智能的各 个算法嵌入其中。在Django中是把MVC的思想转变成为了MVT,其根本还是MVC的模式,所以基本 构成就是由模板(Template)产生HTML页面,再由模型(Model)和DateBase进行交互操作,最终视图 (View)进行接收模板页面传来的请求并进行处理,还需与模板和模型进行交互,返回应答的数据。Django 框架就和服务器联系起来,Django中人工智能下的奇迹学习和深度学习要调用服务器中的数据库进行数据 运算最后返还给前端,其中前端模板可以使用框架bootstrap进行搭建和渲染。前端网页与后台服务器之间 使用的是API进行的无缝链接。

图2是本发明整个模块结构图,本发明实施按“图2:本发明整个模块结构图”所示:

本方法是使用的浏览器/服务器(Browser/Server)结构,它包括用户操作层、数据集运算层、数据库存储层和 后台管理层这四个层次。用户操作层提供了强大的交互式的操作界面,是用户上传数据、配置信息,查看 数据的主要获取方式;数据运算层是在用户操作层和数据库存储层之间作为一个数据处理和传递的作用, 根据用户操作层的运算方式进行数据集的运算,处理已有的数据,调用数据库存储层进行存储处理完成的 数据;数据库存储层是保存已有的数据和结果,还要限制访问数据的权限,防止数据产生不必要的错误和 保护数据;后台管理层是管理员可以使用的界面,负责维护整个程序集合的运行活动,并且记录程序集合 的各项活动。该方法全部都是以Django框架为基础的实现的,并有python语言的算法的嵌入。

说明本实施例的部分嵌入的算法,使用python的语言,在框架中嵌入scikit-learn库,这个库包含有机器学习的各种算法。如:分类,回归,降维,聚类等等。还有一些特征提取(extracting features)、数据处理(processing data)和模型评估(evaluatingmodels)的模块。作为Scipy库的扩展,scikit-learn也是建立在Python的NumPy和matplotlib库基础之上。NumPy可以让Python支持大量多维矩阵数据的高效操作,matplotlib提供了可视化工具,SciPy带有许多科学计算的模型。scikit-learn容易学习,所以本实例使用了这个库,它还含有丰富的API接口,使其在各个方面的应用更加广泛。scikit-learn包括有许多知名的机器学习算法的实现,包括LIBSVM和LIBLINEAR。还封装很多其他的Python库,如自然语言处理的NLTK库。此外,scikit-learn还内置了大量数据集,更允许开发者集中于算法的设计,节省获取和整理数据集的时间。

以下简略介绍部分本实施例中的集中算法:

(1)分类算法之k-近邻:是指采用测量不同特征值之间的距离来进行分类。其算法优点是精度高、对异常值不敏感、无数据输入假定;它的缺点是:计算复杂度高、空间复杂度高;使用数据范围是数值型和标称型。

(2)朴素贝叶斯:朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立,它是一个非常简单,但是实用性很强的分类模型。

(3)分类算法之逻辑回归:逻辑回归(Logistic Regression),简称LR。它的特点是能够是我们的特征输入集合转化为0和1这两类的概率。其算法优点是:计算代价不高,易于理解和实现;它的缺点是:容易欠拟合,分类精度不高;适用数据:数值型和标称型。

(4)分类算法之决策树:是一种基本的分类方法,当然也可以用于回归,决策树模型是呈现树形结构。在分类问题中,表示基于特征对实例进行分类的一个过程,它可以认为是if-then规则的集合。在决策树的结构中,每一个实例都被一条路径或者一条规则所覆盖。通常决策树学习包括三个步骤:特征选择、决策树的生成和决策树的修剪。其算法优点是:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理逻辑回归等不能解决的非线性特征数据;它的缺点是:可能产生过度匹配问题;适用数据类型:数值型和标称型。

(5)回归算法之线性回归:目标值预期是输入变量的线性组合。线性模型形式简易、更方便于建模,但却蕴含着机器学习中很多重要的基本思想。线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其算法优点是:结果易于理解,计算不复杂;它的缺点是:对非线性的数据拟合不好;适用数据类型:数值型和标称型。

(6)回归算法之岭回归:岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上它是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。当数据集中存在共线性的时候,岭回归更加适合使用。

图3是本发明搭建相关配置流程图,本发明实施按“图3:本发明搭建相关配置流程图”所示:

在搭建好的环境下将人工智能和引擎与一组工具集成结合在一起,以便更好的使用项目中生成的数据。激 活环境之后,在setting.py文件中的INSTALLED_APPS下添加好库文件,进行迁移,其次添加相关配置文 件在urls.py文件上,这个是网站地址的配置,最后确认static服务配置是否正确。前端框架配置完成嵌入 Django框架中,在模板产生的HTML页面中有留好的API接口,可以将数据进行无缝连接。

在创建数据处理框架的过程中,用户可以去自己调整前端框架一些简单的渲染参数,使前端网页更加美观。本发明都是开源的程序集合,为之后的项目提供了更多的选择,也大大的提高了工作的效率。该程序集合是布置在服务器之中的,摒弃了以往庞大软件的安装程序、多变的信息配置、不可共享性的复杂操作,通过浏览器进行远程网页显示,方便了用户的操作步骤,也减低了时间的使用。

本发明的所有配置都应该是通过贝叶斯网络的管理员来完成,或者更具体的说是通过更改表单来完成。贝叶斯网络是贝叶斯(Bayes)方法的扩展,是当前不确定因素表达最有效的理论模型之一。对于具有标签输出的网络(例如聚类或分类),这将设置存储结果的位置以方便起见。它必须具有特定的语法。API是要将对象集成到代码中,只需在必要时导入Django模型并获取要使用的运算模型。或具体的说就是API可以将不同的统计模型和技术集成到Django框架之中,它主要是提供了一个抽象层,因此可以将任何机器学习或统计引擎集成到框架中。使用API的目的就是为了提供互换性、跨请求的持久性和用户请求周期的分离。互换性是由引擎实现的每个统计模型或技术都通过API隔离,并通过接口提供其功能。这允许在系统或代码中交换任何技术,只要属于相同类型,这种解耦(或模式)具有非常好的结果,可以允许版本控制以独立地改进模型和算法。跨越请求的持久性由引擎完成推理、计算、状态等必须可用并在请求中保持不变。要与用户请求进行响应周期的分离,即从用户的请求周期中取出大量计算,独立完成并在其中公开相关的结果。在API的无缝连接下是的数据集的运算和后台的管理更加的快捷方便。

通过以上实施的方式来描述,可以更清楚的了解各个实施方式可以借助程序或者必要的通用硬件平台来实现。该方法使用Django框架并结合前端框架,还有python人工智能算法将用户数据计算后的数据集进行前端显示。虽然本发明方法有一定的实施结果,但所述的内容只是为了方便理解本发明所使用的详细说明,并非用以限定本发明。基于这样的理解本发明的各项方法内容基本表述完成,最后说明的是:以上各个实施例仅仅只是使用了说明的方式进行的,并非对其进行限制,尽管实施例对本发明有一定的详细信息说明,在本领域的一些技术人员可以理解。依然可以对上述各项记载的技术方法进行修改或者进行一定的技术特征替换,但是这些操作并不能让相应的方法脱离本发明实施例的技术范围。任何本发明所属技术领域内的技术人员,在不脱离本发明的精神和范围的前提下,可以在实施的其他应用范畴的改进,但其都应该涵盖在本发明的权利要求范围之内。

本文发布于:2024-09-24 06:27:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/73282.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议