文本挖掘:找到一个给定的单词,然后获取它两边的单词<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在尝试在手动输入的评论中挖掘文本。 值得庆幸的是,有一些模式。 在前10个单词中,如果出现“to”这个词,那么“to”两边的单词就是我想要的单词。
我已经迈出了使用以下公式创建表达式列的第一步:Words[Comments]。 它返回了评论列中的单词列表 - 非常酷。
那么,接下来我该怎么做才能找到“to”是否出现在前十个单词中,如果是,抓住“to”两边的单词?
回复:文本挖掘:找到一个给定的单词,然后获取它两边的单词谢谢大家! 抱歉回复晚了 - 正忙着为刚刚结束的年会进行文本挖掘。
所以,我使用了 Jeff 的公式方法,因为我没有太多时间来做任何真正优雅的事情。 现在,我有时间学习正则表达式。 我将为这个分析开发一个脚本解决方案,以便明年我可以快速完成。
数据清理/信息提取是这项工作的混乱部分。 该公式有助于找到我正在寻找的东西。 但是,我仍然需要在 Columns 中做很多工作 >重新编码。 向那些让它在 JMP12 中如此强大的人致敬!
顺便说一句,文本挖掘将成为一个出色的掌握 JMP 网络研讨会.
回复:文本挖掘:找到一个给定的单词,然后获取它两边的单词如果我说过一次,我已经说过一百万次了。如果您要进行任何数量的文本挖掘,花一个小时学习正则表达式是值得的。大量精彩的 youtube 视频,脚本指南中甚至有一个非常好的部分。
文本= “问题的示例文本。” ;
答案1 =正则表达式(文本, “(\w+) 到 (\w+)” , "\1" ) ;
答案2 =正则表达式(文本, “(\w+) 到 (\w+)” , "\2" ) ;
回答=正则表达式(文本, “(\w+) 到 (\w+)” , "\1" || ", " || "\2" ) ;
打印(答案1 ) ;
打印(答案2 ) ;
打印(回答) ;
输出:
“文本”
“这”
“文本,”
回复:文本挖掘:找到一个给定的单词,然后获取它两边的单词伊恩@JMP有一个很好的脚本示例。
如果您想在列公式中执行此操作,它将如下所示。

这个公式使用一个局部变量保持“to”的位置。
我已经附上了一个带有这个公式的列的数据表,以显示它是如何工作的。
注意:如果“to”出现在位置 10,它会给你单词 9 和 11。 如果这不是您想要的,您需要在 If() 中添加一个附加条件。
回复:文本挖掘:找到一个给定的单词,然后获取它两边的单词不用太花哨,也许是这样的? 第二个给出“{}”,因为最后一个“单词”是“to”。不是“到”。 但是如果需要,您可以对其进行编码。
名称DefaultToHere ( 1 ) ;
词那个括号到=
功能({字符串} , {默认本地} ,
字符串=字(字符串) ;
位置= Loc (字符串, “至” ) ;
必填词= {} ;
如果(位置<= 10 ,
如果(位置> 1 ,插入(必填词,字符串[位置- 1 ])) ;
如果(位置< N项(字符串) ,插入(必填词,字符串[位置+ 1 ])) ;
) ;
评估列表(必填词) ;
) ;
示例文本= “这是一个不包含太多次的短语。” ;
打印(词那个括号到(示例文本)) ;
示例文本= “这是一个包含 to 的短语。” ;
打印(词那个括号到(示例文本)) ;