首页 期刊简介 最新目录 过往期刊 在线投稿 欢迎订阅 访客留言 联系我们
新版网站改版了,欢迎提出建议。
访客留言
邮箱:
留言:
  
联系我们

合作经济与科技杂志社

地址:石家庄市建设南大街21号

邮编:050011

电话:0311-86049879
友情链接
·中国知网 ·万方数据
·北京超星 ·重庆维普
管理/制度
基于Matlab的共词矩阵构造
第560期 作者:□文/陈道兰1 赵恒军2 时间:2017/5/1 10:07:19 浏览:1326次

基于Matlab的共词矩阵构造

/陈道兰1 赵恒军2

  [提要] 共词分析在文献研究中被广泛采用,共词分析方法最关键的环节是共词矩阵的构造。本文详细介绍基于中国知网数据库的关键词原始数据采集具体过程,利用Excel的分列功能和数据透视表功能进行关键词的分离和词频的统计,以及高频关键词提取的预处理技巧,给出共词矩阵构造的算法及其Matlab程序。算例表明:文中所给共词矩阵的构造实施方便快捷、简单易行。

  关键词:共词矩阵;构造;高频关键词;预处理;Matlab

  基金项目:重庆市教委科研项目:基于曲率的无参考图像清晰度评价研究(项目编号:KJ1401127);重庆文理学院科研项目:共词矩阵的构造及其在文献聚类分析方法中的应用(项目编号:Z2016TS72

  中图分类号:G350 文献标识码:A

  收录日期:201733

  一、引言

  文献计量学是采取定量手段来分析知识载体的交叉科学,关键词共词分析作为通用的文献计量法,主要是通过统计两个关键词在同一篇文献中共同出现的次数,并以此进行聚类进而分析预测特定学科的研究热点。关键词共词一般可分为以下几个环节:采集原始数据统计关键词词频提取高频关键词构造共词矩阵构造相异矩阵关键词聚类结果分析。在整个分析过程中,最后一步至关重要,它体现了研究的结论和价值,而最关键的一步则是共词矩阵的构造。共词矩阵会直接影响到相异矩阵的构造进而影响聚类的结果,对研究的结论起着不可忽视的作用。

  国内学者对关键词聚类分析主要表现在利用共词矩阵对所研究的主题进行预测,而对共词矩阵如何构造,大多数文献只是略微提及。鉴于此,储节旺等提出了利用Excel进行共词矩阵的构造,他提出的方法在关键词词频的统计、高频关键词的提取方面有较好的便利,但在共词矩阵的具体构造这一环节,由于只是单纯用Excel软件处理,在清除低频关键词、关键词组对等环节需要人工操作,导致数据统计容易出错。因此,简化关键词的预处理和共词矩阵构造的过程是值得研究的课题。

  Matlab是由美国Mathworks公司发布的数学软件。考虑到Matlab软件在数值计算方面的强大功能,本文提出以Matlab为编程软件,编写构造共词矩阵的Matlab文件。通过Matlab程序的编写,简省了低频关键词的清除过程和高频关键词的组对过程,降低了关键词预处理的难度,简化了共词矩阵的构造过程。Matlab算例表明编写的Matlab程序对共词矩阵构造实施方便快捷,简单易行。

  二、数据的采集与处理方法

  (一)数据的采集

  第一步:选择文献。在中国知网搜索页面下,按照一定的数据采集标准进行搜索得到检索的文献,然后在所显示的第一页页面中勾选所显示的文献,点击下一页,再勾选第二页显示的文献,直到勾选完所有文献。

  第二步:数据输出准备。在勾选文献的最后一页点击导出/参考文献按钮,在弹出的页面中再次勾选刚才选择的所有文献,再次点击导出/参考文献按钮(很重要),然后出现标题为文献管理中心_文献输出页面。在该页面的左下方有“CAJ-CD”查新“CNKI-E-Study”等按钮。点击不同的按钮,在页面的右下方会显示不同的结果,也可以点击自定义按钮,此时在页面的右上方会显示可供选择的输出字段,然后可以勾选所需要选择输出的字段即可。

  第三步:数据输出。在文献管理中心_文献输出页面中点击按钮“XLS”,在弹出的文件下载对话框中点击保存按钮后,在另存为对话框中选择所需要保存的路径和文件名,得到原始数据Excel表格。

  说明:当采集的数据超过500篇文献时,需要在完成前三步后,清除所勾选的文献,然后再选择余下的文献,重复上述三个步骤,直到采集完所有文献为止。

  (二)数据的预处理

  第一步:提取数据。复制关键词所在列,将其拷贝到一张新的空白Excel文件中,将文件命名为”keywords.xls”

  第二步:分离关键词。选择文件keywords.xls的第一列所有的数据,利用查找替换功能将关键词的分隔符统一用单个分号进行分隔。再次选中所有数据,利用数据的分列功能将关键词进行分离到单一单元格中。

  第三步:删除单一关键词。将分列得到的工作表按第二列进行降序排列,将单一关键词所在的行下移到了末尾,删去这些单一关键词所在的行,然后保存文件”keywords.xls”,得到关键词表。

  第四步:提取高频关键词。将关键词表“Keywords.xls”的内容复制到一个新的Excel文件中,文件命名为高频关键词统计表“Hfkw_count.xls”。在“Hfkw_count.xls”中,将所有单元格的内容复制到第一列,然后进行降序排列,将所有的空白单元格删去。

  在第一行前插入一行,在新的第一行依次输入关键词频数。从第二列的第二行起,每个单元格中输入数字“1”。利用Excel数据透视表功能统计关键词出现的频数。将得到的数据透视表的第二列按降序排列,此时第二列数值较大的单元格所对应的第一列的关键词即为高频关键词。保存文件“Hfkw_count.xls”

  将频数较高的关键词复制,利用选择性粘贴——转置,粘贴到一个新的Excel文件中的第一行,将文件命名为高频关键词表“Hfkw.xls”

  三、共词矩阵的Matlab程序实现

  (一)共词矩阵的算法。共词矩阵主要是统计两个关键词在同一篇文章中出现的篇数。将关键词录入Excel表格后,同一篇文献的关键词出现在同一行。但Excel表格中的数据不能直接作为Matlab的数组,因此应先将Excel数据导入到Matlab文件变为Matlab数组。从而统计两个关键词在同一篇文章中出现的篇数就变为了统计两个关键词在数组中同一行出现的次数。在高频关键词数组中任意抽取两个关键词,逐行统计两个关键词同行的次数,将结果保存在共词数组中,再将所得结果输出到Excel表格中。

  基于以上分析,共词矩阵的算法可表述如下:第一步:读取关键词和高频关键词Excel数据,并保存到OriginalDataTargetSet变量中;第二步:设置共词矩阵大小,初值默认为零矩阵;第三步:构造关键词同行次数计数函数countMatrixNumber1Number2Matrix)。从高频关键词TargetSet数组中任意抽取第i个和第j个元素,统计它们在关键词OriginalData数组中同一行出现的次数Outputij)。具体方案为:使用函数ismemberaVector)对每一行都进行判断,如果a出现在Vector中,返回结果为1;否则为0。如果两个关键词的ismember结果都为1,则表示这两个关键词同时出现在这一行中,因此同行次数增加1;第四步:将关键词同行的次数保存在共词矩阵中,并将所得结果输出到Excel表格中进行显示。

  (二)共词矩阵的Matlab程序。根据前述关于共词矩阵的算法,利用Matlab 7.0软件,编制构造共词矩阵的Matlab代码如下:

  function cowordMatrix()

  [a OriginalData=xlsreadkeywords.xls');%导入关键词表。

  [b TargetSet=xlsread'Hfkw.xls');%导入高频关键词表。

  OutputData=zeroslengthTargetSet),lengthTargetSet));%设置共词矩阵大小,默认为零矩阵。

  for ForRow=1lengthTargetSet

    for ForCol=1:(lengthTargetSet))

           OutputDataForRowForCol=countMatrixTargetSetForRow),TargetSetForCol),OriginalData);

          %共词矩阵各元素的计算。

      end

  end

  xlswrite'Output.xls'TargetSet'Sheet1''B1');

  xlswrite'Output.xls'TargetSet''Sheet1''A2');

  xlswrite'Output.xls'OutputData'Sheet1''B2');

%将共词矩阵输出到Excel表格中。

  end

  function OutputNumber=countMatrixNumber1Number2Matrix%统计两关键词在同一行出现的次数。

  MatrixRow=sizeMatrix1);

  OutputNumber=0

  for ForRow=1MatrixRow

      FlagNumber1=ismemberNumber1MatrixForRow,:));

      FlagNumber2=ismemberNumber2MatrixForRow,:));

      if FlagNumber1+FlagNumber2==2

          OutputNumber=OutputNumber+1

      end

  end

  end

  将上述代码录入到Matlab M-File窗口,然后以Cowordmatrix.m为文件名进行保存。

  (三)Matlab程序的运行。假设Matlab安装在电脑的如下目录:d\Program Files\MATLAB7,则将前面按照关键词数据的采集和预处理方法得到两个Excel文件“Keywords.xls”“Hfkw.xls”,以及前述的共词矩阵构造的Matlab文件Cowordmatrix.m一起复制到d\Program Files\MATLAB7\work目录下。

  打开Matlab程序,在Matlab命令窗口Command window中键入Cowordmatrix,回车,等待数分钟后就会在d\Program Files\MATLAB7\work目录下出现共词矩阵Excel文件Output.xls,打开该文件所显示的内容即为共词矩阵。

  四、共词矩阵的Matlab算例

  下面以中国知网数据库为数据源,对国内的共词分析的研究进行共词矩阵的构造。以篇名为共词进行搜索,检索时间为2016826日,共搜索到553篇文献,按前述方法提取它们的关键词,分列并删去单一关键词后得到关键词表“Keywords.xls”。然后使用Excel表格的数据透视功能统计关键词的频次,得到高频关键词表“Hfkw.xls”。本文选取词频大于等于10的关键词列表(其中剔除了共词分析法共词分析共词等三个关键词),具体频次为:聚类分析(128)、社会网络分析(36)、共词聚类分析(20)、文献计量(16)、研究热点(91)、共词聚类(26)、关键词(19)、文献计量学(16)、知识图谱(53)、可视化(25)、 战略坐标(19)、共词矩阵(14)、多维尺度分析(42)、共词网络(22)、词频分析(17)、共词可视化(13)、因子分析(37)、研究主题(21)、SPSS16)、知识管理(10)。

  将得到的两个Excel文件“Keywords.xls”“Hfkw.xls”以及编程得到的Matlab文件Cowordmatrix.m复制到Matlab工作目录d\Program Files\MATLAB7\work目录下。打开Matlab,在Maltab命令窗口输入Matlab命令:Cowordmatrix,回车,出现的共词矩阵结果(左上10×10部分)见表1。(表1

  五、结语

  通过上述编写的Matlab程序,研究者只需要对所研究的主题进行关键词原始数据的采集和预处理,形成两个Excel文件即可,大大简化了原始数据的预处理和共词矩阵的构造过程,输出的Excel显示结果直观。算例表明本文所编写的Matlab程序对共词矩阵的构造实施方便快捷,简单易行。

  (作者单位:1.重庆文理学院图书馆;2.重庆文理学院数学与财经学院)

主要参考文献:

1]邹美辰.基于共词分析和社会网络分析的国内外关联数据研究探析[J.现代情报,2016.3.

2]陆慧雯.基于共词分析的我国近十年行业与战略情报研究[J.情报科学,2016.5.

3]周丽英,冷伏海,左文革.引文耦合增强的共词分析方法改进研究——ESI农业科学研究主题划分为例[J.情报理论与实践,2015.11.

4]俞仙子,高英莲,马春霞等.提取核心特征词的惩罚性矩阵分解方法——以共词分析为例[J.现代图书情报技术,2014.3.

5]王玉林,王忠义.细粒度语义共词分析方法研究[J.图书情报工作,2014.21.

6]储节旺,郭春侠.共词分析法的基本原理及EXCEL实现[J.情报科学,2011.6.

7]张圣勤.MATLAB 7.0实用教程[M.北京:机械工业出版社,2015.

 
版权所有:合作经济与科技杂志社 备案号:冀ICP备12020543号
您是本站第 2982196 位访客