Dear Jörn, Thank you for the reply.=================================== Yes in the draft WSDisambiguator is the main interface. =================================== Yes for the disambiguate method the input is expected to be tokenized, it should be an input array. The second argument is for the token index. We can also make it into an index array to support multiple words. =================================== Concerning the resources, we expect two types of resources : local and remote resources.
+ For local resources, we have two main types : 1- training models for supervised techniques. 2- knowledge resources It could be best to make the packaging using similar OpenNLP models for #1. As for #2, it will depend on what we want to use, since the type of information depends on the specific technique. + As for remote resources ex: [BabelNet], [WordsAPI], etc. we might need to have some REST support, for example to retrieve a sense inventory for a certain word.Actually, the newest semeval task [Semeval15] will use [BabelNet] for WSD and EL (Entity Linking).[BabelNet] has an offline version, but the newest one is only available through REST.Also, in case it is needed to use a remote resource, AND it typically requires a license, we need to use a license key or just use the free quota with no key. Therefore, we thought of having a [ResourceProvider] as mentioned in the [draft]. Are there any plans to add an external API connector of the sort or is this functionality already possible for extension ? (I noticed there is a [wikinews_importer] in the sanbox) But in any case we can always start working only locally as a first step, what do you think ? =================================== It would be more straightforward to use the algorithm names, so ok why not. =================================== Yes we have already started working ! What do we need to push to the sandbox ? =================================== Thanks ! Anthony [BabelNet] : http://babelnet.org/download [WordsAPI] : https://www.wordsapi.com/ [Semeval15] : http://alt.qcri.org/semeval2015/task13/ [draft] : https://docs.google.com/document/d/10FfAoavKQfQBAWF-frpfltcIPQg6GFrsoD1XmTuGsHM/edit?pli=1 > Subject: Re: GSoC 2015 - WSD Module > From: kottm...@gmail.com > To: dev@opennlp.apache.org > Date: Mon, 1 Jun 2015 20:30:08 +0200 > > Hello, > > I had a look at your APIs. > > Lets start with the WSDisambiguator. Should that be an interface? > > // returns the senses ordered by their score (best one first or only 1 > in supervised case) > String[] disambiguate(String inputText,int inputWordposition); > > Shouldn't we have a tokenized input? Or is the inputText a token? > > If you have resources you could package those into OpenNLP models and > use the existing serialization support. Would that work for you? > > I think we should have different implementing classes for different > algorithms rather than grouping that in the Supervised and Unsupervised > classes. And also use the algorithm / approach name as part of the class > name. > > As far as I understand you already started to work on this. Should we an > initial code drop into the sandbox, and then work out things from there? > We strongly prefer to have as much as possible source code editing > history in our version control system. > > Jörn