GATE track 1 session: Difference between revisions

From zooid Wiki
Jump to navigation Jump to search
Line 1: Line 1:
Welcome Harry!  Good to see you. Best, [[User:MarkDilley|MarkDilley]]
A full week of learning [http://en.wikipedia.org/wiki/General_Architecture_for_Text_Engineering GATE] text mining/information extraction language processing and talks. [http://gate.ac.uk/wiki/TrainingCourseAug2010/ Session wiki]


== Contributions ==
[[File:GATE_screenshot.png|900px|GATE developer screenshot]]


Harry, thanks for the contributions! I hope to meet you soon --[[Raymond King]] | <small>[[User talk:Rathbone|talk]]</small> 01:35, 2 Feb 2006 (EST)
GATE is written in Java and very Java centric. This makes it portable, fast, and heavyweight. A programming library is available. It's 14 years old and has many users and contributors.


== Caricature ==
= Using GATE developer =


Made u a caricature, hope you like it but feel free to take it down if you don't :-) --[[Raymond King]] | <small>[[User talk:Rathbone|talk]]</small> 17:00, 4 Feb 2006 (EST)
* GATE developer is used to process sets of Language Resources in Corpus using Processing Resources. They are typically saved to a serialized Datastore.
:hehe! Excellent! -- [[User:Harry Wood|Harry Wood]] 15:30, 5 Feb 2006 (EST)
* ANNIE, VG (verb group) processors.
* Preserve formatting embeds tags in HTML or XML.
** Different strengths using GATE's graph (node/offset) based XML vs. preserved formatting (original xml/html)


== Thanks Harry ==
= Information Extraction =


Hi Harry, I'm Donny, I submitted PattayaWiki, thanks for clearing up the categories, I am new to Wikis and wasn't sure whether or not to go for a scattergun approach - obviously I got it wrong, sorry about that.  I have now checked out other Wikis categorized here as "Places" and am getting a better idea of what is appropriate.
* IR - retrieve docs
* IE - retreive structured data


The main guy behind the Pattaya Wiki is Pete who has been running the PattayaTalk.com forum for about a decade - it's an excellent forum with a lot of knowledgeable regulars.  I suggested a wiki because I noticed how a lot of excellent contributions were submerging over time and the same questions were being asked again and again; veteran users were becoming antagonistic towards newbies who apparently didn't know how to use the search feature.  I had never run a wiki but am a heavy Wikipedia user and am convinced that, if we can dig out all the wisdom that has been shared over the years in forum and refashion it for the wiki, it will be an extremely useful resource.
* Knowledge Engineering - rule based
* Learning Systems - statistical


I believe that the subject matter is legitimate and, as more and more people relocate or retire to Thailand, it is important that they be informed not only of the highlights but also the pitfalls.
Old Bailey IE project  - 17th century english (Online)


[[User:Donny|Donny]] 15:03, 8 Feb 2006 (EST)
* POS - assigned in Token (noun, verb, etc)


No worries Donny, we are still working out how things happen here.  Glad to have you here.  Best, [[MarkDilley]] | <small>[[User talk:MarkDilley|talk]]</small>
* Gazateer - gotcha, have to set initialization parameter listsURL before it's loaded. Must also "save and reinitialize."
* Gazeteer creates Lookups, then transducer creaties named entities
* Then orthomatcher (spelling features in common) coreference associates those
 
* Annotation Key sets and annotation comparing
** Need setToKeep key in Document Reset for any pre annotated texts
 
== Evaluation / Metrics ==
 
* Evaluation metric - mathematically against human annotated
* Scoring - performance measures for annotation types
 
* Precision = correct / correct + spurious
* Recall = correct / correct + missing
* F-measure is precision and recall (harmonic mean)
* F=2⋅(precision⋅recall / precision+recall)
* GATE supports average, strict, lenient
 
* Result types - Correct, missing, spurious, partially correct (overlapped)
 
* Tools > Annotations Diff - comparing human vs machine annotation
 
* Corpus > Corpus quality assurance - compare by type
* (B has to be the generated set)
 
* Annotation set transfer (in tools) - transfer between docs in pipeline
** useful for eg HTML that has boilerplate
 
 
== To investigate ==
 
* markupAware for HTML/XML (keeps tags in editor)
* AnnotationStack
* Advanced Options
 
= JAPE =
 
* Rules based on tokens and lookups
 
Phase: MatchingStyles
Input: Lookup
Options: control = appelt
Rule: Test1
(
({Lookup.majorType == location})?
  {Lookup.majorType == loc_key}
):match
-->
  :match.Location = {rule=Test1}
 
Copying features: :match.Location = { type = :match.Lookup.minorType}
 
== To review, gotchas ==
 
* Rule types : first takes only first match, excludes compound
** a? b for "a b" will match "a b"
* multiplexor tranducers
* multi-constraint statements
* macros
* To reuse created annotations has to be a separate rule
 
=== Matching types ===
 
[[File:gate-matching.png|800px|Matching styles for JAPE]]
 
= To follow up =
 
* WebSphinx crawler CREOLE plugin
 
= Other notes =
 
== Lucene data store and ANNIC ==
 
* Use <null> for default set
* Go to Datastore for queries
** eg {Person}({Token})+{Money}
* Useful for debugging JAPE and results
 
[[File:GATE-lucene-person-money.png|800px]]
 
= Demos =
 
* Mímir for querying large volumes of data (uses MG4J)
* Translating parts of speech between languages using Compound editor and Alignment editor
* Predicate extractor (MultiPaX)
** Mixed results at best
* OwlExporter
** NLP ontology
 
= Conclusions =
 
While it can do a lot out of the box and benefits from development time and breadth of connectivity, to be useful to more than patient specialists, it needs usability testing. A lot of things are inobvious and too domain specific that with a bit of work could be more broadly useful. Interaction could include a lot more immediate, useful and interesting looking displays. A web based version could have these features. However the team seems somewhat ambivalent about development. :)
 
Looking forward to learning about programming using GATE libraries.
 
{{Blikied|Aug 30, 2010}}
 
[[Category:SemWeb]]

Revision as of 23:12, 8 September 2010

A full week of learning GATE text mining/information extraction language processing and talks. Session wiki

GATE developer screenshot

GATE is written in Java and very Java centric. This makes it portable, fast, and heavyweight. A programming library is available. It's 14 years old and has many users and contributors.

Using GATE developer

  • GATE developer is used to process sets of Language Resources in Corpus using Processing Resources. They are typically saved to a serialized Datastore.
  • ANNIE, VG (verb group) processors.
  • Preserve formatting embeds tags in HTML or XML.
    • Different strengths using GATE's graph (node/offset) based XML vs. preserved formatting (original xml/html)

Information Extraction

  • IR - retrieve docs
  • IE - retreive structured data
  • Knowledge Engineering - rule based
  • Learning Systems - statistical

Old Bailey IE project - 17th century english (Online)

  • POS - assigned in Token (noun, verb, etc)
  • Gazateer - gotcha, have to set initialization parameter listsURL before it's loaded. Must also "save and reinitialize."
  • Gazeteer creates Lookups, then transducer creaties named entities
  • Then orthomatcher (spelling features in common) coreference associates those
  • Annotation Key sets and annotation comparing
    • Need setToKeep key in Document Reset for any pre annotated texts

Evaluation / Metrics

  • Evaluation metric - mathematically against human annotated
  • Scoring - performance measures for annotation types
  • Precision = correct / correct + spurious
  • Recall = correct / correct + missing
  • F-measure is precision and recall (harmonic mean)
  • F=2⋅(precision⋅recall / precision+recall)
  • GATE supports average, strict, lenient
  • Result types - Correct, missing, spurious, partially correct (overlapped)
  • Tools > Annotations Diff - comparing human vs machine annotation
  • Corpus > Corpus quality assurance - compare by type
  • (B has to be the generated set)
  • Annotation set transfer (in tools) - transfer between docs in pipeline
    • useful for eg HTML that has boilerplate


To investigate

  • markupAware for HTML/XML (keeps tags in editor)
  • AnnotationStack
  • Advanced Options

JAPE

  • Rules based on tokens and lookups
Phase: MatchingStyles
Input: Lookup
Options: control = appelt
Rule: Test1
(
({Lookup.majorType == location})?
{Lookup.majorType == loc_key}
):match
-->
:match.Location = {rule=Test1}

Copying features: :match.Location = { type = :match.Lookup.minorType}

To review, gotchas

  • Rule types : first takes only first match, excludes compound
    • a? b for "a b" will match "a b"
  • multiplexor tranducers
  • multi-constraint statements
  • macros
  • To reuse created annotations has to be a separate rule

Matching types

Matching styles for JAPE

To follow up

  • WebSphinx crawler CREOLE plugin

Other notes

Lucene data store and ANNIC

  • Use <null> for default set
  • Go to Datastore for queries
    • eg {Person}({Token})+{Money}
  • Useful for debugging JAPE and results

GATE-lucene-person-money.png

Demos

  • Mímir for querying large volumes of data (uses MG4J)
  • Translating parts of speech between languages using Compound editor and Alignment editor
  • Predicate extractor (MultiPaX)
    • Mixed results at best
  • OwlExporter
    • NLP ontology

Conclusions

While it can do a lot out of the box and benefits from development time and breadth of connectivity, to be useful to more than patient specialists, it needs usability testing. A lot of things are inobvious and too domain specific that with a bit of work could be more broadly useful. Interaction could include a lot more immediate, useful and interesting looking displays. A web based version could have these features. However the team seems somewhat ambivalent about development. :)

Looking forward to learning about programming using GATE libraries.



RSS

Blikied on Aug 30, 2010