Stanford nlp 如何将Stanford NER标记的文本提取到csv中?

Stanford nlp 如何将Stanford NER标记的文本提取到csv中?,stanford-nlp,Stanford Nlp,我没有NLP或很多编程方面的背景,但在我研究报纸出版史时,我逐渐了解了这一点。我正在努力处理10k多页的纯文本,我很难将它们雕刻成结构化数据来执行更复杂的分析 我已经能够在一个大的文本文件上运行Stanford NER,成功地标记了我要检查的许多实体。因此,这里是我天真的问题:我如何将标记的文本文件提取或解析为csv文件,或者至少将每个类别的单独列表提取或解析为某种结构 例如,我看到这样的情况: The <ORGANIZATION>Committee on Education<

我没有NLP或很多编程方面的背景,但在我研究报纸出版史时,我逐渐了解了这一点。我正在努力处理10k多页的纯文本,我很难将它们雕刻成结构化数据来执行更复杂的分析

我已经能够在一个大的文本文件上运行Stanford NER,成功地标记了我要检查的许多实体。因此,这里是我天真的问题:我如何将标记的文本文件提取或解析为csv文件,或者至少将每个类别的单独列表提取或解析为某种结构

例如,我看到这样的情况:

The <ORGANIZATION>Committee on Education</ORGANIZATION> and the <ORGANIZATION>Philadelphia Assocation of Teachers</ORGANIZATION> offer a plan for the organization of the school in the town of <LOCATION>Erie</LOCATION>, <LOCATION>Pennsylvania</LOCATION> as it will be run by the honorable <PERSON>Williamson</PERSON> and <PERSON>Thompson</PERSON>
教育委员会和费城教师协会为宾夕法尼亚州伊利镇的学校组织提供了一项计划,该校将由尊敬的威廉姆森和汤普森管理
在浏览了这个网站上对其他问题的极其相似的答案后,我发现可能使用了某种正则表达式,甚至sed,如下所示,但没有成功

sed-e'/^location/,/^/location/p'nertagateg.txt

我考虑过其他选项,如BeautifulSoup或XML解析器(因为Stanford NER实现可以输出XML),但我想知道这是否过份,因为我处理的标签数量非常有限——基本上只是个人、位置和组织。这些是我最好的选择吗?在我的无知中,我错过了什么


非常感谢。

同意。这实际上并不像期望的那样容易,我将添加一个选项,使下一个版本更容易实现:)。但是,如果您像在您的示例中那样使用
-outputFormat inlineXML
,那么下面的Perl one liner将实现这一目的,在输出文件上运行,我称之为
inlineXML.out

perl -ne 'while (s/<([^>]+)>([^<]*)<[^>]+>//) { print "$2\t$1\n"; }' inlineXML.out
perl-ne'while(s/]+)>([^//){print“$2\t$1\n”;}inlineXML.out

这实际上在列之间放置了一个制表符,而不是逗号。大多数电子表格都可以读取。如果您真的需要逗号,您可以将上面的
\t
替换为
,但如果某些实体包含逗号,则可能会出现问题,例如加州大学戴维斯分校

此答案文档uments 2014年在Stanford NER的3.5版中添加了用于此操作的新功能。有一个新的
outputFormat
tabbedEntities
。此格式是定制的 对于希望将输出转储到电子表格中的人员非常有用 这是一个有趣的混合文本/专栏 数据表示,我们希望人们能发现它的有用之处 标记化文本按文本顺序显示,以3个选项卡分隔 列。第一列中的内容是可识别的实体,第二列中的内容是可识别的实体 列给出了它们的类别,第三列包含所有文本 在可识别的实体之间。您应该能够轻松加载此文件 进入电子表格、R或数据库,然后进行聚合或查询 过度认可的实体。以下是使用上述文本的示例:

$ java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier classifiers/english.all.3class.distsim.crf.ser.gz -textFile jcc.txt -outputFormat tabbedEntities 2> /dev/null
        The
Committee on Education  ORGANIZATION    and the
Philadelphia Assocation of Teachers ORGANIZATION    offer a plan for the organization of the school in the town of
Erie    LOCATION    ,
Pennsylvania    LOCATION    as it will be run by the honorable
Williamson  PERSON  and
Thompson    PERSON

我从来没有对你说一句真正的感谢。它正是我所需要的——非常感谢。我很想在下一个版本中看到它。非常感谢!