IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 危机!感觉Python开发者要失业了 -> 正文阅读

[Python知识库]危机!感觉Python开发者要失业了

2020年6月OpenAI发布了最新的GPT-3模型,它不仅能够实现一些强大的自然语言处理功能,还带来了另外一项有趣的突破--能够生成React代码。

在Python代码中,很多工程相关的代码也是使用各种第三方工具包进行完成。以数据分析为例,会在很多地方用到pandas,但是,往往繁琐的命令和复杂的语法很难记住。然而,在一些博客和网站找到对应的代码片段又需要修改一些变量和列名。

收到GPT-3的启发,开发人员考虑,是否可以把自动生成代码引入到Jupyter Notebook中,开发一款Jupyter Notebook插件,让它能够实现通过自然语言描述轻松转化成代码。

于是,本文的主角--Text2Code就应用而生了,本文就来介绍一下它的使用。

Text2Code

功能

Text2Code[1]是一款Jupyte Noteboo插件,它能够实现从英文自然语言描述到Python代码的轻松转换。

img

换句话说,你只需要用英文描述一下你想完成的功能,Text2Code就可以把它转化成Python代码。

例如,你给出一段英文描述:

group the df by heroes_gender and get min, max, mean and sum of episode_duration

然后,它就会在cell中生成代码片段:

df[['heroes_gender', 'episode_duration']].group_by(['heroes_gender']).agg(['min', 'max', 'mean', 'sum'])

实现

Text2Code建立在可扩展的监督模型基础上进行开发而成,它主要包含如下部分:

  • 生成/收集训练数据

  • 意图匹配:用户想要做什么?

  • 命名实体识别:识别句子中的变量(实体)

  • 填充模板:在固定模板中使用提取的实体生成代码

  • 封装Jupyter Notebook扩展

使用方法

Jupyter Notebook的安装步骤如下:

$ git clone https://github.com/deepklarity/jupyter-text2code.git
$ cd jupyter-text2code
$ pip install .

使用详细说明如下:

  • 打开Jupyter Notebook

  • 如果前面安装成功,那么第一次从 tensorflow_hub 下载 Universal Sentence Encoder 模型

  • 点击菜单上出现的Terminal图标(激活扩展)

  • 键入 "help "查看当前支持的命令列表

生成训练数据

为了生成训练数据,开发者模拟用户要向系统查询的内容,先用一下自己认为的格式给出一段英文描述。

img

找出一段英文描述中的关键词,然后用生成器去生成一些关键词,来替代实现数据集中的内容,以此来生成训练数据。

意图匹配

img

在生成数据后,这些数据被映射为特定意图的唯一 "intent_id",然后使用Universal Sentence Encoder来获取用户查询的嵌入,并找到与预定义意图查询(生成数据)的余弦相似性。Universal Sentence Encoder类似于word2vec,它可以生成嵌入,但针对的是句子而不是单词。

命名实体识别

img

生成的数据可以用来训练一个自定义的实体识别模型,它可以检测列名、变量、库名。为此,开发人员探索了HuggingFace模型,但最终还是使用Spacy来训练自定义模型,主要是因为HuggingFace模型是基于变换器的模型,相对于Spacy来说有点重。

填充模板

img

只要正确识别实体,正确匹配意图,填写模板就非常容易。例如,"show 5 rows from df "查询会得到两个实体:一个是变量,一个是数字。对此,模板代码的编写很直接。

干货推荐

为了方便大家,我花费了半个月的时间把这几年来收集的各种技术干货整理到一起,其中内容包括但不限于Python、机器学习、深度学习、计算机视觉、推荐系统、Linux、工程化、Java,内容多达5T+,我把各个资源下载链接整理到一个文档内,目录如下:

img

所有干货送给大家,希望能够点赞支持一下!

http://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA (提取码:0000)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-06 23:59:44  更:2021-07-07 00:00:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:46:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码