我花了一些时间,大概两个小时,尝试使用 JMP 培训信息,但我一定遗漏了一些东西。
我有非结构化的调查问题并进行了基本的文本分析。从这些短语中,我可以看出大约五个意思相同的短语。我想将这些词组归为一个且唯一的一个词组进行分析。在 JMP 中,我可以选择短语并轻松创建“超级短语”吗?我已经尝试了几次,但不知道该怎么做。
“请求测试”
“要求测试”
“请求测试”
“测试请求”
“测试请求”
“测试请求”
所有这些都将被归类为“请求测试”,因为它们都具有该含义。
我了解到这是 JMP 14 Pro 中的两步过程。文本资源管理器... 首先,通过在标题为短语的右侧框中选择多个词干短语来创建一个新短语。然后,完成后,转到标题为“术语和短语列表”的左侧框。查找并右键单击新短语。选择“重新编码”并为您分组的每个短语提供一个描述性名称。随着新名称的出现,这些消失了。然后,在那个左边的框中,您将看到新的“superphrase”,您可以在 pareto 中查看它。
我可能弄错了,但在我看来,要处理的短语的各种形式都可以在文本资源管理器的短语列表中找到。 这些短语不是文本数据列中的原始字符串值。 我认为这种情况是非结构化文本,而不是结构化字符值。 因此,必须在解析和终止后在文本资源管理器中重新编码。
您没有提到您正在使用的 JMP 版本。 如果 JMP12 或更高版本,则有一个名为 Recode 的列实用程序。
下面的脚本创建一个虚拟表并为 User1 的用户调用 Recode。
ex= {"request tests", "request a test", "request testing", "test requests", "test request",
"testing requests"};
dt= New Table("Survey", add rows(50), NewColumn("User1", character,
<< set each value(ex[Random integer(1,6)]) ) );
dt << Go To (:User1);
dt << Recode;随附的屏幕截图显示了表格和交互式界面。 公式周围的红色框是一个菜单选项,用于创建新列(值)、公式(列)或就地(替换值)。我选择了公式并命名该列重新编码用户 1 . 接下来,选择所有选项并单击鼠标右键,然后会出现一个选项的弹出菜单。 选项是使用众多短语之一,或使用新值。 进行选择并按下重新编码按钮。
注意:如果有多个答案组,您可以通过不同的选项选择组,指定常用术语。 完成后按重新编码。

此操作创建的公式是
Match( :User1,
"request a test", "request tests",
"request testing", "request tests",
"test request", "request tests",
"test requests", "request tests",
"testing requests", "request tests",
:User1
)
我会使用以下公式
t0 = Trim( Lowercase( :User1 ) );
If( Contains( t0, "request" ) & Contains( t0, "test" ),
"request test",
:User1
);
这些函数都不能处理拼写错误和拼写错误。JMP 有一个称为最短编辑距离的函数,我有一个用于计算 Levenshtein 距离的脚本,还有其他算法可以对级别匹配(或不匹配)或单词和短语进行“评分”。
但是,如果您以交互方式处理数据,Recode 非常好用。
抬头重新编码数据在网上的书使用 JMP .(主菜单 > 帮助 > 书籍 > 使用 JMP)。
哦,我们还没有 Text Explorer 的培训。 我们将在 10 月份的 JMP 发现峰会上推出一门新课程!
]我不明白为什么“a”在您的术语列表中,因此在您的短语列表中。 一个字符的标记真的能提供信息吗? 此外,停用词包括“a”,它应该已被自动删除。
你可以先为要求/要求并为测试/测试所以你只有两个短语,请求测试和测试请求. 您可以将它们添加到术语列表中,然后将它们重新编码到所需的级别。
可能有更优雅的方法来做到这一点(如果有人知道我会很感兴趣),但您可以通过使用带有多个 OR 子句的公式 IF 创建一个新列来完成此操作,这些子句说明该文本字段是否包含“您列出的每个短语”,然后是 1,否则为 0。如果您使用“行”、“选择位置”选项并添加多个条件,这会更容易,每个条件都是文本字段“包含”并列出您的短语列表(确保检查“是否满足任何条件”)。选择这些行后,在“行”下,“列中的名称选择”将创建与公式相同的列。