AI助力NLP,零基础也能做情感分析
引言
python作为AI开发下的第一语言,毋庸置疑是助力我们成为一个AI全栈+前端应用开发工程师的首选语言。你是否常常为配置环境变量、各种插件下载各种配置问题感到困扰呢?
在AI时代,这一切都变得简单了起来,让我们一起转变固有思维,拥抱时代潮流带来的红利,感受AI带来的便利!
Huggingface
web开发工程师借助于Huggingface(抱抱脸),全网第一的nlp社区,提供的transformers库(支持python,js),快速实现nlp任务。
在当今技术领域,开源社区扮演着重要的角色,推动着技术的发展与创新。抱抱脸(Hugging Face)作为一家以人工智能技术为核心的开源社区,不仅提供了丰富的自然语言处理工具和模型,还促进了学术界与工业界的交流与合作。
Colaboratory
当传统web应用开发工程师还在苦心配置环境时,你已经可以之间通过Colaboratory直接开始应用开发之旅了! ------>colab.research.google.com
当然在此之前你需要拥有:
- Google账号
- 众所周知,Google引擎在国内不可使用,因此需要完成科学上网工作。(不懂的同学可以私信交流)
正式开始
在完成上述工作以后,通过colab我们可以直接进行开发工作
- web开发工程师借助于Huggingface(抱抱脸),全网第一的nlp社区,提供的transformers 库(python , js),快速实现nlp任务 这样子我们的库就已经导入啦。
!pip install transformers
- 导入管道模块,指定任务(我们以情感分析为例感受AI时代的便利)
pipeline
Python的pipeline
模块通常指的是sklearn.pipeline
,它是scikit-learn(sklearn)库中的一个重要模块,用于构建机器学习的工作流程。这个模块的主要功能是帮助用户将多个处理步骤(例如数据预处理、特征工程、模型训练等)有机地串联起来,形成一个完整的数据处理流程。下面是sklearn.pipeline
模块的主要功能
- 方便的工作流程构建:
pipeline
允许用户将多个数据处理步骤按顺序组合在一起,形成一个完整的工作流程。这些步骤可以包括数据预处理、特征提取、特征选择、模型训练等。 - 统一的接口:
pipeline
中的每个步骤都必须实现fit
和transform
方法,这样可以保证每个步骤都具有统一的接口,方便进行组合和调用。 - 避免数据泄露:在使用交叉验证等技术进行模型评估时,很容易发生数据泄露的问题。
pipeline
可以在每次交叉验证时自动对训练集进行拆分,并确保在每个拆分中只使用训练集的数据来进行训练和验证,从而避免数据泄露的问题。 - 参数网格搜索:
pipeline
可以与GridSearchCV
等网格搜索技术结合使用,方便地对整个工作流程进行参数搜索和调优,从而找到最佳的参数组合。 - 代码简洁:通过使用
pipeline
,可以将复杂的数据处理流程简化成几行代码,使代码更加清晰易懂。
from transformers import pipeline
classifier =pipeline('sentiment-analysis')
output= classifier('I love you')
print(output)
至此我们可以发现不需要多余的操作,便能够分析出这句话到底是积极还是消极以及给出的评分0.99 那么I hate you呢?是否准确?我们拭目以待
哎呦不错哦,这种明确表达意思的语句看来已经被拿捏的死死的了,让我们试一试遥遥领先这句话,我们的transformers库(用于自然语言处理(NLP)任务中的预训练模型和相关工具)能否为我们带来满意的结果。
ohno!作为一个国人,我不能接受这居然是一个消极语句!那么这是因为transformers库训练的不够准确?不够大吗?!显然不是!
- 下面我们重新定义一下这个pipeline,并给出准确且有针对性的训练模型
- 指定模型 模型有很多种,选择合适的模型 dianping-chinese
classifier=pipeline('sentiment-analysis',model='uer/roberta-base-finetuned-dianping-chinese')
reasult = classifier('遥遥领先')
print(reasult)
uer/roberta-base-finetuned-dianping-chinese
是一个在Hugging Face的模型仓库中的预训练模型,它是基于RoBERTa模型进行微调得到的。具体来说,它是由北京大学人类语言技术研究中心(北大-人语所)团队发布的一个针对中文评论情感分析任务(如点评数据集)进行微调得到的模型。'uer/roberta-base-finetuned-dianping-chinese'
这个模型是在RoBERTa的基础上,通过在点评数据集(可能是中文评论情感分析任务)上进行微调得到的模型。您可以使用这个模型来进行中文评论情感分析或其他类似的任务。
结语
今日份浅尝AI时代下,我们也能做机器学习情感分析已到位。事实上,AI带来的便利还有很多很多,后续我会为各位同学带来更多学习内容分享。
如有帮助,请点赞收藏+评论!感谢友友们让我们一同进步!
转载自:https://juejin.cn/post/7358704808524611603