使用cTAKES解析临床文件

时间:2013-10-21 20:53:34

标签: java uima ctakes

我正在试图弄清楚如何运行临床文档管道 来自Java。我有一套临床文件作为纯文本。我想解析这些文档并提取文档doc_ID中的列表,有频率为freq的CUI。我花了几天时间安装cTAKES并寻找解决方案。我将其缩小到ClinicalPipelineWithUmls.java,在那里进行测试并使用AnaylisisEngineDescription运行SimplePipeline。以下是代码的一部分:

String documentText = "Text of document to test goes here, such as the following. No edema, some soreness, denies pain.";
InputStream inStream = InputStreamCollectionReader.convertToByteArrayInputStream(documentText);
CollectionReader collectionReader = InputStreamCollectionReader.getCollectionReader(inStream);
AnalysisEngineDescription pipelineIncludingUmlsDictionaries = AnalysisEngineFactory.createAnalysisEngineDescription(
            "desc/analysis_engine/AggregatePlaintextUMLSProcessor");
AnalysisEngineDescription xWriter = AnalysisEngineFactory.createPrimitiveDescription(
            XWriter.class,
            XWriter.PARAM_OUTPUT_DIRECTORY_NAME,
            AssertionConst.evalOutputDir,
            XWriter.PARAM_XML_SCHEME_NAME,
            XWriter.XMI,
            XWriter.PARAM_FILE_NAMER_CLASS_NAME,
            CtakesFileNamer.class.getName());
SimplePipeline.runPipeline(collectionReader, pipelineIncludingUmlsDictionaries, xWriter);
System.out.println("Done at " + new Date());

问题是找不到“InputStreamCollectionReader”。我搜索它但到目前为止没有成功!你能给我一个提示或显示一些指示吗? 谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

您是否有任何特殊原因要使用InputStreamCollectionReader?否则,有关于如何使用TextReader here的示例。

答案 1 :(得分:0)

我们为cTAKES实现了一项REST服务,使我们能够将临床文本作为请求发送,并将分析的输出作为JSON响应返回。

您可以在以下github repo中查看cTAKES REST模块。我觉得这应该是对网络访问感兴趣的cTAKES用户的方法。