Giter VIP home page Giter VIP logo

hawk's People

Contributors

ab-10 avatar dependabot[bot] avatar vintrae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mandulaj

hawk's Issues

Include BlindVote in API

Blind Vote: All voting methods in analysis package, that use discriminativeQuery are referred to as blind vote, because they are blind to the definition roles.

The task is to provide them through the API, in a similar way that currently roleBasedVote is provided, however the methods should be called directly rather than duplicating the functionality in the handler (as it is being done for roleBasedVote).

Improve field naming

Currently all document fields in Lucene indexes are named property, irrespective of the nature of the content.

Indexes constructed from definition graphs should have fields organized and named in the following parallel schemes:

  • rawGloss the entire definition, constructed by concatenating the properties of synset's and it's supertype's glosses.
  • chunkedGloss just like raw gloss, but spaces within each property are replaced with underscores, thus a space separates different properties.
  • Naming according to semantic role labels for definition graphs, that are present in the graphs themselves.

The purpose is to facilitate further experimentation and improve property extraction, as improved field naming allows for more selective queries.

Refactor roleBasedVote handler

Currently the roleBasedVote is declared in demo (under RoleBasedVoteHandler) and analysis (under DictionaryClassifiers). There should be no voting logic included in demo, so the RoleBasedVoteHandler should be modified so that it uses functionality from analysis and analysis should be modified so that it can provide explanations for role based vote (similarly as is currently done in demo).

Improve API Error Messages

Currently for both API endpoints (/properties/api and /roleBasedVote/api) a request that does not have all of the required parameters returns {Invalid request}.

There are two problems with this:

  1. The response is not informative enough. The response should specify which parameters were missing.
  2. For property handler, it should be permitted to have a missing comparison if the properties is set to p and missing pivot if properties is set to c.

Integrate the best performing model and roleBasedEval into the same project

The best performing model (F1 wise), is the one on commit 8533aa6, but the model on roleBasedEval branch offers comparison methods, that have future potential.

I would like to combine the analysis and indexation functionality of both of these models, so that the user can specify what type of analysis they want to do (the methods between the two should be in the same project, but separate methods).

Split existing JAR

Currently there's one large jar file generated by the Maven build, running which runs a local API instance.
Instead there should be 3 jar files generated as a result of build into out folder:

  • indexation.jar that creates Lucene indexes from out/externalData into out/indexes

  • analysis.jar that accepts triples of form pivot,comparison,feature separated by \n and outputs the same list of triples with appended 0 (not discriminative) or 1 (discriminative). E.g java -jar analysis.jar --model_name < apple,orange,red is expected to output to standard out apple,orange,red,1

  • api.jar current functionality of the jar, i.e. runs a local instance of API.

Create home page

Problem

Currently the API server doesn't have anything at root. It would be nice if the root could link to the other pages of the API.

Suggested Aproach

You should create a new class that extends AbstractHandler in demo package, this class should handle request to root and return the index page, an index page can be a static .html file (which should be placed in resources folder).

Then modify DemoServer to redirect call to root ("\") to the class you created (similarly as it has been done for the other handlers).

Automate Concept Net Pre-Processing

Requires issue #20 to be complete

Project should include the required scripts for pre-processing Concept Net data.
The result of said pre-processing should be a file easily readable by a java program for further analysis in the format:
<edge name> <term_1> <term_2>
Where the terms inside of triple are space separated and lines are separated using \n (UNIX line endings).

Thanks for contributing.

Document the package structure

Describe the responsibilities of each package (i.e. prep, indexation, analysis, demo, examples).
Describing the 3 core packages (prep, indexation, and analysis) separately from the remaining ones might improve clarity.

Document the API

Currently Readme.md describes basic steps for setting up the API, but it would appreciate work to elaborate on the installation process and document the usage format of the API itself.

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.