本发明涉及一种基于强化贝叶斯分类的社交行为检测方法,尤其是在在线社交网络中进行社交行为检测,通过tf-idf中文分词算法对社交网络人物言论进行检测分类,并且提取特征词及特征值权值,之后特征词及其权值输入贝叶斯分类器中进行社交网络人物行为进行分类检测。
背景技术
贝叶斯算法以其高效、易于实现、扩展性好的特点,已广泛的应用在行为分类的过程中此外,贝叶斯算法能够通过对中文语言样本的训练,自动学习样本内容来对社交人物行为进行检测。在现有的社交人物行为进行检测中,贝叶斯算法在行为检测中显现出了极好的应用效果。
tf-idf是一种用于资讯检索与资讯探勘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
加强学习是一种迭代的算法,会对同一个训练集使用不同的分类器训练,之后,再把这些分类器集合起来,构建一个最终的最强的分类器。其算法本身是通过改变一个权重d的分布来实现的,该权重d初始化一致,然后改变之后交给下一次分类器。使用加强分类器能够过滤掉一些不必要的训练数据特征,然后放在关键的训练数据上面。
技术实现要素:
技术问题:本发明公开了一种基于强化贝叶斯分类的社交行为检测方法。该方法首先将人物的言论量化为行为向量,行为向量的每个维度的值相当于人物对该行为的取值。使用朴素贝叶斯分类模型实现对人物行为向量进行简单分类。
技术方案:本发明的一种基于强化贝叶斯分类的社交行为检测方法主要包括以下步骤:
步骤1)收集中文社交网站言论的文本训练样本集,包括攻击性言论文本及赞赏性言论文本等类别文本,建立社交网站言论的文本训练样本集;
步骤2)根据停用词词库对中文社交网站言论的文本训练样本集进行中文分词得到某个中文训练集的词序列vi,i∈{1,2,3,...f},f为训练样本总数;
步骤3)通过tf-idf中文分词算法对中文社交网站言论的文本训练样本集中不同行为类别文本的进行特征提取;
步骤4)输入特征词序列,使用贝叶斯模型进行学习识别;
步骤5)通过强化贝叶斯分类器对分类器进行强化。
其中,
步骤3)所述通过tf-idf中文分词算法对中文社交网站言论的文本训练样本集中不同行为类别文本的进行特征提取,根据提取的特征词以及特征词权值更新特征词词库,具体如下:
步骤31)计算vi词语序列中的第j个词语vi,j的正向词频
步骤32)计算vi词语序列中的第j个词语vi,j的逆文件词频
步骤33)计算vi词语序列中的第j个词语vi,j的词频逆文件词频值;tfi,j-idfi,j=tfi,j×idfi,j,保留vi序列中留tfi,j-idfi,j值超过阙值t的词语作为特征词。
所述步骤4)输入特征词序列,使用贝叶斯模型进行学习识别的过程为:
步骤41)、特征词序列x={ak},k∈{1,2,3,...m}为一个待分类项,ak为特征词序列的第k个特征词,总共有m个特征词;
步骤42)有社交行为类别集合c={yz},z∈{1,2,3,...n},其中的yz是第z个社交行为类别,总共有n社交行为类别;
步骤43)在各个特征属性是条件独立的基础上,见算出每个类别下的各个属性的条件概率
步骤44)根据公式
步骤45)计算出p(x|yz)p(yz)最大项,作为词序列x所属类别并得到弱分类器函数h(xp),xp为词序列x的第p个属性值。
所述步骤5)加强贝叶斯分类器进行训练的方法为:
步骤51):准备n个训练样本{(xp,yq)},p∈{1,2,3,...m}组成训练集和d,yq是xp对应的第q个社交行为类别,赋予每个样本相等的权重
步骤52):训练样本集d上,利用样本权重ω和步骤4中学习得到弱分类器h(xp)计算弱分类器h(xp)的错误率
步骤53)假设ε>0.5,使用简单贝叶斯进行分类,否则计算模型迭代权值a,
步骤54)根据公式
有益效果:本发明采用以上技术方案与现有技术相比:
(1)本发明算法较为简单,节省了计算成本,能够更好地提取文章关键词
(2)本发明方法基于词典对训练集的属性进行筛选,并且朴素贝叶斯分类对数据进行分类,使用使用强化贝叶斯分类模型对模型进行连接,能够更加精确和高效的对人物社交行为进行检测,检测准确度非常高。
具体实施方式
本发明的一种基于强化贝叶斯分类的社交行为检测方法方法主要包括以下步骤:
步骤1)收集中文社交网站言论的文本训练样本集,包括攻击性言论文本及赞赏性言论文本等类别文本,建立社交网站言论的文本训练样本集。
步骤2)根据停用词词库对中文社交网站言论的文本训练样本集进行中文分词得到某个中文训练集的词序列vi,i∈{1,2,3,...f},f为训练样本总数,f为500,第i个文本训练集为内容为“这是一个非常优秀的人,喜欢帮助别人,热爱学习”,分词后的词序列vi为{优秀,帮助,热爱,学习,非常,这,是,一个,喜欢,帮助};
步骤3)通过tf-idf中文分词算法对中文社交网站言论的文本训练样本集中不同行为类别文本的进行特征提取,步骤如下:
步骤31)计算vi词语序列中的第j个词语vi,j的正向词频
步骤32)计算vi词语序列中的第j个词语vi,j的逆文件词频
步骤33)计算vi词语序列中的第j个词语vi,j的词频逆文件词频值tfi,j-idfi,j=tfi,j×idfi,j,保留vi序列中留tfi,j-idfi,j值超过阙值t的词语作为特征词,阙值t为50。
步骤4)输入特征词序列,使用贝叶斯模型进行学习识别,具体步骤如下:
步骤41)、特征词序列x={ak},k∈{1,2,3,...m}为一个待分类项,ak为特征词序列的第k个特征词,总共有m个特征词。特征词序列x为{帮助,喜欢,热爱},m的值为4。社交行为类别集合c={赞赏,攻击,喜爱,痴迷,讨厌},n为5.
步骤42)有社交行为类别集合c={yz},z∈{1,2,3,...n},其中的yz是第z个社交行为类别,总共有n社交行为类别。
步骤43)在各个特征属性是条件独立的基础上,见算出每个类别下的各个属性的条件概率
步骤44)根据公式
步骤45)计算出p(x|yz)p(yz)最大项,作为词序列x所属类别并得到弱分类器函数h(xp),xp为词序列x的第p个属性值。
步骤5)通过强化贝叶斯分类器对分类器进行强化,具体步骤如下:
步骤51):准备n个训练样本{(xp,yq)},p∈{1,2,3,...m}组成训练集和d,yq是xp对应的第q个社交行为类别,赋予每个样本相等的权重
步骤52):训练样本集d上,利用样本权重ω和步骤4中学习得到弱分类器h(xp)计算弱分类器h(xp)的错误率
步骤53)假设ε=0.6,使用简单贝叶斯进行分类,否则计算模型迭代权值a,
步骤54)根据公式
通过该方法验证得知,该文本社交数据属于攻击性言论。