GATE track 1 session: Difference between revisions

 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Tags==
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]


John,  I spoke with Ray and we both agree that the tags are a definate step in the right direction, I am hoping that we can figure out what we need to do to make the tag functional within the description text. Until then, I guess we place
[[File:GATE_screenshot.png|900px|GATE developer screenshot]]
the things underneath the header/footer. 


* that was the problem, trying to make it a header, so I have just bolded it, it works now as a footer. What do you think?
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.


Best, [[MarkDilley]]
= Using GATE developer =


==wiki_recentchanges==
* 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)


In order to have a clean, uniform look in the StructuredData template, wiki_recentchanges needs to be set to "no" if there is not a RecentChanges in the wiki.  Words other than "no" show up ugly and distracting.
= Information Extraction =


: Could we rename <code>wiki_recentchanges</code> to something like <code>recent_changes_URL</code> to emphasize that we *want* the actual URL there, not merely the word "yes" ? --[[User:DavidCary|DavidCary]] 14:38, 8 Feb 2006 (EST)
* IR - retrieve docs
: Need to add it to the SysOp's task list.  Need to find or create that. Best, [[MarkDilley]] | <small>[[User talk:MarkDilley|talk]]</small>
* IE - retreive structured data


==If not all information available==
* Knowledge Engineering - rule based
Can one add a wiki with blanks in several places? I'm thinking of copying a few hundred profiles from wiki4all.com and leaving the "owners" of the wikis (or some other enthusiast) to fill in the blanks from their own knowledge rather than do the research myself. [[User:Robin Patterson|robinp]] 14:20, 7 Feb 2006 (EST)
* Learning Systems - statistical


: I'd recommend using "Unknown" instead of blank. That way, those pages will show up in [[:Category:Unknown]] for further research, if the owners don't do it themselves.  [[TedErnst]] | <small>[[User talk:TedErnst|talk]]</small> 15:36, 7 Feb 2006 (EST)
Old Bailey IE project - 17th century english (Online)


:: Should we pre-fill the template on this page with the word "Unknown" ?
* POS - assigned in Token (noun, verb, etc)


If we do that we will lose the category/tag place holders there, not sure which would be more useful.
* 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
* [http://www.semanticsoftware.info/semantic-assistants-architecture GATE NLP web services]
 
= 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]]