引子
前些年我做过商品搜索,当时为了优化一些搜索词和搜索关联提示,接触到一点NLP的知识。所以后来有一场非全日制的研究生考试,为了高效的复习英语单词,我爬取了往年的历史真题数据,以及其他模拟等各种试题的数据。然后再通过python去分词、计算词频、词权以及各种优化,还有一些语气词辅助词的分析去除等。大概用了差不多一周的时间,才完整弄出来一个高频词汇的结果。
传统的分析方式
这里先介绍下,使用传统的方式如何去分析和计算。
github地址:https://github.com/Kingsea442/nlp_word/tree/master
原始真题数据:
结果:
分析出来每个单词的权重之后,再调用百度的API做了下翻译,结果如下图:
最后使用词云的sdk工具生成了一个云图。
使用ChatGPT分析
其实以上做了很多数据处理和优化的工作,最近在学习大模型提示词工程,偶然想到如果使用大模型来处理和分析,是不是很快就能拿到结果,不用自己再逐步去分析和计算数据了。
这里使用的是豆包大模型进行分析:https://www.doubao.com
Step1: 数据上传
将试题中的文本内容,放到一起上传到ChatGPT,这里方便演示,只复制一份试题数据进行演示。
Step2 根据提示词工程原则,描述要求
clickable Avatar: undefined
这份文件中的内容是一份英语试题数据,文件中的----------------------------作为文档的分隔符,将文件内容分割成多个文档,文档用于后面的逆文档频率计算。
目标:要求统计试题中出现的高频词汇
要求1:按照词汇的权重从高到底输出Top50,权重的计算按照TF-IDF方法计算
要求2:去除常见的语气词等,比如the, is, are, you, me, I 等等
要求3:去除常见的基础单词比如you,I,car,play,test等基础词汇
要求3:按照格式输出 1. 单词 翻译 权重值
Step3 结果
1. parent 父母 0.045
2. child 孩子 0.045
3. parenting 养育 0.036
4. style 风格 0.027
5. different 不同的 0.027
6. sort 种类 0.027
7. respond 回应 0.027
8. patient 耐心的 0.027
9. benefit 受益 0.027
10. maintain 保持 0.027
11. style 风格 0.027
12. happen 发生 0.027
13. lose 失去 0.027
14. patience 耐心 0.027
15. say 说 0.027
16. something 某事 0.027
17. child 孩子 0.027
18. only 仅仅 0.027
19. human 人类 0.027
20. sometimes 有时 0.027
21. kids 孩子(复数) 0.027
22. little 一点 0.027
23. far 远 0.027
24. then 然后 0.027
25. either 要么 0.027
26. scream 尖叫 0.027
27. wish 希望 0.027
28. clock 时钟 0.027
29. start 开始 0.027
30. over 结束 0.027
31. all 所有 0.027
32. been 是(过去分词) 0.027
33. there 那里 0.027
34. even 甚至 0.027
35. though 尽管 0.027
36. common 常见的 0.027
37. important 重要的 0.027
38. mind 头脑 0.027
39. single 单一的 0.027
40. moment 时刻 0.027
41. fatigue 疲劳 0.027
42. can 能够 0.027
43. long 长的 0.027
44. time 时间 0.027
45. may 可能 0.027
46. damage 损害 0.027
47. relationship 关系 0.027
48. child 孩子 0.027
49. also 也 0.027
50. self-esteem 自尊 0.027
可以看到,使用GPT可以快速得到我们想要的结果,当然还有很多需要优化才能拿到最准确的结果。
使用AI大模型推断和汇总能力
不做过多要求,让大模型自己发挥统计重要词汇
假设具有一定的英语四级水平
具有英语六级水平
可以看到统计的英语单词越来越难了,说明是有效的。
总结
为什么写这篇文章呢?其实是深感大模型带来的变化很大。我以前想去学习NLP知识,然后有很多方向需要接触和研究,很多高深的算法和公式让我没有坚持下去,而现在即使我不会NLP,但是只要借助大模型API也能很顺利的完成NLP相关的任务。所以大模型给普通开发者赋予了AI能力,大模型降低了AI入门的成本,借助大模型就可以开发出各种新的AI应用。