主要内容

创建共发生网络

此示例显示了如何使用单词范围的模型创建共同发生网络。

给定的文档语料库,共发生网络是一个无方向的图,节点对应于词汇中的唯一单词,边缘和边缘对应于文档中同时存在的单词频率。使用共发生网络可视化和提取文档语料库中单词之间关系的信息。例如,您可以使用共汇网络来发现通常以指定单词出现的单词。

导入文本数据

提取文件中的文本数据周末updates.xlsx使用可读取。文件周末updates.xlsx包含包含主题标签的状态更新“#周末”“#假期”。使用可读取功能和提取的文本数据textdata柱子。

文件名=“周末updates.xlsx”;tbl =可读取(文件名,'texttype',,,,'细绳');textData = tbl.TextData;

查看前几个观察。

textdata(1:5)
ans =5x1字符串“周年快乐!❤下一站:巴黎!✈#vacation”“哈哈,海滩上的烧烤,参与自鸣得意的模式!##vacation”“为周六晚上做好准备#Vacation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

预处理文本数据

引导文本,将其转换为小写,然后删除停止单词。

documents = tokenizedDocument(textData);文档= lower(文档);documents = removestopWords(文档);

使用单词范围的型号创建一个单词计数矩阵。

bag = bagofwords(文档);counts = bag.counts;

要计算单词共发生,请将单词计数矩阵乘以其转置。

cooccurrence = counts.'*counts;

使用该网络将共发生矩阵转换为网络图形功能。

g =图(cooccrence,bag.vocabulary,“省略自助”);

使用阴谋功能。将线厚度设置为边缘重量的倍数。

lwidths = 5*g.Edges.peage/max(g.edges.peight);情节(g,'行宽',lwidths)标题(“同事网络”

图包含一个轴对象。带有标题共存在网络的轴对象包含类型图形图的对象。

找到neighbors of the word "great" using the邻居功能。

word =“伟大的”
字=“伟大”
idx = find(bag.vocabulary == word);nbrs =邻居(g,idx);Bag.Vocabulary(NBRS)'
ans =18x1字符串“下一个”“ #vacation”“”“” #weekend“”“☹”“兴奋”“飞行”,“延迟”“卡住”,“机场”“”,“花”。”“每个人”

通过提取该单词及其邻居的子图,可视化“伟大”一词的共发生。

h =子图(g,[idx; nbrs]);lwidths = 5*H.Edges.WAWER/MAX(H.EDGES.PEWERT);情节(h,'行宽',lwidths)标题(“共存在网络 - 字:”“”+ Word +“”“”);

图包含一个轴对象。带有标题共存在网络的轴对象 - 字:“ Great”包含类型图形图的对象。

For more information about graphs and network analysis, see图和网络算法

也可以看看

|||

Related Topics