机器学习与深度学习在MBTI人格预测中的关键洞察
1. 引言
人格预测在众多实时应用中具有重要价值,如工作绩效评估、医疗论坛、心理学研究等。多年来,人们尝试使用不同指标来预测人格,其中迈尔斯 - 布里格斯类型指标(MBTI)是常用指标之一。MBTI基于四个二分范畴来分析人格,分别是外向/内向(E/I)、实感/直觉(S/N)、思考/情感(T/F)、判断/感知(J/P),根据这四个二分法,一个人会被赋予一个四个字母的人格类型,共有16种类型。
人格预测在现实生活中应用广泛,它有助于分析人们的行为并理解其背后的原因。常见应用场景包括处理心理学问题的医疗论坛、电影和产品服务推荐系统,以及团队组建等。例如,有人用人格特质来决定同质或异质团队哪种更有利于团队绩效,还有人试图找出建筑师办公室中的人格分布以及人格类型对员工生产力的影响。
人格判断方式多样,本文聚焦于使用文本数据,尤其是社交媒体文本数据进行人格预测。随着社交媒体平台的广泛使用,数据收集和分析变得相对容易,技术的发展也为大规模研究和更好系统的开发提供了可能。在处理文本数据时,会用到多种自然语言处理(NLP)技术。预测文本数据人格的两种流行方法是MBTI和大五人格(OCEAN分类),本文主要回顾过去十年与MBTI相关的研究。
2. 相关工作
2.1 常用机器学习算法
- 逻辑回归 :这是最常用的机器学习算法之一。有人在Twitter数据集上实现逻辑回归,用于分类MBTI人格类型和性别;还有人在TWISTY数据集上使用计算文体学,结合逻辑回归和线性SVC以及字符n - 元组和单词n - 元组的二进制特征进行性别和人格预测。
- 支持向量机(SVM) :许多研究使用SVM进行人格预测。例如,有人在Reddit评论数据集上应用SVM、L正则化(LR)和三层多层感知器(MLP);还有人在Kaggle数据集上使用线性SVM和核SVM进行对比,发现线性SVM的模型准确率有所下降。在一些研究中,SVM在多种算法中表现出最有前景的结果。
- XGBoost :Kumar等人发现XGBoost在预测Twitter MBTI数据集的人格特质时表现优于线性SVM。他们使用集成学习、基于计数的矢量化和GloVe词嵌入技术,当数据集不平衡时,使用SMOTE通过欠采样和过采样两种技术来平衡类别。此外,Khan等人和Amirhosseini等人也将XGBoost作为主要算法。
2.2 特征提取的作用
特征提取对提高模型准确性起着重要作用。例如,Li等人在Kaggle数据集上应用K近邻算法时,使用了TF - IDF、词类别和细微差别等多种特征提取技术;Choong和Varathan建议使用词级特征而非字符级特征,因为词级特征具有更高的预测能力和准确性。他们在尝试从社交论坛获取人格信息时,发现LightGBM和SVM比其他模型表现更好,且建议使用LightGBM,因其具有更好的鲁棒性和收敛机会。
2.3 数据集的影响
数据集的选择会影响模型的效率。例如,Lukito等人在印度尼西亚语的Twitter数据集上使用朴素贝叶斯分类器,由于数据集语言的局限性,模型效果不佳;Gottigundala等人使用随机森林算法预测人格类型,但由于数据集有限,准确率仅为45.35%。
2.4 预训练语言模型的应用
预训练语言模型是一种相对较新且有用的方法,如BERT。Mehta等人使用BERT基础模型和多层感知器结合心理语言学特征来预测人格;Keh和Chang在Kaggle的人格咖啡馆数据集上使用BERT。前者由于使用了包括语言查询和单词计数(LIWC)、SenticNet、NRC情感词典、效价、唤醒和主导(VAD)词典和可读性等心理语言学特征提取,获得了比后者更好的准确率。
2.5 深度学习算法
深度学习算法在人格预测中表现高效。例如,Cui等人对Kaggle的偏斜数据集进行复制和缩减后,使用多层LSTM的深度学习框架,得出正则化SVM比基线朴素贝叶斯模型表现更好,且深度学习优于SVM的结论;Gjurkovic等人在MBTI 9K Reddit数据集上使用多层感知器结合语言和用户活动特征提取;Pradhan等人在人格咖啡馆问卷数据集上使用CNN和最大池化,该实验在高准确率的同时减少了回答50 - 60个问题的时间和精力。
2.6 不同研究的比较分析
以下是部分研究的比较分析:
| 作者 | 数据集 | 算法 | 特征提取 | 评估指标:准确率 | 局限性和未来工作 |
| — | — | — | — | — | — |
| Choudhary等 | Kaggle | 逻辑回归 | n - 元组,TF - IDF | 准确率67.75% | 使用传统机器学习算法,限于写评论的用户 |
| Bassignana等 | YouTube(来自人格语料库和TWISTY) | 线性SVC | n - 元组 | 平均(人格) - 51.24%,平均(TWISTY) - 68.62% | 词法特征易过拟合 |
| Gottigundala等 | Kaggle | 随机森林 | TF - IDF,截断SVD | 准确率45.35% | 数据集有限,基于问卷的数据集可节省时间,CNN等算法可提高准确率 |
| Pradhan等 | 人格咖啡馆论坛 | CNN | TF - IDF,最大池化 | 准确率81.4% | 模型有偏差,流量大时网站变慢,可创建聊天机器人 |
| Mazni等 | 工程学生团队 | 粗糙集分析 | 未指定 | 准确率71.86% | 难以确定团队属性与团队绩效的依赖关系,可进行规则案例验证和规则提取 |
以下是相关工作的流程:
graph LR
A[数据收集] --> B[特征提取]
B --> C[选择算法]
C --> D[模型训练]
D --> E[模型评估]
E --> F{是否满足要求}
F -- 是 --> G[应用模型]
F -- 否 --> B
综上所述,不同的数据集、算法和特征提取方法会对人格预测结果产生显著影响。在未来的研究中,使用大规模且无偏的数据集有望提高模型的准确性。
2.7 其他算法及模型的应用
除了上述提到的算法,还有许多其他算法和模型也被应用于MBTI人格预测。
-
随机森林
:Abidin等人使用随机森林算法分析求职者的人格类型,用于工作评估。不过,由于仅使用了Twitter的英语数据,且数据集有限,其准确性可能受到影响。后续可考虑使用XGBoost和深度学习算法来提高性能。
-
朴素贝叶斯
:Brinks等人使用多元伯努利事件模型的朴素贝叶斯分类器,但该模型在测试数据上表现不佳,且存在高方差问题。Patel等人对比了KNN、朴素贝叶斯、逻辑回归、RNN和SVM等多种算法,发现使用n - 元组、BOW、TF - IDF、W2V和GloVe词嵌入的朴素贝叶斯在部分指标上有较好表现,但系统仍有提升空间,可通过更多测试和使用更准确的数据集来优化。
-
集成方法
:Das等人使用堆叠集成方法,结合Word2Vec和TF - IDF特征,在Kaggle数据集上取得了一定的准确率。未来可进行更全面的评估,以确定用户书面信息中短语使用的原始目的。
2.8 不同研究的综合比较
为了更全面地了解不同研究在MBTI人格预测中的表现,以下是更多研究的详细对比:
| 作者 | 数据集 | 算法 | 特征提取 | 评估指标:准确率 | 局限性和未来工作 |
| — | — | — | — | — | — |
| Yamada等 | Twitter | SVM | BOW with SVD和DBOW | AUC - E/I = 73.18%,S/N = 69.89%,T/F = 70.96%,J/P = 62.1% | 可从用户回复和评论中收集更多信息 |
| Wang等 | Twitter | 逻辑回归 | POS,BOW,n - 元组和词向量 | AUC - E/I = 69.1%,S/N = 65.3%,T/F = 68%,J/P = 61.9% | 未指定 |
| Choong和Varathan | Kaggle | LightGBM | 字符级TF - IDF,词级TF - IDF和LIWC | AUCROC - 88.86%(LightGBM和组合特征) | 数据集有限且有偏差,MBTI评估版本信息不足可能导致数据不一致 |
| Verhoeven等 | Twitter | 线性SVC | n - 元组 | F - 度量E/I = 67.87%,S/N = 73.01%,T/F = 58.45%,J/P = 56.06% | 人格预测较难,从语言信号预测S - N和J - P维度更难 |
| Gjurkovic等 | PANDORA | 线性/逻辑回归和NN | TF - IDF,词计数 | 宏平均F1分数 - Thinking = 0.739,Introverted = 0.654,Perceiving = 0.642,Intuitive = 0.606,Enneagram = 0.251,Gender = 0.904,Region = 0.626 | 深度学习基线模型性能不佳,未来可用先进深度学习模型和连贯用户表示填补差距 |
| Gjurkovic等 | MBTI 9K Reddit | 多层感知器(MLP) | TF - IDF,LIWC,n - 元组和LDA | F1分数E/I = 82.8%,S/N = 79.2%,F/T = 64.4%,J/P = 74% | 可增加数据集大小,使用其他深度学习模型提高准确率 |
| Plank和Hovy | Twitter | 逻辑回归 | 稳定性选择,二进制词n - 元组 | 准确率E/I = 72.5%,T/F = 61.2,S/N = 77.5%,J/P = 55.4% | 语料库和一般人群人格类型差异大 |
| Li等 | Kaggle | K近邻 | TF - IDF,细微差别,词类别和加权直方图 | 准确率E/I = 90%,S/N = 90%,F/T = 91.25%,J/P = 76.25% | 对人们的冗长表达重视不足,二元对组合可能提高性能 |
| Bharadwaj等 | Kaggle | SVM | Emolex,LIWC,ConceptNet,TF - IDF和BOW | 准确率E/I = 84.9%,S/N = 88.4%,T/F = 87%,J/P = 78.8% | 对词语重要性权重分配不足,语音语调差异可能影响语义 |
| Kumar等 | Twitter | XGBoost | GloVe词嵌入,计数矢量化和SMOTE | 准确率 - E/I = 68.3%,S/N = 85%,T/F = 77.3%,J/P = 75.6% | 未来可考虑人与人之间的不同交互,构建多层图 |
| Khan等 | Kaggle | XGBoost | 计数矢量化,TF - IDF和重采样 | 准确率E/I = 99.37%,S/N = 99.92%,F/T = 94.55%,J/P = 95.53% | 数据集有偏差,仅使用英语文本数据,使用传统机器学习模型,特征提取权重不足 |
| Amirhosseini等 | Kaggle | XGBoost | TF - IDF | 准确率E/I = 78.17%,S/N = 86.06%,T/F = 71.78%,J/P = 65.7% | 数据集有限 |
| Lukito等 | Twitter | 朴素贝叶斯 | n - 元组 | 准确率 - E/I = 80%,S/N = 60%,F/T = 60%,J/P = 60% | 数据集有限,仅使用印尼语语料库导致准确率较低 |
| Mehta等 | Kaggle | BERT + MLP | LIWC,SenticNet,NRC情感词典,VAD词典和可读性 | 准确率E/I = 78.8%,S/N = 86.3%,F/T = 76.1%,J/P = 67.2% | 人格未以连续分数测量,高估模型性能 |
| Keh和Chang | Kaggle | BERT | BERT预训练语言模型 | 准确率E/I = 75.83%,S/N = 74.41%,T/F = 75.75%,J/P = 71.9% | 数据集有限,可使用干净且大的数据集和更大的BERT模型 |
| Raje和Singh | Twitter | 逻辑回归 | LIWC | 准确率E/I = 53.57%,S/N = 51.99%,T/F = 56.25%,J/P = 53.57% | 可分析推文频率和不同回复时间来预测用户人格 |
| Das等 | Kaggle | 堆叠集成 | Word2Vec,TF - IDF | 准确率E/I = 91.13%,S/N = 97.53%,T/F = 79.39%,J/P = 73.53% | 未来可进行全面评估,确定用户书面信息中短语使用的原始目的 |
| Cui和Qi | Kaggle | LSTM | BOW,POS,n - 元组和大写字母计数 | 准确率E/I = 89.51%,S/N = 89.85%,T/F = 69.1,J/P = 67.65% | 深度学习机制的数据集有限,使用NLP最新特征和词嵌入可改善结果 |
| Brinks等 | Twitter | 朴素贝叶斯 | TF - IDF | 准确率 - E/I = 63.9%,N/S = 74.6%,T/F = 60.8,P/J = 58.5% | 训练数据表现好,但测试数据结果不佳,模型高方差问题未改善,未来可使用自然语言技术 |
| Patel等 | Kaggle | KNN,朴素贝叶斯,逻辑回归,RNN和SVM | n - 元组,BOW,TF - IDF,W2V和GloVe词嵌入 | E/I = 77.79%,N/S = 85.89%,T/F = 86%,P/J = 66.23% | 可通过更多测试和使用更准确的数据集使系统更高效 |
| Gupta等 | My personality论坛 | NLP和SVM | TF - IDF | 准确率 - 原始数据集 - T/F = 78.5%,J/P = 67.9%;欠采样数据集 - E/I = 58.9%,N/S = 32.9%,T/F = 30.7%,P/J = 60.2% | 未来可使用更大的平衡数据集提高准确率,增加更多特征 |
| Mushtaq等 | Kaggle | XGBoost,朴素贝叶斯,SVM和LSTM | TF - IDF | E/I = 89.01%,N/S = 85.96%,T/F = 84.19%,P/J = 85.42% | 可在更平衡的数据集上应用超参数调整技术,如增加迭代次数或树深度,以优化算法性能 |
3. 结论与展望
3.1 研究总结
通过对30篇相关研究的回顾,可以发现MBTI人格预测面临着一些主要挑战,其中有限且有偏差的数据集是较为突出的问题。不同的数据集、算法和特征提取方法会导致预测结果有很大差异。例如,XGBoost在Kaggle数据集上的准确率优于在Twitter数据集上的准确率。
常用的算法包括XGBoost、SVM和逻辑回归,而深度学习算法在人格预测中表现出了更高的效率。特征提取在提高模型准确性方面起着关键作用,合理选择和组合特征模型可以显著提升预测性能。
3.2 未来方向
为了提高人格预测模型的准确性,未来的研究可以从以下几个方面入手:
-
数据集优化
:使用大规模、无偏的数据集是关键。可以整合多个来源的数据,减少数据偏差,提高模型的泛化能力。
-
算法改进
:继续探索和应用更先进的算法,尤其是深度学习算法,如改进的卷积神经网络(CNN)、长短期记忆网络(LSTM)等。同时,可以结合集成学习方法,综合多个模型的优势。
-
特征提取创新
:开发更有效的特征提取方法,结合心理语言学、语义分析等多方面的特征,提高特征的代表性和预测能力。
-
跨领域研究
:将人格预测应用到更多领域,如教育、市场营销等,探索不同领域中人格预测的需求和应用场景。
总之,MBTI人格预测是一个具有广阔应用前景的研究领域,通过不断改进数据集、算法和特征提取方法,有望提高模型的准确性和实用性,为实际应用提供更可靠的支持。
以下是未来研究方向的流程:
graph LR
A[确定研究目标] --> B[收集大规模无偏数据]
B --> C[选择和改进算法]
C --> D[创新特征提取方法]
D --> E[模型训练与优化]
E --> F[跨领域应用与验证]
F --> G[评估与反馈]
G -- 优化 --> C
G -- 应用 --> H[实际应用推广]
综上所述,MBTI人格预测研究在不断发展和进步,未来充满了机遇和挑战。通过持续的研究和创新,有望实现更准确、更实用的人格预测模型。
超级会员免费看
825

被折叠的 条评论
为什么被折叠?



