system: [SYSTEM]

user: 3. 实验论证 3.1. 数据准备 针对本课题而言，针对人物的分析主要分析“静态”人物，输入文本主要选取“静态”文本，所谓“静态”指的是人物与文本是不随时间的变化而改变的。因此，小说、剧本等文学创作作品都属于本课题的研究范畴，因为在此类文学作品中，人物在一个有限的时间线内活动，人物性格的变化是固定的，但是一般情况下根据作者的文笔，所描绘的主要人物性格一般是鲜明的，这为本课题所研究的基于文本分析人物性格这一目标提供了优质且不冗杂的文本数据集，有利于将研究成果推广至现实世界中的人物“动态”文本，比如微博博文、搜索记录等。 在输入文本的选取上，我们选择《平凡的世界》作为主要分析文本，《平凡的世界》是中国作家路遥创作的一部百万字的小说，这部长篇小说全景式地表现了中国当代城乡社会生活，以中国七十年代中期到八十年代中期作为时间背景，以孙少安和孙少平两兄弟作为人物核心，刻画了复杂的矛盾和人物心理的纠葛，也反映出了当时社会环境下各个阶层人民的形象，该小说获得中国第三届茅盾文学奖。 可以看出，《平凡的世界》作为文本分析具有一定的权威性。首先，这部文学作品语料丰富，充分地刻画了其所描绘的人物形象，每个人物都有充足的语言对话可供分析，这样就保证了模型的输入文本的文本质量。其次，这部文学作品在许多论文文献中都作为训练样本集出现，这也充分说明了其在自然语言处理相关问题上具有一定的实践意义和参考意义，同时，也可以让本课题所研究的任务目标有一定的参照目标，从而有所对比。 据了解，在《平凡的世界》中，作品刻画的主要人物有孙少平、孙少安、田润叶、田晓霞和贺秀莲。孙少平作为男主角，虽然家庭环境极其贫困，但是他有不为命运低头的志气，即便物质上有所匮乏，但其求真务实的态度让他的骨子里有着一股傲气，具有忍辱负重、踏实肯干的特征，在爱情的选择上也可以看出他的责任和担当。孙少安作为孙少平的哥哥，因为家庭上的种种原因，性格上就更加内敛，不能像孙少平那样自由追求自己的理想。田润叶在作品中虽然是一个普通农民的女儿，但是却因为接收了开放程度更高的大城市教育而敢于追求自己想要的生活，在与孙少安的感情线中，田润叶表现出勇敢大胆的特质，不介意孙少安的家庭环境等其他因素，始终认为两人要在一起那么感情才是第一位的。田晓霞在作品中与其他人不同的是，她是在城市中长大，并没有经历农村的贫苦生活，但是她却不娇弱，反而有着朴实、善良、单纯、勇敢等特性，同时城市的教育让她接触了更高的文化，让她有着更高的理想抱负，她天真、热情并且坚强。最后是贺秀莲，她性格泼辣、踏实肯干，嫁给了孙少安，成为孙少安家中的好帮手，在孙少安家中为了家庭勤勤恳恳，把家中打理得井井有条，让孙少安可以全身心地在外忙事业而无后顾之忧。 首先使用jieba的posseg工具来统计获取文本中所有词性为nr即人名的出现次数，并将“孙少平”、“少平”、“孙少安”、“少安”、“田润叶”、“润叶”、“田晓霞”、“晓霞”加入自定义词库，通过jieba分词工具来加载自定义特征词库来提升分词效果，降序排列可得到下图结果，见图2。 图2. 《平凡的世界》人物出场次数 通过以上对五个人物的简单介绍以及词频统计分析，我们可以看出这些主要人物出现次数较高，并都具有鲜明的人物特征，甚至其中对人物的特征描述可直接映射到大五人格量表中的词汇，因此在此我们选取孙少平、孙少安、田润叶和田晓霞作为人物分析样本进行人物性格分析。 3.2. 文本预处理 在文本预处理环节，首先需要将孙少平、孙少安、田润叶和田晓霞的人物描述抽取出来，人物描述包括其肖像描写、语言描写、动作描写和心理描写，因此在本课题中，首先需要把要研究的主要人物的相关描写语句抽取出来，通过将每行中出现该人名的文本读取出来，我们获取到了四位主要人物的分析样本，如下图所示，见图3。 图3. 《平凡的世界》人物分析样本 每行语句中都或多或少有着对人物的神情、形态、动作、语言的描述，如下图所示，见图4。 图4. 《平凡的世界》人物描述摘选 在输入模型之前，先去除空行，以免输入空向量影响模型效果。结果如下图所示，见图5。 图5. 分析输入文本 3.3. 生成文档向量 在本环节中，我们主要采用两个思路来生成文档向量，直接使用doc2Vec或使用word2Vec生成词向量再拼接成文档向量。 1) doc2Vec生成 doc2Vec的参数设置为：min_count = 1，min_count可以对字典做截断。词频少于min_count次数的单词会被丢弃掉，此处设置为1，说明原则上在训练文档向量时不放弃任何一个出现的词；window = 3，window指的是窗口大小，表示当前词与预测词在一个句子中的最大距离是多少；vector_size = size，是指特征向量的维度，此处设置值为200，虽然大的size需要更多的训练数据，但是效果会更好，一般情况下推荐值为几十到几；sample = 1e−3，指的是高频词汇的随机降采样的配置阈值，默认为1e−3，官网给的解释1e−5效果比较好。设置为0时是词最少的时候，即不进行降采样，结果词少，当设置1e−5，相应的词展现更丰富；negative = 5，如果设置该值，则会采用doc2Vec中的negative sampling方法，此参数用于设置多少个noise words (一般是5~20)；workers = 4，用于控制训练的并行数。 通过doc2Vec生成四个主要人物的向量模型以及向量表示如下图所示，见图6和图7。 图6. Doc2Vec人物向量模型 图7. Doc2Vec人物向量表示 2) Word2Vec生成 word2Vec的参数设置为min_count = 3、size = 50、window = 5、workers = 4，由于word2Vec中的这些参数与doc2Vec类似，此处不加赘述。 在使用word2Vec获取到词向量之后，针对该人物的每一条描述将所有的词向量拼接成文档矩阵，使用高度为2，3和4的300个卷积核进行卷积处理，再将得到的结果最大池化，可得300维的特征文档向量，如下图所示，见图8。 图8. Word2Vec人物特征文档向量 3.4. 模型训练 通过对文学作品的分析，我们知道，孙少安慷慨待人、热情洋溢，这样的品性使得孙少安具有极高的外倾性(Extroversion)，同时田晓霞相比于孙少安而言，不像孙少安外倾性那么高，因此我们将孙少安 图9. Doc2Vec训练所得向量 和田晓霞的大五人格中的外向性作为输出样本进行分析，将孙少安的输入文档向量集所对应的得分控制在93~95分之间，将田晓霞的输入文档向量集所对应的得分控制在83~85分之间，因此，整体训练集规模为孙少安的语句文档向量总数，即1130加421共1551条数据。 采用sklearn.linear_model中的LinearRegression来进行线性拟合，训练文档向量的模型参数。 Doc2Vec模型所训练出的向量如下图所示，见图9。 均方根误差为0.6916464343383234。 Word2Vec结合CNN所训练出来的向量如下图所示，见图10。 图10. Word2Vec训练所得向量 均方根误差为0.6483908566794765。 虽然两个向量在数值表现上有一定的差异，但从均方根误差而言，两者相差不多。 3.5. 模型预测 通过使用两个模型所训练出的针对外向性这一维度的预测向量来预测同样具有外倾性特征田润叶，根据对作品的分析，可以看出在外倾性上田润叶与孙少安具有相似的得分程度，因此我们将田润叶的外倾性得分设为95来比较两个预测向量的效果，并验证该算法的实用性。 Doc2Vec向量输出结果如下，见图11。 图11. Doc2Vec向量输出结果 均方根误差为1.4312380302855083。 Word2Vec结合CNN输出的结果向量如图，见图12。 图12. Word2Vec向量输出结果 均方根误差为10.657833760771707。 3.6. 实验结果分析 通过以上实验，我们可以看出在大五人格外倾性这一维度上，doc2Vec和word2Vec + CNN都可以训练出各自的特征向量，并且都能够保证其实验误差较小，保证了对训练数据的拟合能力，确保较小的偏差。 同时，在针对训练集所划分出的验证集的表现上，我们可以看出两者的均方根误差都比较小，也就是说在针对本训练集上的未知数据，两者模型都存在较好的泛化能力，能够较准确地预测出人物在外倾性上的大五人格得分。 但是在对未知数据的预测上，两个模型的表现却有一定的差异性，当我们选择使用该模型去预测一个新的人物——田润叶的外倾性得分时，doc2Vec的预测效果要优于word2Vec + CNN的预测效果，doc2Vec的所预测的得分为93.70167173504245，而word2Vec + CNN的得分为84.72613665200262，这对于田润叶这一人物来说，其在作品中的表现具有极强的外倾性，显然相比于与田晓霞而言，在外倾性上的得分应高于她，因此doc2Vec的模型表现要优于word2Vec + CNN。 从算法结构上分析，我们可以推测，doc2Vec模型直接使用文本作为输入所得到的文档向量更具有普适性，任何词语不会被赋予更高的关注度，相比于word2Vec + CNN所训练出来的模型在本训练集上表现更优而泛化能力不强，主要原因在于word2Vec获取到词向量后拼接成的文档向量在经过CNN处理之后更容易突出某些关键词的作用，因为CNN有着突出局部特征的效果，因此在分析未知人物性格时，该模型容易受之前的人物训练集所影响，难以达到客观评分的目的。