社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

偷个懒,用ChatGPT 帮我写段生物信息代码

生信宝典 • 2 年前 • 605 次点击  

ChatGPT 是去年年底 OpenAI 发布的一个聊天机器人程序,擅长自然语言处理,看上去可以理解人类语言并进行对话。同一个聊天窗口的内容还会考虑上下文一起反馈。

GPT 全称是 Generative Pre-trained Transformer, 翻译成中文是生成预训练转换器ChatGPT并不是一个搜索引擎,而是一个深度神经网络模型。GPT通过对大量无标签的数据的学习产生一个预训练的生成式语言模型,再根据特定任务(人工标记的语料)进行微调。GPT 预训练时需要的数据不是“问题 1 - 答案 1”这样的语句对,而是一句句或一段段完整的话,如”学习生信就看生信宝典”,GPT 会计算每个字、每个词或每个句子后面承接哪个字、词或句子的可能性更大,从而构建出模型,再有人提问时,根据提问者的语句,去模型中提取最可能跟着的文字,给出答案。

比如我们问一个问题,“如何学习生物信息”,ChatGPT会根据模型计算如何学习生物信息这句话后面最可能出现的字有哪些,根据概率模型随机选择一个,比如是“”;然后继续寻找如何学习生物信息就后面可能出现的字是什么,比如是“”,一步步去递推,直到给出一个完整回答或触发终止策略 (后面你可以看到这个问题 ChatGPT 给出的答案)。这个答案是存在随机性的,你每问一次或着换不同的问法都会得到不同的答案。

当然ChatGPT还做了很多基于反馈模型的增强学习,具体可以等待ChatGPT文章发表后进一步了解。

这块也是才刚开始接触,有理解不对的,请大家指出。原理先不管,我们后面看看其效果怎样!

ChatGPT 试用

首先需要注册一个账号(好在我有一个比较早之前注册的账号),网上也有很多教程教怎么注册账号的。

登录上去是一个很简洁的页面,输入文字,开启聊天。先问第一个问题“如何学习生物信息”,给出回答如下,有板有眼,很条理,读着也是常规的建议,很像大部分公众号的文章,看着是这么回事,实则帮助也不太大。这也是因为问题很泛泛,也只能泛泛的答。

再问个问题,“请帮我写一段 python 代码从 FASTA 文件提取特定基因序列”。

这个代码看上去是很不错的,三步走:

  1. 设置2 个输入变量,fasta 文件和基因名字;

  2. 读取文件,根据>判断 FATSA的名字行和判断基因名字是否存在; 拿到序列,存起来;

  3. 输出序列。

结构上很赞,而且下面还附上了一部分代码解释、代码局限性分析和改进策略。一般初学者能独立写代码完成到这个程度,我认为可以说是程序已经入门了。

当然这个程序还存在至少 2 个问题:

  1. 只能处理单行序列的 FASTA 文件,因为它只取了”>”开头的行后面的第一行。

    如果是多行 FASTA 序列,取出的结果是不完整的;

  2. gene name 的判断是匹配模型,比如输入Sox1,可能会匹配到Sox11 (如果 Sox11这条序列先出现的话)。

拿到代码了,怎么调用呢?我们继续追问下去。这个回答还是很详细的,

  1. 体现出了上下文思想,ChatGPT 知道要运行的是上面回答的代码;

  2. 告诉了我们如何把代码存成文件,然后在终端用命令行调用;

  3. 还贴心的提示了代码什么地方要修改。

如果有不懂的还可以继续追问,下面的视频展示了与ChatGPT交流的实时过程。

后面有新的测试,再来分享。


往期精品(点击图片直达文字对应教程)

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156944
 
605 次点击