大家好,
我有一个JMP表,其中包含一堆期刊文章的全文。 每条记录的每一列都具有文章标题(作为ID),而另一列则具有文章全文。 我有兴趣创建一个仅包含每篇论文“方法”部分中的文本的新列。 我开始认为看完@brady_brady “重新编码审查”教程https://community.jmp.com/t5/JMP-On-Air/Recode-Review/ta-p/261025 。 我的想法是为每个记录在全文字段中搜索“方法”一词,然后将其替换为任意且不常见的定界符(例如$%^)。 接下来,我将在每个文档的全文本字段中搜索“结果”一词,并将其替换为不同的任意定界符(例如,!@#)。 然后,我可以以某种方式使用文本作为列或RegEx来仅对这两个定界符之间的文本进行子集化。 从理论上讲这似乎是可能的。 但是,我猜想如果在文档中多次出现“方法”或“结果”一词,这会很复杂(如果不是不切实际的话)。 有什么建议/警告的话吗?
你好,
这是可用于直接提取单词“ Methods”第一次出现和单词“ Results”第一次出现之间的文本的最基本公式。
Munger(
:TEXT,
Contains( Uppercase( :TEXT ), "METHODS" ),
Contains( Uppercase( :TEXT ), "RESULTS" )
-Contains( Uppercase( :TEXT ), "METHODS" )
)
我非常确定这仅适用于全文数据的一部分,因为这两个词在科学论文中极为常见,但是它使您了解了如何使用JMP公式而不必插入特殊字符和使用正则表达式。
最好的,
TS
与许多(几乎所有?)情况一样,“取决于”。 如果数据结构合理,则可以使用其他功能来解决此问题。 例如,如果所有论文都来自同一期刊,则您可以利用它们之间的结构一致性。 有时,您确实确实需要发挥创造力,有时,几乎不可能想出一种通过综合分析规则来分解所需文本的方法。 当然,更多的工具可以带来更多的创造力和力量。
确保查看Recode的“提取段”功能,以及您提到的某些正则表达式。
抱歉,我在这里没有更多帮助了-
干杯,
布雷迪
你好,我们又见面了,
经过一些试验,我找到了一种方法,可以使用由...提供的简单公式来完成我的期刊文章文本分析目标。 @Thierry_S 。 我面临的挑战是,我的“文章”来自大量不同的期刊,所有期刊都有不同的格式和副标题标签。 因此,没有标准的面向模式的方法将起作用。 我最终要做的是需要对pdf进行一些手动编辑,但这还不错,而且似乎100%有效。
首先,我打开每个pdf文件并编辑文本,以便不同的标准内容块具有自己的定界符。 就我而言,我想要引用的摘要,简介,方法,结果,讨论和文献的标准类别。 因此,在每篇论文中,我找到了与我的“方法”概念相符的第一个标题。 在某些情况下,这实际上是“方法”一词,但在其他情况下,则是“材料和方法”或“研究领域”之类的东西。 无论哪种方式,我都在所需子标题的末尾添加了唯一的定界符(例如CCCCC)。 然后,我找到了与我的“结果”概念相匹配的第一个小标题,通常是“结果”一词,但每个期刊都不相同,有时还会使用其他词。 无论副标题如何,我都添加了一个唯一的定界符(例如DDDDD)。 对于整个语料库中我想要的六个标准内容块,我都执行了相同的操作。
接下来,我将所有编辑的pdf文件转换为.txt文件(使用JMP之外的其他软件)。
然后,我使用JMP中的AWESOME“导入多个文件”工具创建了一个数据表,该数据表每篇文章有一行,而每篇文章的全文都放在一列中。
在这一点上,我要做的就是创建6个新列,每个标题一个,然后使用Thierry_S提供的公式的变体来收集我想要的内容块。 例如,要创建“方法”列,我使用了公式
Munger(
:TEXT,
Contains( Uppercase( :TEXT ), "CCCCC" ),
Contains( Uppercase( :TEXT ), "DDDDD" )
-Contains( Uppercase( :TEXT ), "CCCCC" )
)
然后,使用“公式”创建一个“结果”列
Munger(
:TEXT,
Contains( Uppercase( :TEXT ), "DDDDD" ),
Contains( Uppercase( :TEXT ), "EEEEE" )
-Contains( Uppercase( :TEXT ), "DDDDD" )
)
最后,我有一个800篇文章的数据表,其中每篇文章的标准列中的信息都包括摘要,介绍,方法,结果,讨论和引用的文献。 宾果,哈利路亚!
尽管此方法确实需要手动将定界符插入PDF文件中,但是该过程只花了一天的时间。 考虑到文章格式的巨大差异,以及文章之间没有一致的“标记”元数据,这是一个非常简单的方法。 也许有一种方法可以通过搜索可能符合本节条件的单词列表(例如“方法”,“结果”)自动插入这些标签,但是正如该线程中其他地方提到的那样,这些单词在几乎任何部分都可能出现的期刊文章。 手动方法使我能够从我所有的pdf文件中捕获文本,无论它们是来自期刊的pdf文件还是在过去30年中受到OCR扫描的报告质量较差的报告。
再一次谢谢你@Thierry_S为您的帖子。 JMP的灵活性再次来袭!
凯西