Wolfram 语言

总结大型语料库中的句子结构

用 Wolfram语言可轻松分析大型数据集。下面的例子使用 ExtendedEntityClass 从网站 english.stackexchange.com 上的帖子中提取和调查超过一百万个句子的语法结构。

导入根据 english.stackexchange.com 创建的 EntityStore

注册实体库以便在 EntityValue 中使用。

对于被分类为 "single-word-requests" 的帖子,找出 50 个最常被引用、斜体、粗体或被链接的单词,并为结果制作词云。

显示完整的 Wolfram 语言输入

可以通过检查帖子中使用的句子结构来对网站进行更大范围的调查。首先使用属性扩展帖子实体类型以提取简单的句子。

显示完整的 Wolfram 语言输入

用新属性从帖子中提取超过一百万个句子。

通过空格或标点符号的分隔来查找每个句子中的单词。

据一篇文章称,书面散文的每个句子的字数统计遵循对数正态分布。用 FindDistributionParameters 求出语料库每个句子中单词分布的拟合参数,并将它们绘制在一起进行比较。

显示完整的 Wolfram 语言输入

求每个单词出现的频率。

DeleteStopwords 清理数据集。

在对数-对数图中可视化清理后的字数。

主要考虑前 50 个单词,用 Callout 标识每个单词。

TextStructure 分析语料库中的所有句子,完成后将结果追加到文件中。注意,此过程需要很长时间,计算时间可能长达数天。

从文件中读取数据。

来看一个具体的实例。

构建一个函数来提取句子的核心结构。

显示完整的 Wolfram 语言输入

提取所有句子的核心结构。

找出数据中的所有语法单位以及它们出现的频率。

求每对相邻语法单位的变迁次数。

以下是名词和介词之间的变迁次数。

MatrixPlot 可视化每种变迁的频率。

显示完整的 Wolfram 语言输入

将结构相同的句子分为一组。

可视化最常见的句子结构。

显示完整的 Wolfram 语言输入

查看一些有趣结构的例句。

显示完整的 Wolfram 语言输入

创建一些最常见的句子结构的网络,如果它们通过插入一个语法单元共享父子关系,则将两个结构连接在一起。

显示完整的 Wolfram 语言输入

相关范例

de en es fr ja ko pt-br