You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ctakes.apache.org by Peter Klügl <pe...@averbis.com> on 2016/01/11 18:39:52 UTC

Re: Combining Knowledge- and Data-driven Methods for De-identification of Clinical Narratives

Hi,

I just added a small patch which adds a maven build process and a dummy
unit test.

I had some problems with the version of xml-apis. Is this known or
rather a local problem on my build machine?
Is there a reason why cTAKES requires uima 2.4.0?

Next step would be translating the rules. Azad mentioned that he already
started with that :-)

Best,

Peter


Am 18.12.2015 um 11:01 schrieb Peter Klügl:
> Hi,
>
> sorry, there was no free time left in December for this issue, but I
> will be able to provide the patches in January (for real).
>
> Best,
>
> Peter
>
> Am 24.11.2015 um 11:37 schrieb Azad Dehghan:
>> This is on my todo list for Dec. as well. If there are any more volunteers
>> for translating JAPE to RUTA, please get in touch.
>>
>> Cheers,
>> Azad
>>
>> On 24 Nov 2015 09:55, "Peter Klügl" <pe...@averbis.com> wrote:
>>> Hi,
>>>
>>> I just wanted to mention that I haven't forgot about it. Unfortunately,
>>> there is just no spare time right now. I hope I will be able to provide
>>> the patches in December.
>>>
>>> Best,
>>>
>>> Peter
>>>
>>> Am 06.11.2015 um 16:40 schrieb Pei Chen:
>>>> Hi Peter,
>>>> I think the ctakes-examples is probably a good starting point at least
>>>> in terms of maven modules, etc.  I think it would be good if we use
>>>> uimaFIT style as primary approach to wiring components together and
>>>> generate desc's as secondary...
>>>> I think the actual components that would be required is probably best
>>>> left up to what is actually required for best performing c-deid.  The
>>>> output would be interesting, I'm not sure if we should treat this as
>>>> an independent preprocessing component or part of a pipeline (in which
>>>> case, we may need to propose a change to the type system or perhaps an
>>>> alternative JCas view.  You can probably open up that discussion to
>>>> the dev group as you see fit.)
>>>>
>>>> My 2 cents...
>>>>
>>>>
>>>> On Fri, Nov 6, 2015 at 3:38 AM, Peter Klügl <pe...@averbis.com>
>> wrote:
>>>>> Hi,
>>>>>
>>>>> Is there a cTAKES project that may serve as an example on how the
>> cTAKES
>>>>> community develops or how a project should look like?
>>>>> I learned that different people set up UIMA project in a quite
>> different
>>>>> manner and I do not what to get inspired by "some sort of out-dated"
>>>>> approach in the cTAKES repo.
>>>>>
>>>>> Are there restriction or preferences about the preprocessing components
>>>>> that should be used and the kind of "output" of the project.
>>>>> Components: On which components may the componetns rely: tokenizer, ...
>>>>> parser, ... dict lookup?
>>>>> "output": Should the project provide a pipeline or a single AE?
>>>>>
>>>>> More comments below.
>>>>>
>>>>> Am 03.11.2015 um 16:54 schrieb Azad Dehghan:
>>>>>>> Who else plans to provide patches for it? Just to avoid duplicate
>> work
>>>>>>> and to coordnate the efforts ...
>>>>>>>
>>>>>> I would like to help with the translating JAPE to RUTA.
>>>>> You can already go ahead with the UIMA Ruta Workbench if you want, or
>>>>> wait until I set up the project with ruta integration.
>>>>>
>>>>> If any questions arise, just ask :-)
>>>>>
>>>>>>> Is there a development dataset which was utilized for the initial
>>>>>>> development, and if yes, is it possible to contribute it too?
>>>>>>>
>>>>>> The data set is unfortunately not publicly available; i2b2
>>>>>> <https://www.i2b2.org/NLP/DataSets/Main.php> typically releases the
>> data
>>>>>> sets 12 months after a given challenge; this is done on an individual
>> basis
>>>>>> and involve a Data Use Agreement.
>>>>>>
>>>>>> However, I will be able to conduct and coordinate the validation.
>>>>>>
>>>>> Ok, I'll investigate if we have already access to the dataset here.
>>>>>
>>>>>
>>>>>>> My first step would be:
>>>>>>> - set up a maven project
>>>>>>> - set up a development pipeline in a test (with cTAKES components
>>>>>>> replacing the previous ANNIE preprocessing)
>>>>>>>
>>>>>>>
>>>>>>> But one item that we need to review is the 3rd party libs jars that
>>>>>>> were included to ensure compatibility.  I’ll be sure to take a look
>> at
>>>>>>> that over the next few weeks.
>>>>>>>
>>>>>>> —Pei
>>>>>>>
>>>>>>>
>>>>>> @Pei - once ANNIE components are replaced there is should not be a
>> need to
>>>>>> worry about the 3rd party libs.
>>>>>>
>>>>>> Also, just a thought: we may want to create an independent component
>> for
>>>>>> the Two Pass recognition (TwoPass.java) as this method have shown
>> useful
>>>>>> for general NER on longitudinal data and surely useful independent of
>> the
>>>>>> deid component.
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Azad
>>>>>>


Re: Combining Knowledge- and Data-driven Methods for De-identification of Clinical Narratives

Posted by Peter Klügl <pe...@averbis.com>.
Hi,

Ruta requires a newer uima version since Marshall fixed some bugs. In
previous ruta versions there were workarounds but I removed them in the
latest version(s). Thus, using ruta with such an old uima version could
lead to flawed rule inference.

I would recommend ugrading to the latest uima version but this is not a
trivial task and I do not know how good the test coverage of cTAKES is.
I managed the uima version to 2.8.1 for now in the deid project.

There's a ClassNotFoundException of a class that is not part of xml-apis
1.0 but 1.4. I added the stacktrace below.

There was also a problem when merging the patch. I will fix that with
the next patch.

Best,

Peter


log4j:WARN Error during default initialization
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown
Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown
Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown
Source)
    at
org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown
Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at
org.apache.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:767)
    at
org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
    at
org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:773)
    at
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
    at org.apache.log4j.Logger.getLogger(Logger.java:104)
    at
org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289)
    at
org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:109)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at
org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116)
    at
org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
    at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
    at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
    at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
    at
org.springframework.core.io.support.PathMatchingResourcePatternResolver.<clinit>(PathMatchingResourcePatternResolver.java:169)
    at
org.apache.uima.fit.internal.MetaDataUtil.resolve(MetaDataUtil.java:92)
    at
org.apache.uima.fit.internal.MetaDataUtil.scanImportsAndManifests(MetaDataUtil.java:65)
    at
org.apache.uima.fit.internal.MetaDataUtil.scanDescriptors(MetaDataUtil.java:170)
    at
org.apache.uima.fit.factory.TypeSystemDescriptionFactory.scanTypeDescriptors(TypeSystemDescriptionFactory.java:131)
    at
org.apache.uima.fit.factory.TypeSystemDescriptionFactory.createTypeSystemDescription(TypeSystemDescriptionFactory.java:102)
    at
org.apache.uima.fit.factory.JCasFactory.createJCas(JCasFactory.java:50)
    at
org.apache.ctakes.deid.DeidPipelineTest.test(DeidPipelineTest.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 70 more

Am 11.01.2016 um 23:52 schrieb Pei Chen:
> Patch applied:
> http://svn.apache.org/repos/asf/ctakes/sandbox/ctakes-clinical-deid/
> Thanks Peter.
>
> What error did you get with xml-api’s?  Do you mean upgrade ctakes to
> the latest version of uima instead of 2.4.0?
>
> —Pei
>
>> On Jan 11, 2016, at 12:39 PM, Peter Klügl <peter.kluegl@averbis.com
>> <ma...@averbis.com>> wrote:
>>
>> Hi,
>>
>> I just added a small patch which adds a maven build process and a dummy
>> unit test.
>>
>> I had some problems with the version of xml-apis. Is this known or
>> rather a local problem on my build machine?
>> Is there a reason why cTAKES requires uima 2.4.0?
>>
>> Next step would be translating the rules. Azad mentioned that he already
>> started with that :-)
>>
>> Best,
>>
>> Peter
>>
>>
>> Am 18.12.2015 um 11:01 schrieb Peter Klügl:
>>> Hi,
>>>
>>> sorry, there was no free time left in December for this issue, but I
>>> will be able to provide the patches in January (for real).
>>>
>>> Best,
>>>
>>> Peter
>>>
>>> Am 24.11.2015 um 11:37 schrieb Azad Dehghan:
>>>> This is on my todo list for Dec. as well. If there are any more
>>>> volunteers
>>>> for translating JAPE to RUTA, please get in touch.
>>>>
>>>> Cheers,
>>>> Azad
>>>>
>>>> On 24 Nov 2015 09:55, "Peter Klügl" <peter.kluegl@averbis.com
>>>> <ma...@averbis.com>> wrote:
>>>>> Hi,
>>>>>
>>>>> I just wanted to mention that I haven't forgot about it.
>>>>> Unfortunately,
>>>>> there is just no spare time right now. I hope I will be able to
>>>>> provide
>>>>> the patches in December.
>>>>>
>>>>> Best,
>>>>>
>>>>> Peter
>>>>>
>>>>> Am 06.11.2015 um 16:40 schrieb Pei Chen:
>>>>>> Hi Peter,
>>>>>> I think the ctakes-examples is probably a good starting point at
>>>>>> least
>>>>>> in terms of maven modules, etc.  I think it would be good if we use
>>>>>> uimaFIT style as primary approach to wiring components together and
>>>>>> generate desc's as secondary...
>>>>>> I think the actual components that would be required is probably best
>>>>>> left up to what is actually required for best performing c-deid.  The
>>>>>> output would be interesting, I'm not sure if we should treat this as
>>>>>> an independent preprocessing component or part of a pipeline (in
>>>>>> which
>>>>>> case, we may need to propose a change to the type system or
>>>>>> perhaps an
>>>>>> alternative JCas view.  You can probably open up that discussion to
>>>>>> the dev group as you see fit.)
>>>>>>
>>>>>> My 2 cents...
>>>>>>
>>>>>>
>>>>>> On Fri, Nov 6, 2015 at 3:38 AM, Peter Klügl
>>>>>> <peter.kluegl@averbis.com <ma...@averbis.com>>
>>>> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Is there a cTAKES project that may serve as an example on how the
>>>> cTAKES
>>>>>>> community develops or how a project should look like?
>>>>>>> I learned that different people set up UIMA project in a quite
>>>> different
>>>>>>> manner and I do not what to get inspired by "some sort of out-dated"
>>>>>>> approach in the cTAKES repo.
>>>>>>>
>>>>>>> Are there restriction or preferences about the preprocessing
>>>>>>> components
>>>>>>> that should be used and the kind of "output" of the project.
>>>>>>> Components: On which components may the componetns rely:
>>>>>>> tokenizer, ...
>>>>>>> parser, ... dict lookup?
>>>>>>> "output": Should the project provide a pipeline or a single AE?
>>>>>>>
>>>>>>> More comments below.
>>>>>>>
>>>>>>> Am 03.11.2015 um 16:54 schrieb Azad Dehghan:
>>>>>>>>> Who else plans to provide patches for it? Just to avoid duplicate
>>>> work
>>>>>>>>> and to coordnate the efforts ...
>>>>>>>>>
>>>>>>>> I would like to help with the translating JAPE to RUTA.
>>>>>>> You can already go ahead with the UIMA Ruta Workbench if you
>>>>>>> want, or
>>>>>>> wait until I set up the project with ruta integration.
>>>>>>>
>>>>>>> If any questions arise, just ask :-)
>>>>>>>
>>>>>>>>> Is there a development dataset which was utilized for the initial
>>>>>>>>> development, and if yes, is it possible to contribute it too?
>>>>>>>>>
>>>>>>>> The data set is unfortunately not publicly available; i2b2
>>>>>>>> <https://www.i2b2.org/NLP/DataSets/Main.php> typically releases the
>>>> data
>>>>>>>> sets 12 months after a given challenge; this is done on an
>>>>>>>> individual
>>>> basis
>>>>>>>> and involve a Data Use Agreement.
>>>>>>>>
>>>>>>>> However, I will be able to conduct and coordinate the validation.
>>>>>>>>
>>>>>>> Ok, I'll investigate if we have already access to the dataset here.
>>>>>>>
>>>>>>>
>>>>>>>>> My first step would be:
>>>>>>>>> - set up a maven project
>>>>>>>>> - set up a development pipeline in a test (with cTAKES components
>>>>>>>>> replacing the previous ANNIE preprocessing)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But one item that we need to review is the 3rd party libs jars
>>>>>>>>> that
>>>>>>>>> were included to ensure compatibility.  I’ll be sure to take a
>>>>>>>>> look
>>>> at
>>>>>>>>> that over the next few weeks.
>>>>>>>>>
>>>>>>>>> —Pei
>>>>>>>>>
>>>>>>>>>
>>>>>>>> @Pei - once ANNIE components are replaced there is should not be a
>>>> need to
>>>>>>>> worry about the 3rd party libs.
>>>>>>>>
>>>>>>>> Also, just a thought: we may want to create an independent
>>>>>>>> component
>>>> for
>>>>>>>> the Two Pass recognition (TwoPass.java) as this method have shown
>>>> useful
>>>>>>>> for general NER on longitudinal data and surely useful
>>>>>>>> independent of
>>>> the
>>>>>>>> deid component.
>>>>>>>>
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Azad
>>>>>>>>
>>
>


Re: Combining Knowledge- and Data-driven Methods for De-identification of Clinical Narratives

Posted by Pei Chen <pe...@wiredinformatics.com>.
Patch applied:
http://svn.apache.org/repos/asf/ctakes/sandbox/ctakes-clinical-deid/ <http://svn.apache.org/repos/asf/ctakes/sandbox/ctakes-clinical-deid/>
Thanks Peter.

What error did you get with xml-api’s?  Do you mean upgrade ctakes to the latest version of uima instead of 2.4.0?

—Pei

> On Jan 11, 2016, at 12:39 PM, Peter Klügl <pe...@averbis.com> wrote:
> 
> Hi,
> 
> I just added a small patch which adds a maven build process and a dummy
> unit test.
> 
> I had some problems with the version of xml-apis. Is this known or
> rather a local problem on my build machine?
> Is there a reason why cTAKES requires uima 2.4.0?
> 
> Next step would be translating the rules. Azad mentioned that he already
> started with that :-)
> 
> Best,
> 
> Peter
> 
> 
> Am 18.12.2015 um 11:01 schrieb Peter Klügl:
>> Hi,
>> 
>> sorry, there was no free time left in December for this issue, but I
>> will be able to provide the patches in January (for real).
>> 
>> Best,
>> 
>> Peter
>> 
>> Am 24.11.2015 um 11:37 schrieb Azad Dehghan:
>>> This is on my todo list for Dec. as well. If there are any more volunteers
>>> for translating JAPE to RUTA, please get in touch.
>>> 
>>> Cheers,
>>> Azad
>>> 
>>> On 24 Nov 2015 09:55, "Peter Klügl" <pe...@averbis.com> wrote:
>>>> Hi,
>>>> 
>>>> I just wanted to mention that I haven't forgot about it. Unfortunately,
>>>> there is just no spare time right now. I hope I will be able to provide
>>>> the patches in December.
>>>> 
>>>> Best,
>>>> 
>>>> Peter
>>>> 
>>>> Am 06.11.2015 um 16:40 schrieb Pei Chen:
>>>>> Hi Peter,
>>>>> I think the ctakes-examples is probably a good starting point at least
>>>>> in terms of maven modules, etc.  I think it would be good if we use
>>>>> uimaFIT style as primary approach to wiring components together and
>>>>> generate desc's as secondary...
>>>>> I think the actual components that would be required is probably best
>>>>> left up to what is actually required for best performing c-deid.  The
>>>>> output would be interesting, I'm not sure if we should treat this as
>>>>> an independent preprocessing component or part of a pipeline (in which
>>>>> case, we may need to propose a change to the type system or perhaps an
>>>>> alternative JCas view.  You can probably open up that discussion to
>>>>> the dev group as you see fit.)
>>>>> 
>>>>> My 2 cents...
>>>>> 
>>>>> 
>>>>> On Fri, Nov 6, 2015 at 3:38 AM, Peter Klügl <pe...@averbis.com>
>>> wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> Is there a cTAKES project that may serve as an example on how the
>>> cTAKES
>>>>>> community develops or how a project should look like?
>>>>>> I learned that different people set up UIMA project in a quite
>>> different
>>>>>> manner and I do not what to get inspired by "some sort of out-dated"
>>>>>> approach in the cTAKES repo.
>>>>>> 
>>>>>> Are there restriction or preferences about the preprocessing components
>>>>>> that should be used and the kind of "output" of the project.
>>>>>> Components: On which components may the componetns rely: tokenizer, ...
>>>>>> parser, ... dict lookup?
>>>>>> "output": Should the project provide a pipeline or a single AE?
>>>>>> 
>>>>>> More comments below.
>>>>>> 
>>>>>> Am 03.11.2015 um 16:54 schrieb Azad Dehghan:
>>>>>>>> Who else plans to provide patches for it? Just to avoid duplicate
>>> work
>>>>>>>> and to coordnate the efforts ...
>>>>>>>> 
>>>>>>> I would like to help with the translating JAPE to RUTA.
>>>>>> You can already go ahead with the UIMA Ruta Workbench if you want, or
>>>>>> wait until I set up the project with ruta integration.
>>>>>> 
>>>>>> If any questions arise, just ask :-)
>>>>>> 
>>>>>>>> Is there a development dataset which was utilized for the initial
>>>>>>>> development, and if yes, is it possible to contribute it too?
>>>>>>>> 
>>>>>>> The data set is unfortunately not publicly available; i2b2
>>>>>>> <https://www.i2b2.org/NLP/DataSets/Main.php> typically releases the
>>> data
>>>>>>> sets 12 months after a given challenge; this is done on an individual
>>> basis
>>>>>>> and involve a Data Use Agreement.
>>>>>>> 
>>>>>>> However, I will be able to conduct and coordinate the validation.
>>>>>>> 
>>>>>> Ok, I'll investigate if we have already access to the dataset here.
>>>>>> 
>>>>>> 
>>>>>>>> My first step would be:
>>>>>>>> - set up a maven project
>>>>>>>> - set up a development pipeline in a test (with cTAKES components
>>>>>>>> replacing the previous ANNIE preprocessing)
>>>>>>>> 
>>>>>>>> 
>>>>>>>> But one item that we need to review is the 3rd party libs jars that
>>>>>>>> were included to ensure compatibility.  I’ll be sure to take a look
>>> at
>>>>>>>> that over the next few weeks.
>>>>>>>> 
>>>>>>>> —Pei
>>>>>>>> 
>>>>>>>> 
>>>>>>> @Pei - once ANNIE components are replaced there is should not be a
>>> need to
>>>>>>> worry about the 3rd party libs.
>>>>>>> 
>>>>>>> Also, just a thought: we may want to create an independent component
>>> for
>>>>>>> the Two Pass recognition (TwoPass.java) as this method have shown
>>> useful
>>>>>>> for general NER on longitudinal data and surely useful independent of
>>> the
>>>>>>> deid component.
>>>>>>> 
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Azad
>>>>>>> 
>