精华内容
下载资源
问答
  • python构建关键词共现矩阵

    万次阅读 多人点赞 2017-04-05 15:44:37
    本文仅仅提供了实现思路,如果对算法速度有追求的请移步python构建关键词共现矩阵速度优化(在此非常感谢这位同学的优化) 非常感谢南京大学的张同学发现我代码中的bug,现文中的代码均已经更新请放心使用,并且代码...

    本文仅仅提供了实现思路,如果对算法速度有追求的请移步python构建关键词共现矩阵速度优化(在此非常感谢这位同学的优化)

    非常感谢南京大学的张同学发现我代码中的bug,现文中的代码均已经更新请放心使用,并且代码放弃使用numpy进行矩阵的构建,因此可以对中文进行构建关键词共现矩阵了。同时,有很多同学对我在blog中总是提到的“import自己的代码“的代码感兴趣,现在已将代码git至GITHUB中,需要的同学请自行clone,其中包括了filewalker.py(文件夹遍历)、reader.py(txt、excel文件的读写操作)、buildfile.py(新建文件夹等),具体用法,请参考我的另一篇博文《import自己写的.py》

    这篇博文中为了方便矩阵构建和变换,我使用了numpy,但是numpy不支持读取和写入中文字符,仅仅支持英文(或者拉丁文?),因此希望做中文的关键词共现实验的同学,可以使用博文最下方的代码,给大家造成不便,十分抱歉!

    中科院的小伙伴Leo Wood已经用pandas实现了共现计算,传送门:Python Pandas 构建共现矩阵

    共现分析在数据分析中经常使用到,这里的关键词可以指的是文献中的关键词、作者、作者机构等等。在其他领域中,如电影电视剧也可以用来研究演员共现矩阵等等。在得出共现矩阵后,可以使用UCINET、NETDRAW或者Gephi来进行共现图谱的绘制,达到数据可视化的效果。

    首先看看原始数据:
    这里写图片描述
    从图中可以看出,a和b共现2次,和c共现2次,其余以此类推。

    *下面的代码中,存在import reader,reader是我自己写的.py文件,以方便我每次读取数据。这样就不用每次读取数据的时候都要再写一遍with open了,具体怎么使用请看我另一篇博文python中import自己写的.py
    代码如下:

    # -*- coding: utf-8 -*-
    # @Date    : 2017-04-05 09:30:04
    # @Author  : Alan Lau (rlalan@outlook.com)
    import numpy as np
    import reader
    import time
    from pprint import pprint as p
    
    
    def log(func):
        def wrapper(*args, **kwargs):
            now_time = str(time.strftime('%Y-%m-%d %X', time.localtime()))
            print('------------------------------------------------')
            print('%s %s called' % (now_time, func.__name__))
            print('Document:%s' % func.__doc__)
            print('%s returns:' % func.__name__)
            re = func(*args, **kwargs)
            p(re)
            return re
        return wrapper
    
    
    @log
    def get_set_key(data):
        '''构建一个关键词集合,用于作为共现矩阵的首行和首列'''
        all_key = '/'.join(data)
        key_list = all_key.split('/')
        set_key_list = list(filter(lambda x: x != '', key_list))
        return list(set(set_key_list))
    
    
    @log
    def format_data(data):
        '''格式化需要计算的数据,将原始数据格式转换成二维数组'''
        formated_data = []
        for ech in data:
            ech_line = ech.split('/')
            formated_data.append(ech_line)
        return formated_data
    
    
    @log
    def build_matirx(set_key_list):
        '''建立矩阵,矩阵的高度和宽度为关键词集合的长度+1'''
        edge = len(set_key_list)+1
        # matrix = np.zeros((edge, edge), dtype=str)
        matrix = [['' for j in range(edge)] for i in range(edge)]
        return matrix
    
    
    @log
    def init_matrix(set_key_list, matrix):
        '''初始化矩阵,将关键词集合赋值给第一列和第二列'''
        matrix[0][1:] = np.array(set_key_list)
        matrix = list(map(list, zip(*matrix)))
        matrix[0][1:] = np.array(set_key_list)
        return matrix
    
    
    @log
    def count_matrix(matrix, formated_data):
        '''计算各个关键词共现次数'''
        for row in range(1, len(matrix)):
            # 遍历矩阵第一行,跳过下标为0的元素
            for col in range(1, len(matrix)):
                    # 遍历矩阵第一列,跳过下标为0的元素
                    # 实际上就是为了跳过matrix中下标为[0][0]的元素,因为[0][0]为空,不为关键词
                if matrix[0][row] == matrix[col][0]:
                    # 如果取出的行关键词和取出的列关键词相同,则其对应的共现次数为0,即矩阵对角线为0
                    matrix[col][row] = str(0)
                else:
                    counter = 0
                    # 初始化计数器
                    for ech in formated_data:
                            # 遍历格式化后的原始数据,让取出的行关键词和取出的列关键词进行组合,
                            # 再放到每条原始数据中查询
                        if matrix[0][row] in ech and matrix[col][0] in ech:
                            counter += 1
                        else:
                            continue
                    matrix[col][row] = str(counter)
        return matrix
    
    
    def main():
        keyword_path = r'test.xlsx'
        output_path = r'2.txt'
        data = reader.readxls_col(keyword_path)[0]
        set_key_list = get_set_key(data)
        formated_data = format_data(data)
        matrix = build_matirx(set_key_list)
        matrix = init_matrix(set_key_list, matrix)
        result_matrix = count_matrix(matrix, formated_data)
        np.savetxt(output_path, result_matrix, fmt=('%s,'*len(matrix))[:-1])
    
    if __name__ == '__main__':
        main()
    

    为方便理解,我把每个函数返回的结果打印出来:

    ------------------------------------------------
    2017-04-05 15:30:48 get_set_key called
    Document:构建一个关键词集合,用于作为共现矩阵的首行和首列
    get_set_key returns:
    ['f', 'd', 'c', 'a', 'b']
    ------------------------------------------------
    2017-04-05 15:30:48 format_data called
    Document:格式化需要计算的数据,将原始数据格式转换成二维数组
    format_data returns:
    [['a', 'b', 'c'], ['b', 'a', 'f'], ['a', 'd', 'c']]
    ------------------------------------------------
    2017-04-05 15:30:48 build_matirx called
    Document:建立矩阵,矩阵的高度和宽度为关键词集合的长度+1
    build_matirx returns:
    [['' '' '' '' '' '']
     ['' '' '' '' '' '']
     ['' '' '' '' '' '']
     ['' '' '' '' '' '']
     ['' '' '' '' '' '']
     ['' '' '' '' '' '']]
    ------------------------------------------------
    2017-04-05 15:30:48 init_matrix called
    Document:初始化矩阵,将关键词集合赋值给第一列和第二列
    init_matrix returns:
    [['' 'f' 'd' 'c' 'a' 'b']
     ['f' '' '' '' '' '']
     ['d' '' '' '' '' '']
     ['c' '' '' '' '' '']
     ['a' '' '' '' '' '']
     ['b' '' '' '' '' '']]
    ------------------------------------------------
    2017-04-05 15:30:48 count_matrix called
    Document:计算各个关键词共现次数
    count_matrix returns:
    [['' 'f' 'd' 'c' 'a' 'b']
     ['f' '0' '0' '0' '1' '1']
     ['d' '0' '0' '1' '1' '0']
     ['c' '0' '1' '0' '2' '1']
     ['a' '1' '1' '2' '0' '2']
     ['b' '1' '0' '1' '2' '0']]
    
    ***Repl Closed***

    输出的结果为:
    这里写图片描述

    中文关键词的共现矩阵实现:

    import os
    import xlrd
    import re
    from pprint import pprint as pt
    
    
    def readxls(path):
        xl = xlrd.open_workbook(path)
        sheet = xl.sheets()[0]
        data = []
        for i in range(0, sheet.ncols):
            data.append(list(sheet.col_values(i)))
        return (data[0])
    
    
    def wryer(path, text):
        with open(path, 'a', encoding='utf-8') as f:
            f.write(text)
        return path+' is ok!'
    
    
    def buildmatrix(x, y):
        return [[0 for j in range(y)] for i in range(x)]
    
    
    def dic(xlspath):
        keygroup = readxls(xlspath)
        keytxt = '/'.join(keygroup)
        keyfir = keytxt.split('/')
        keylist = list(set([key for key in keytxt.split('/') if key != '']))
        keydic = {}
        pos = 0
        for i in keylist:
            pos = pos+1
            keydic[pos] = str(i)
        return keydic
    
    
    def showmatrix(matrix):
        matrixtxt = ''
        count = 0
        for i in range(0, len(matrix)):
            for j in range(0, len(matrix)):
                matrixtxt = matrixtxt+str(matrix[i][j])+'\t'
            matrixtxt = matrixtxt[:-1]+'\n'
            count = count+1
            print('No.'+str(count)+' had been done!')
        return matrixtxt
    
    
    def inimatrix(matrix, dic, length):
        matrix[0][0] = '+'
        for i in range(1, length):
            matrix[0][i] = dic[i]
        for i in range(1, length):
            matrix[i][0] = dic[i]
        # pt(matrix)
        return matrix
    
    
    def countmatirx(matrix, dic, mlength, keylis):
        for i in range(1, mlength):
            for j in range(1, mlength):
                count = 0
                for k in keylis:
                    ech = str(k).split('/')
                    # print(ech)
                    if str(matrix[0][i]) in ech and str(matrix[j][0]) in ech and str(matrix[0][i]) != str(matrix[j][0]):
                        count = count+1
                    else:
                        continue
                matrix[i][j] = str(count)
        return matrix
    
    
    def main():
        xlspath = r'test.xlsx'
        wrypath = r'1.txt'
        keylis = (readxls(xlspath))
        keydic = dic(xlspath)
        length = len(keydic)+1
        matrix = buildmatrix(length, length)
        print('Matrix had been built successfully!')
        matrix = inimatrix(matrix, keydic, length)
        print('Col and row had been writen!')
        matrix = countmatirx(matrix, keydic, length, keylis)
        print('Matrix had been counted successfully!')
        matrixtxt = showmatrix(matrix)
        # pt(matrix)
        print(wryer(wrypath, matrixtxt))
        # print(keylis)
    
    if __name__ == '__main__':
        main()
    
    展开全文
  • python实现关键词共现矩阵

    千次阅读 2017-08-21 10:25:00
    python实现关键词共现矩阵,将下图中同时出现的关键词, 转化为下图的共现矩阵。 代码如下: import pandas as pd import numpy as np data = pd.read_excel(r'E:\Python\data.xlsx',header=None) ...

    python实现关键词共现矩阵,将下图中同时出现的关键词,

     

    转化为下图的共现矩阵。

     代码如下:

    import pandas as pd
    import numpy as np
    data = pd.read_excel(r'E:\Python\data.xlsx',header=None)
    
    keyword = (set(i.split('/')) for i in data.loc[:,2])
    keyword = set.union(*keyword)#所有关键词
    
    togo = pd.DataFrame(np.zeros([len(keyword),len(keyword)]),columns=keyword,index=keyword)
    for i in data.iloc[:,2]:
        line = i.split('/')
        togo.loc[line,line] = togo.loc[line,line] + 1
    for i in range(len(togo)):#对角线都为0
        togo.iloc[i,i]=0
    
    togo.to_csv(r'E:\Python\togo.csv')

    最后生成的表格如上图,总长度较大,不方便展示,下图大概体现下共现矩阵的信息。

     

    转载于:https://www.cnblogs.com/chenyaling/p/7402958.html

    展开全文
  • [转载]文献关键词共现矩阵python实现

    万次阅读 2017-11-14 16:43:50
    CSDN真烂,就不能提供一键转载...文献关键词共现矩阵python实现 预备知识: 文章关键词 关键词是指表示文献实质意义的那些名词或词组,常出现在文献篇名或文献正文中。 关键词是科技论文的文献检索标识,是

    原文在此:http://blog.csdn.net/luotuo512/article/details/7985707


    CSDN真烂,就不能提供一键转载吗?


    文献关键词共现矩阵python实现


    预备知识:

    文章关键词

    关键词是指表示文献实质意义的那些名词或词组,常出现在文献篇名或文献正文中。

    关键词是科技论文的文献检索标识,是表达文献主题概念的自然语言词汇。科技论文的关键词是从其题名、层次标题和正文中选出来的,能反映论文主题概念的词或词组。

    关键词是为了适应计算机检索的需要而提出来的,位置在摘要之后。早在1963年,美国Chemical Abstracts从第58卷起,就开始采用电子计算机编制关键词索引,提供快速检索文献资料主题的途径。在科学技术信息迅猛发展的今天,全世界每天有几十万篇科技论文发表,学术界早已约定利用主题概念词去检索最新发表的论文。作者发表的论文不标注关键词或叙词,文献数据库就不会收录此类文章,读者就检索不到。关键词选得是否恰当,关系到该文被检索和该成果的利用率。

    共现矩阵

    通过对高频主题词的词频统计分析,我们可以了解到目前某一专题领域里研究的热点。但是,仅仅对这些主题词按照出现频次由高到低的排列还不能表现出这些高频主题词之间的联系,因此我们可以采用共现分析的技术来进一步挖掘这些主题词之间的联系。主题词的共现分析是根据主题词在同一篇论文中共同出现的次数来表示主题词之间的联系。一般认为,如果两个主题词频繁在同一篇论文中同时出现,往往表明这两个主题词之间具有比较密切的联系。这就是共现分析的理论基础。

    python实现

    文章关键词数据获取

    在cnki中检索相关论文,如“中医”,在检索结果页面选择导出,导出格式自选,本文仅分析关键词共现,所以只选择文章名和关键词。如下图。


    词频统计

    确定每个关键词出现的次数,称为词频。

    [python] view plain copy
    1. import csv  
    2. originlines=[]  
    3. dict1={}  
    4. print 'read Book1.csv'  
    5. with open('Book1.csv''rb') as f:  
    6.     reader = csv.reader(f)  
    7.     for row in reader:  
    8.         originlines.append(row)  
    9.         for word in row:  
    10.             if word!='':  
    11.                 if dict1.has_key(word):  
    12.                     dict1[word]+=1  
    13.                 else:  
    14.                     dict1[word]=1  

    高频词选取

    所有关键词符合长尾分布,大量关键词词频为1次,词频较高的关键词才能反映出领域研究热点,词频较低的关键词体现单个文章的研究特色。词频较高的关键词才会有有意义共现矩阵。如下代码完成确定词频阈值。

    [python] view plain copy
    1. print 'write the high frequency word to file'  
    2. from operator import itemgetter  
    3. sortedkeyword=sorted(dict1.iteritems(), key=itemgetter(1), reverse=True)  
    4. writer=csv.writer(open('highkeyword.csv''wb'))  
    5. writer.writerow(['keyword''frequency'])  
    6. for item in sortedkeyword:  
    7.     writer.writerow(item)  
    8. lhighfrequencyword=[]  
    9. frequency=int(input('please read the highkeyword.csv,and input the lowest frequency for keyword:'))  
    10. for item in sortedkeyword:  
    11.     if item[1] > frequency:  
    12.         lhighfrequencyword.append(item[0])  

    高频词矩阵产生

    遍历文章关键词列表,获得高频关键词矩阵。

    [python] view plain copy
    1. print 'generate the matrix'  
    2. wordcount=len(lhighfrequencyword)  
    3. cormatrix= [[0 for col in range(wordcount)] for row in range(wordcount)]  
    4. for colindex in range(wordcount):  
    5.     for rowindex in range(wordcount):  
    6.         cornum=0  
    7.         for originline in originlines :  
    8.             if lhighfrequencyword[colindex] in originline and lhighfrequencyword[rowindex] in originline:  
    9.                 cornum+=1  
    10.         cormatrix[colindex][rowindex]=cornum  
    11. print 'write matrix to file matrix.csv!'  
    12. writer=csv.writer(open('matrix.csv''wb'))  
    13. writer.writerow(lhighfrequencyword)  
    14. for item in cormatrix:  
    15.     writer.writerow(item)  
    16. print 'matrix OK!'  

    参考文献:

    关键词http://www.jcimjournal.com/homepagefiles/quesfiles/20041125576891741.htm

    共现分析http://blog.sciencenet.cn/blog-82196-292267.html


    csdn的文章编辑器真烂啊,为什么没有离线编辑器呢。



    展开全文
  • python构建关键词共现矩阵速度优化

    千次阅读 热门讨论 2018-01-24 11:18:27
    首先感谢[AlanConstantineLau]的文章,为做共现矩阵提供了思路。本文也是基于他的代码进行一定的速度优化。 (http://blog.csdn.net/alanconstantinelau/article/details/69258443) 按照原作者的代码,在构造一个...

    首先感谢[AlanConstantineLau]的文章,为做共现矩阵提供了思路。本文也是基于他的代码进行一定的速度优化。
    (http://blog.csdn.net/alanconstantinelau/article/details/69258443)

    按照原作者的代码,在构造一个较大数据量的矩阵(excel数据10000条,截选出关键词1200余个)时,花费了5个小时,后来修改了算法之后3分钟左右就能构造完成。主要针对以下三个方面进行优化:
    1.针对 def format_data(data) :
    将原始数据转化为二维数组的过程中,使用set()去掉重复词,可以减少后面共现判断的次数;删去原始数据中与构建矩阵无关的词,也能大幅提高时间。
    2.由于共现矩阵上下部分对称,col=row 的下半部分就不用再去判断一次,直接matrix[col][row]=matrix[row][col] 就行。
    3.把每个关键词在 format_data 中出现的行的序列 组成一个字典,共现的判断就转化成了 比较两个关键词对应的list 交集个数的问题。
    下面贴更新过的的代码(原代码见上面链接):

    @log
    def get_set_key(dic,threshold):
        '''选取频数大于等于Threshold的关键词构建一个集合,用于作为共现矩阵的首行和首列'''
        wf = {k: v for k, v in dic.items() if v >= threshold}
        set_key_list=[]
        for a in sorted(wf.items(), key=lambda item: item[1], reverse=True):
            set_key_list.append(a[0])
        return set_key_list
    
    @log
    def format_data(data,set_key_list):
        '''格式化需要计算的数据,将原始数据格式转换成二维数组'''
        formated_data = []
        for ech in data:
            ech_line = ech.split('/')
    
            temp=[]            # 筛选出format_data中属于关键词集合的词
            for e in ech_line:
                if e in set_key_list:
                    temp.append(e)
            ech_line=temp
    
            ech_line = list(set(filter(lambda x: x != '', ech_line))) #set去掉重复数据
            formated_data.append(ech_line)
        return formated_data
    
    @log
    def count_matrix(matrix, formated_data):
        '''计算各个关键词共现次数'''
        keywordlist=matrix[0][1:]  #列出所有关键词
        appeardict={}  #每个关键词与 [出现在的行(formated_data)的list] 组成的dictionary
        for w in keywordlist:
            appearlist=[]
            i=0
            for each_line in format_data:
                if w in each_line:
                    appearlist.append(i)
                i +=1
            appeardict[w]=appearlist
        for row in range(1, len(matrix)):
            # 遍历矩阵第一行,跳过下标为0的元素
            for col in range(1, len(matrix)):
                    # 遍历矩阵第一列,跳过下标为0的元素
                    # 实际上就是为了跳过matrix中下标为[0][0]的元素,因为[0][0]为空,不为关键词
                if col >= row:
                    #仅计算上半个矩阵
                    if matrix[0][row] == matrix[col][0]:
                        # 如果取出的行关键词和取出的列关键词相同,则其对应的共现次数为0,即矩阵对角线为0
                        matrix[col][row] = str(0)
                    else:
                        counter = len(set(appeardict[matrix[0][row]])&set(appeardict[matrix[col][0]]))
    
                        matrix[col][row] = str(counter)
                else:
                    matrix[col][row]=matrix[row][col]
        return matrix

    一点小小的思考,希望与大家多多交流 !

    展开全文
  • 文献关键词共现矩阵python实现

    万次阅读 2012-09-16 22:14:33
    文章关键词 关键词是指表示文献实质意义的那些名词或词组,常出现在文献篇名或文献正文中。 关键词是科技论文的文献检索标识,是表达文献主题概念的自然语言词汇。科技论文的关键词是从其题名、层次标题和正文...
  • 【NLP】关键词共现/属性共现矩阵

    千次阅读 2020-02-11 19:39:42
    【NLP】关键词共现/属性共现矩阵 【共现】理解起来无非是两个词语同时出现的频次作为一个指标,构造矩阵。矩阵的第一列和第一行都是词语列表中的所有词,因此对角线一般设置为0——...感谢Python构建关键词共现矩阵...
  • 在做社会网络分析时,首先需要得到共现矩阵,如关键词共现矩阵、作者共现矩阵、机构共现矩阵等。可是如何把从知网里导出的这些数据做成共现矩阵就比较麻烦了。当然可以使用bibexcel或者《书目共现分析系统》...
  • 2.项目背景本人利用爬虫获取各大博客网站的文章,在进行jieba分词,得到每篇文章的关键词,对这些关键词进行共现矩阵的可视化。3.什么是共现矩阵比如我们有两句话:ls = ['我永远喜欢三上悠亚', '三上悠亚又出新作了...
  • 关键词提取一:构造共现矩阵

    千次阅读 2018-01-28 21:48:22
    因为TFIDF算法的提取关键词的准确性很差,tfidf提取出的关键词很难看出...因为构造词语网络需要先构造关键词共现图,关键词共现图需要先构造关键词共现矩阵,所以第一步就是构造关键词共现矩阵。 构造关键词共现矩阵
  • 项目背景本人利用爬虫获取各大博客网站的文章,在进行jieba分词,得到每篇文章的关键词,对这些关键词进行共现矩阵的可视化。3.什么是共现矩阵比如我们有两句话:ls = ['我永远喜欢三上悠亚', '三上悠亚又出新作了']...
  • python 共现矩阵的实现

    千次阅读 2020-02-29 15:26:58
    文章目录前言什么是共现矩阵共现矩阵的构建思路 前言 最近在学习python词库的可视化,其中有一个依据共现矩阵制作的可视化,感觉十分...我们就可以构建一个以关键词共现矩阵: ['', '我', '永远', '喜欢', '三上',...
  • python实现了知网论文的高频关键词提取,生成高频关键词矩阵,并进行了社会网络分析
  • 这篇随笔是写在看了若干篇关于高频关键词共现和ACA的文章之后的一个总结,这些论文大多是2010年之前发表的,这与这种方法是传统方法有很大关系。同时,这些文章不仅限于图书情报领域。 下面是正文: ①大多数论文...
  • Python实现共现矩阵及networkx...接着我们可以通过关键词来构建共现矩阵,可以看到,BE同时出现一次,则其权重为1,BC同时出现两次,则其权重为2,以此类推 由此可以看出,共现矩阵是一个对角矩阵。 共现矩阵的[0][0
  • 题目: Co-occurrence graph based ...Keyphrase Generation With CopyNet and Semantic Web获取的KP关系是在不同文章之间构建KP词表,然后获取KP之间的强联系,获取方式包括共现矩阵,词表征。本文则不是,这篇文章
  • Python 实现共现矩阵算法

    千次阅读 2017-04-08 00:01:47
    用到的模块: xlrd​最后得到文件: txt(全部复制txt 打开新表格粘贴即可得到xls文件)​​///开始写这个方法的目的是完成作业目标: 对表格里的关键词提取, 然后计算其共现次数, 生成共现矩阵
  • 并以CSSCI数据库中1998—2008年“信息可视化”引文数据为例,数据经过预处理后,由Bibexcel构建其知识单元共现矩阵,利用Ucinet、Netdraw软件,实现了作者共现、关键词共现、引文共现的可视化分析。该研究扩展了...
  • 接下来根据两两关键词在文本中同时出现的频次构建共词矩阵,这个代码怎么实现? 或者在网上看到一段代码,不太会改, fo = open('dic_test.txt', 'w+', ...
  • 作者:AlanLauPython爱好者社区专栏作者图中每个节点代表一个角色,节点与节点之间的连线代表共现,而连线的粗细表示共现...使用步骤2中的数据进行共现矩阵计算4.利用UCINET、NETDRAW、Gephi对共现矩阵实现可视化。...
  • python 共现矩阵构建

    千次阅读 热门讨论 2019-04-26 19:44:02
    1.什么是共词矩阵: 共词矩阵:共词矩阵能表明两个词...再将由10篇文章的关键词列表合为一个列表Full_text_list, Full_text_list=[ [文章1切词结果],[文章2切词结果] ...] 构建: 1.对每篇文章作词频统计,选出其...
  • 结构化数据:特征和观察值以表格形式存储(行列结构),例如存储个体属性数据的二维表、存储在图或邻接矩阵的关系矩阵;非结构化数据:数据以自由实体形式存在,不符合任何标准的组织层次结构,例如服务器日志、邮...
  • 这是一个简约风格的软件,学名“CO-OC”【共现】,可以用来做中英文数据库、网络文本的邻接表+多元组合+共现分析(关键词、作者、机构等)+转相异矩阵+频次统计 文献计量中图谱绘制本质上是基于二元组,即共现的关系...
  • 新版本Pubmed数据库如何做计量分析与知识图谱,bicomb不可以用了 最近一些人想做Pubmed数据库...利用本软件可以一键制作Pubmed关键词共现矩阵、相异矩阵、主题聚类、作者合作矩阵与合作网络、期刊发文统计。 以关键词
  • 中文生物医学文献服务系统(SinoMed)是生物医学领域领域的权威数据库。 相当于中国版的PubMed 最近一些人想做SinoMed数据库计量分析,...关键词共现矩阵网络 关键词主题聚类 关键词、作者词云图 案例图如下: ...
  • 第1关:构建关键词共现矩阵所需数据集 参考程序 import pandas as pd import numpy as np def authors_stat(co_authors_list): au_dict = {} # 单个作者频次统计 au_group = {} # 两两作者合作 #********** ...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

关键词共现矩阵