我想知道如何从命令行使用Apache cTAKES。
E.g。 :
\apache-ctakes-3.2.2-bin\apache-ctakes-3.2.2\desc\ctakes-clinical-pipeline\desc\analysis_engine\AggregatePlaintextUMLSProcessor.xml
如何使用the获取分析引擎的输出(即注释) 命令行(即不使用UIMA CAS等图形用户界面) Visual Debugger或Collection Processing Engine)?我更喜欢 使用提供的JAR文件而不必编译代码。
问题相当简单,但我无法找到信息 cTAKES's README或 在Confluence。
答案 0 :(得分:6)
请尝试以下步骤从命令行使用cTAKES CPE(密钥类为“org.apache.uima.examples.cpe.SimpleRunCPE”):
将目录更改为$ CTAKES_HOME / desc / ctakes-clinical-pipeline / desc / collection_processing_engine /
将test_plaintext.xml复制到另一个文件(例如“test_plaintext_test.xml”)。
编辑“test_plaintext_test.xml”以设置输入目录;找到name =“InputDirectory”的“nameValuePair”,并将值字符串设置为输入目录。以下示例将输入目录设置为“$ CTAKES_HOME / note_input”:
<nameValuePair>
<name>InputDirectory</name>
<value>
<string>note_input</string>
</value>
</nameValuePair>
同样,编辑“test_plaintext_test.xml”以设置输出目录(以下示例中为“$ CTAKES_HOME / result_output”):
<nameValuePair>
<name>OutputDirectory</name>
<value>
<string>result_output</string>
</value>
</nameValuePair>
保存“test_plaintext_test.xml”并将目录更改为$ CTAKES_HOME / bin。
将runctakesCPE.sh复制到另一个文件(例如“runctakesCPE_CLI.sh”)。
编辑“runctakesCPE_CLI.sh”;将最后一行(“java ...”)替换为以下行(“USER”和“PW”应替换为您的UMLS用户名和密码,并且可以根据内存大小调整内存设置Xms和Xms在你的机器上):
java -Dctakes.umlsuser=USER -Dctakes.umlspw=PW -cp $CTAKES_HOME/lib/*:$CTAKES_HOME/desc/:$CTAKES_HOME/resources/ -Dlog4j.configuration=file:$CTAKES_HOME/config/log4j.xml -Xms2g -Xmx3g org.apache.uima.examples.cpe.SimpleRunCPE $CTAKES_HOME/desc/ctakes-clinical-pipeline/desc/collection_processing_engine/test_plaintext_test.xml
保存“runctakesCPE_CLI.sh”,然后创建输入目录(“$ CTAKES_HOME / note_input”)和输出目录(“$ CTAKES_HOME / result_output”)。
将note.txt放入输入目录(例如“$ CTAKES_HOME / note_input / note.txt”),然后运行“runctakesCPE_CLI.sh”。
cTAKES CPE将在命令行模式下开始运行,生成的文件将在输出目录中生成(例如,“$ CTAKES_HOME / result_output / note.txt.xml”)。
我实际上使用了你的note.txt来运行上面的步骤,这里是生成的note.txt.xml的前几行:
<?xml version="1.0" encoding="UTF-8"?><CAS version="2">
<uima.cas.Sofa _indexed="0" _id="3" sofaNum="1" sofaID="_InitialView" mimeType="text" sofaString="Patient had elevated blood sugar but tests confirm no diabetes. Patient's father had adult onset diabetes. "/>
<org.apache.ctakes.typesystem.type.structured.DocumentID _indexed="1" _id="1" documentID="note.txt"/>
<uima.tcas.DocumentAnnotation _indexed="1" _id="10" _ref_sofa="3" begin="0" end="107" language="x-unspecified"/>
<org.apache.ctakes.typesystem.type.textspan.Segment _indexed="1" _id="15" _ref_sofa="3" begin="0" end="107" id="SIMPLE_SEGMENT"/>
<org.apache.ctakes.typesystem.type.textspan.Sentence _indexed="1" _id="21" _ref_sofa="3" begin="0" end="63" sentenceNumber="0"/>
希望这会有所帮助: - )
答案 1 :(得分:4)
java -Dctakes.umlsuser=USER -Dctakes.umlspw=PW -cp $CTAKES_HOME/lib/*;$CTAKES_HOME/desc/;$CTAKES_HOME/resources/ -
Dlog4j.configuration=file:$CTAKES_HOME/config/log4j.xml -Xms2g -Xmx3g to_replace $CTAKES_HOME/desc/ctakes-clinical-pipeline/desc/collection_processing_engine/test_plaintext_test.xml
用“
”替换“to_replace” org.apache.ctakes.ytex.tools.RunCPE or
org.apache.ctakes.core.cpe.CmdLineCpeRunner