Git Product home page Git Product logo

Comments (11)

whitten avatar whitten commented on May 23, 2024

Is exposing the tagset() method the most useful one to expose? What kind of information do you need to properly understand/interpret the information in the tagset, and is it available (already exposed) ? Will exposing the tagset require exposing other information simply to make it useful?

from corenlp.

reckart avatar reckart commented on May 23, 2024

I just need access to the raw tags in the model. I already know how to use the LanguagePack to convert them into basic categories, that I have to ignore the "@" tags because these are part of the internal binarized trees, and that I may have to strip the grammatical function from the tag (also using the LanguagePack).

Knowing the tagset gives us a hint (not certainty!) on whether a model is semantically compatible with another model.

In DKPro Core, we try to extract tagset information from all models. Cf. the DKPro Core UIMA wrapper code for the Stanford parser [1]. We use tagset information extracted to:

  • determine what tagset is (probably) being used by a model - some models don't come with decent documentation
  • verify that tagsets don't change between revisions of a model
  • if they change, update our code or our mappings of tags to coarse-grained tags and other metadata

[1] https://code.google.com/p/dkpro-core-gpl/source/browse/de.tudarmstadt.ukp.dkpro.core-gpl/trunk/de.tudarmstadt.ukp.dkpro.core.stanfordnlp-gpl/src/main/java/de/tudarmstadt/ukp/dkpro/core/stanfordnlp/StanfordParser.java?r=606#556

from corenlp.

AngledLuffa avatar AngledLuffa commented on May 23, 2024

Done

On Thu, Dec 4, 2014 at 8:16 AM, Richard Eckart de Castilho <
[email protected]> wrote:

I just need access to the raw tags in the model. I already know how to use
the LanguagePack to convert them into basic categories, that I have to
ignore the "@" tags because these are part of the internal binarized trees,
and that I may have to strip the grammatical function from the tag (also
using the LanguagePack).

Knowing the tagset gives us a hint (not certainty!) on whether a model is
semantically compatible with another model.

In DKPro Core, we try to extract tagset information from all models. Cf.
the DKPro Core UIMA wrapper code for the Stanford parser [1]. We use tagset
information extracted to:

  • determine what tagset is (probably) being used by a model - some
    models don't come with decent documentation
  • verify that tagsets don't change between revisions of a model
  • if they change, update our code or our mappings of tags to
    coarse-grained tags and other metadata

[1]
https://code.google.com/p/dkpro-core-gpl/source/browse/de.tudarmstadt.ukp.dkpro.core-gpl/trunk/de.tudarmstadt.ukp.dkpro.core.stanfordnlp-gpl/src/main/java/de/tudarmstadt/ukp/dkpro/core/stanfordnlp/StanfordParser.java?r=606#556


Reply to this email directly or view it on GitHub
#41 (comment).

from corenlp.

reckart avatar reckart commented on May 23, 2024

Thanks! :) (I guess the commit comes later).

from corenlp.

AngledLuffa avatar AngledLuffa commented on May 23, 2024

I recall something about the pushing to github no longer working. I don't
know anything more than that, as I am no longer directly connected with the
group.
On Dec 9, 2014 2:59 AM, "Richard Eckart de Castilho" <
[email protected]> wrote:

Thanks! :) (I guess the commit comes later).


Reply to this email directly or view it on GitHub
#41 (comment).

from corenlp.

gangeli avatar gangeli commented on May 23, 2024

The script pushing to Github should be working again -- is the commit still not showing up?

from corenlp.

reckart avatar reckart commented on May 23, 2024

It is possible to tie commits to issues by including the issue number in the commit message (cf. link below). Doing so causes commits to show up in an issue. I assumed you do that, so I didn't even check the actual commits list to search for the a related commit.

https://guides.github.com/features/issues/
used e.g. here: nlplab/brat#1084

from corenlp.

manning avatar manning commented on May 23, 2024

I see you added a knownStates() method, John, but that doesn't actually give Richard what he wants, since those states are the phrasal category set not the tag set. Actually, the current sr parser doesn't store the category set anywhere. However, I'm writing a method which in a rather brittle way extracts the tag set from the features. It seems like it will work. But it might be worth it in the future just to add the tag set to the srparser models. It wouldn't take much extra space in what are already huge models, and I agree with Richard that it is useful information to have to check model compatibility. Indeed, we have an integration test that does that now even!

from corenlp.

AngledLuffa avatar AngledLuffa commented on May 23, 2024

Perhaps mistakenly I assumed Richard wanted phrasal categories. POS tags
must be extracted from the tagger which is used instead of the parser.

The srparser could theoretically add the list of expected tags at training
time by looking at the tagger. We could even go back and add that to the
existing models if we want. I think that extracting it from the features
is not a great way of doing it,

John
On Dec 18, 2014 8:29 PM, "Christopher Manning" [email protected]
wrote:

I see you added a knownStates() method, John, but that doesn't actually
give Richard what he wants, since those states are the phrasal category set
not the tag set. Actually, the current sr parser doesn't store the
category set anywhere. However, I'm writing a method which in a rather
brittle way extracts the tag set from the features. It seems like it will
work. But it might be worth it in the future just to add the tag set to the
srparser models. It wouldn't take much extra space in what are already huge
models, and I agree with Richard that it is useful information to have to
check model compatibility. Indeed, we have an integration test that does
that now even!


Reply to this email directly or view it on GitHub
#41 (comment).

from corenlp.

manning avatar manning commented on May 23, 2024

I admit the way I have done it isn't great, but an srparser model does have an implicit tag set, reflecting the set of tags it was trained on. And it has proven to be a great data integrity/compatibility check to have this available. For instance, I now know that the spanish SR parser models have a tag set incompatibility problem versus the PCFG and tagger models (perhaps because older?). They're missing the tags: de0000, faa, fia, pe000000, vaic000, vsic000, which are present in the latter two....

from corenlp.

reckart avatar reckart commented on May 23, 2024

I'm fine with the states (knownStates). Through earlier conversations with you, I (think I) know pretty well how to derive the actual tagset from those. At least I get consistent tagsets extrated across all the different parsers using different APIs (shift-reduce, pcfg, rnn, etc.).

from corenlp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.