查看原文
其他

保姆级指南:如何利用OpenAI和Python让你的简历更出彩!

数据应用学院 大数据应用 2023-08-17

今日份知识你摄入了么?

作者使用Midjourney制作的图像


几天前,我下班回来,开始玩电子游戏。


玩电子游戏对我来说是一种很好的分散注意力的方式,因为我是如此的糟糕,我真的没有把注意力放在游戏上,我开始思考。我让我的思想无处不在,大多数时候,我想到的是我喜欢的东西,比如人工智能。


因此,当我在PS4上执行任务时(当然,我又输了),我在想,许多NLP任务,如标记分类、下一个单词预测(文本生成)、情感分析、文本分类和许多其他任务,现在基本上可以在几秒钟内解决。


例如,ChatGPT是一个非常好的聊天机器人,它经过训练,可以以对话的方式回答来自任何领域的问题。它可以总结文本,回答问题,写代码,做印象,写歌曲,写食谱……


现在的趋势是构建更小、更可扩展、可开源的代码,可以用来代替ChatGPT,并且有免费的API,所以重点甚至不是ChatGPT。重点是,有这些所谓的”大型语言模型”,它们接受了大量文本的训练,有了这样的计算能力,它们可能会克服所有使用你可以在笔记本电脑上构建的较小数据集的较小方法。


我的意思是,如果你必须总结一篇文章(这不是医学上未知的、超级困难的文章),或者理解一篇评论是好是坏,就没有理由开发你的模型,因为OpenAI的免费模型可能在几秒钟内就能做到这一点。


所以我在想,“什么任务需要大量的工作,而我们现在可以在几秒钟内完成?”比如说,写一份简历。


当然,没有人可以从头开始为我们写简历,因为他们不知道我们的职业,但网上有服务,你可以使用人工智能来改进你的简历。这些服务通常不是免费的,我认为现在它们已经过时了,因为有OpenAI确实是免费的,可以比周围的所有其他模型做得更好,除非这些模型是Meta、谷歌或微软模型。


因此,我决定使用Streamlit创建一个web应用程序,每个人都可以上传他们的简历,人工智能(更具体地说,OpenAI)将在几秒钟内改善他们的简历。


在我看来,这个应用程序是这样工作的:


图片来自作者


很简单,对吧?


几个小时的工作,结果是:



现在,这看起来像是一个已经启动了几个月的初创公司,但事实是,现在,我只花了几个小时,一些基本的Python,以及Open AI的GPT-3的魔力来生产它!


我是一个书呆子,如果没有代码就向我展示这个,我不会相信的,所以让我在下一章中更详细地解释我所做的!


0

一些考虑因素


在我们开始之前,我们需要考虑一些事情,以使这次讨论更加完整。


一个合理的假设:


首先,人力资源和招聘人员的世界是一个充满挑战的世界,原因有很多。例如,就业市场是动态的,它总是在不断发展。人工智能使用训练有素的模型。这意味着,一旦模型得到训练,它获得的信息及其性能将与它所训练的可能过时的数据集有关。


出于这个原因,我想说,这种模式是作为一种语法检查和美化你的文字的工作,而不是一个真正审查你的简历并找到改进它的方法的专家。


一个安全问题:


向软件提交个人数据是否安全?


在这篇文章中,我并没有邀请你提交任何与你的工作经验不同的东西,这并不完全是一个秘密,因为每个拥有LinkedIn页面的人都可以看到它们。如果你仍然对此感到疑惑,请记住,总是可以选择在本地运行我的代码,所以实际上没有使用web应用程序,你将为你自己保留了你的简历的所有信息。


我不建议在人工智能简历修改中添加关于你的地址、电话号码或电子邮件等个人信息。


一个道德问题:


在使用人工智能来改进你的简历时,需要记住一些一般的道德考虑。


  • 建立一个没有偏见的数据集是一个非常棘手的概念,因为都可能以某种方式存在偏见:我们可以尝试做的唯一一件事是建立一个尽可能不存在偏见的数据集。这也适用于这种情况。在招聘过程中盲目和不受控制地使用人工智能,无论是在招聘还是创建简历方面,都是非常危险的,因为机器学习决策算法可能在所有决策阶段和简历的所有部分犯下有偏见的错误。(在这里阅读更多:http://gltr.io/)

  • 在简历中对人工智能的使用保持透明是很重要的。如果你使用人工智能来生成内容或优化格式,我们需要确保在你的简历中披露这一点。这是我们在工作中都应该做的事情。有时,由于这些技术与我们的生活联系紧密,我们很容易忘记适当地披露它,但这仍然是需要提醒的事情。还有一些工具可以用来查看文本是否由AI编写。(在这里阅读更多:http://gltr.io/)

  • 最后,请记住,你只是在使用一个语言模型。这个模型所做的只是以一种奇特的方式,根据世界各地数十亿条文本预测“下一个单词”。你比电脑更了解自己,所以好好挖掘,增强你的积极面,给自己加分,然后用语言模型来改进你的简历。


既然我们都同意了,让我们从代码开始吧!


1

Github!


首先,这里没有什么秘密!一切都是公开的,在Github上!


我现在将描述那里的一切,以及产生结果所必需的一切。


1.1. Constants.py


让我们从简单的事情开始


Constants.py是一个包含…常量的文件。


它得到了我们模板简历的钥匙,OpenAI模型的温度,以及我们用来改进简历的提示符。这就是他们所说的“提示工程”。


请注意!!你需要使用你的open AI键更改OPENAIKEY。它不是公共的,你不应该共享,这就是为什么我把它命名为fake_key。在这里买一把钥匙https://openai.com/api/


你可以通过更改constant.py文件来更改提示工程。这不是很容易吗?


1.2. utils.py


Utils.py是一个文件,它帮助我们从.txt文件中提取内容,并从中提取摘要部分。只是一个做了该做的事的老实人。


1.3. cv_parser.py


cv_parser.py所做的事情确实类似于utils.py,而且我实际上不确定是否应该将代码分割为两个.py文件。它只不过是一个工具箱;它所做的是处理模板和结果文件(分别是过程的开始和结束),并将工作经验解析为文本部分。它有点像公用事业所做的工作,但更与任务有关……我可能应该把它们放在同一个文件里,但我喜欢保持有序。


1.4. ai_improver.py


ai_improver.py执行适当的人工智能的部分。它通过使用OpenAI键将自己连接到OpenAI来改进简历摘要和列出的每一个工作经历。它还使用了我们构建并放入常量的所有提示,并将其放在常量文件中。


1.5. app.py


这是我们运行应用程序时使用的


streamlit run app.py


它做了所有的事情。


这里是所有道路连接的地方。该脚本执行以下步骤:


  • 它从上传文件中获取file,并使用utils.py和cv_parser.py解析它们。

  • 它使用ai_improver.py完成人工智能部分。ai_improver.py也使用constants.py文件。

  • 它允许你通过下载按钮下载人工智能改进的简历。


1.6. main.py


Main.py所做的与app.py所做的完全相同,只是在本地(没有流媒体)。运行以下代码:


python main.py


2

Results!


让我们仔细看看我得到的结果。


我的输入摘要如下:


“我是一名物理学家,在数据科学和深度学习方面有很强的技能。复杂系统与大数据物理硕士(成绩:110/110 cum laude)目前在University of Cincinnati的航空航天工程与工程力学系担任研究助理,同时攻读博士学位。我的研究目标是找到利用机器学习和数据科学优化工程实验的方法。面向数据科学的技术作家,介绍机器学习应用和技术在现实世界问题上的趋势(每月60k+浏览量)。人工智能青少年课程创作者和教师。图像处理I和信号处理I课程的开发者。”


人工智能模型输出这对招聘人员来说是一个更有吸引力和更有趣的总结:


我有广泛的物理学背景,拥有复杂系统与大数据物理硕士学位(成绩:110/110 cum laude)。我在数据科学和深度学习方面也培养了很强的技能。目前,我在攻读博士学位期间,在辛辛那提大学航空航天工程与工程力学系担任研究助理。我的研究重点是寻找使用机器学习和数据科学优化工程实验的方法。此外,我是面向数据科学的技术作家,在那里,我撰写了关于解决现实世界问题的趋势机器学习应用程序和技术(每月60k+浏览量)。我也是青少年AI课程的创建者和老师,图像处理I和信号处理I课程的开发者。我在这些领域的经验和知识使我能够发展一套独特的技能,在行业中受到高度追捧。


我不打算撒谎……我听起来确实好多了。


它当然更流畅(这是可以预见的,因为我的母语不是英语),听起来更令人兴奋。它稍微长了一点,但是,这可能是一个问题,因为我们想在简历中节省空间。


让我们来看看一个工作经验的回顾。


例如,其中之一是:


利用机器学习建立代理模型,提高机械工程实验的效率。掌握传统和深度机器学习的研究。


人工智能将其更正为:


利用机器学习创建代理建模和优化机械工程实验。在传统和深度机器学习方面都有经验,并有成功的研究记录。


…有时候我觉得这有点太勇敢了。


我仍然会说,它确实提高了文本的质量。在这种情况下,它还保持了内容的简短,这是一个优点!


3

一些收获!


在本文中,我分享了使用OpenAI的GPT-3模型创建简历改进web应用程序的经验。以下是我的经验的主要收获:


  1. 开放AI模型是一个可以执行广泛的NLP任务的工具,包括令牌分类、文本生成、情感分析和文本分类。它是如此有用,以至于许多以前的模型在这一点上基本上过时了。

  2. 该应用程序背后的概念是下载一个模板,用你的简历填写它,上传它,并让人工智能为你分析它。

  3. 创建一个网页应用程序来改进你的简历是非常容易的。只需要几个小时的代码和一些基本的Python编程。这让我认为人工智能驱动的应用程序的可能性是巨大的,随着GPT-3和Streamlit等工具变得更容易访问,即使是非编码人员(或不熟练的编码人员)也可以在短短几个小时的工作中创造令人印象深刻的结果。


最后,这整个经历再次展示了人工智能的惊人力量及其改变我们工作和生活方式的潜力,但或许我们已经知道这一点了。

原文作者:Piero Paialunga

翻译作者:马薏菲

美工编辑:过儿

校对审稿:Chuang

原文链接:https://towardsdatascience.com/using-openai-and-python-to-enhance-your-resume-a-step-by-step-guide-e2c1a359e194


本周公开课预告


往期精彩回顾


MultiversX引领Web3革命,推出金融和社交功能齐备的超级应用!

Meta重组AI部门,将生成技术应用于产品中

AI关注度持续增长,加州正在加强监管力度!

高级SQL技巧与窍门:数据分析师必备!

科技巨头大规模裁员,但情况可能并没有你想的那么糟糕





点「在看」的人都变好看了哦

点击“阅读原文”查看数据应用学院核心课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存