专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016      微信咨询  |  联系我们

需要用到哪些技术和算法_python

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 5:30:41       共计:3617 浏览

需要用到哪些技术和算法?

虽然没有做过考试题分类,但从描述看起来像是个文本主题多分类的问题。我提供一下的一些思路,效果因为也没有尝试过,所以我也不确定是否好。

首先第一步,分类之前肯定是需要提取特征的,也就是把你的考试题向量化。向量化有以下几种方法。

1. 自己设置特征,比如设置中英文字数,数字的字数,自己设置一些名词,名词出现的频率等,这些特征你自己设置,最后可以转换成向量

2. 词袋模型,用TF*IDF表示,具体可以搜一下什么是TF*IDF

3. word embedding模型,该模型结合了语义信息,比如用word2vec这种可以表示每个单词的语义向量,整个文档的语义可以每个单词加起来,或者直接用doc2vec,python的gensim有api,可以直接实现,但是推荐了解下原理。

上面3个方法,都能把一道题转换成一段向量,这样就相当于向量的多标签分类问题了。

分类方法:

1. 可以当成0/1分类问题,即假设有5个分类ABCDE,你分别训练5个模型,判断该向量是否属于这个分类。这种2分类的方法有很多,效果比较好的,可以直接丢进去的有随机森林,逻辑回归,svm

2. 设置一个阈值,直接搞。假设考试题A的向量表示是X, 对应的标签是分类B和C(有ABCDE5类),那最终的结果向量就是0 1 1 0 0 ,把向量丢到神经网络里,最后连个softmax,输出每个分类的概率,比如是0.1 0.6 0.8 0.4 0.3, 超过0.5的你就认识是该分类,来训练。

3. 比较推荐用RNN(lstm/gru都可以)训练,RNN对这种类型的效果一般都还可以,而且可以适应不同长度的输入,不用固定成多少维的向量。方法是用word2vec,把考试题的每个单词向量化了,然后丢到RNN里面(如果题目很长,考虑加入attention机制,cell选择lstm或者GRU),输出的结果接一个sigmoid,就是方法1中的0/1分类问题,如果接个softmax,就是方法2中的设置阈值

4. 可以尝试下topic model,比如LDA主题模型。看看每个分类的topic words是什么,然后直接关键字搜索。比如都是分类A的考试题,提取topic word,以此类推。把这些topic word结合特征1做个分类,但是目测效果随数据集会有很大变化

大致想到了以上的方法,未经试验,仅供参考

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:python字典可以访问么_python | ·下一条:统计学和电气工程哪个好学_python

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有