共现概率的统计思路如下:
- 设定窗口大小。这个窗口是共同出现的词。
- 处理输入词。去除stop word,建立索引表,建立词频矩阵,并初始化矩阵
- 依据窗口的大小,处理每一行数据,统计出现的次数,保存在词频矩阵中
看到一个很好的关于“共现”的定义:
所谓的共现,共同出现,其实就是看一个词有没有在另一个词的附近出现,所谓的附近,其实就是一个移动窗口的概念,定义窗口的半径(从中心词到边缘的距离)后,看看方圆多少范围内出现词的个数,就是共现,现在看看例子。
作者:机智的叉烧
链接:https://www.jianshu.com/p/d0cb367752e8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
需要注意的是,要考虑窗口比现有的词汇多的情况。
代码如下:
#导入模块
from gensim import corpora
from pprint import pprint #格式化输出
import numpy as np
def Bottom_Top(c_pos,max_len,window):
bottom=c_pos-window
top = c_pos+window+1
if bottom < 0:
bottom =0
if top >= max_len:
top=max_len
return bottom,top
n_matrix=8
window=2
word_matrix=np.zeros(shape=[n_matrix,n_matrix])
word_list1 = ['我','来自','中国','我','黄河','长江']
word_list2 =