GithubHelp home page GithubHelp logo

fogbeam / valmont-f Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 0.0 3.27 MB

A open source Literature Based Discovery system, using Groovy & Grails, including a re-implementation of the Arrowsmith algorithm(s)

License: Other

Groovy 31.82% CSS 35.27% JavaScript 23.17% Shell 5.04% Batchfile 2.49% Java 1.74% Dockerfile 0.48%
artificial-intelligence literature-based-discovery science grails3 groovy research research-tool swanson-linking hypothesis-generation

valmont-f's Introduction

Overview

Valmont/F - A re-implementation of the classic ArrowSmith Literature Based Discovery system, using Groovy and Grails.

This is a learning platform, for anyone interested in LBD, to play and experiment. Our first goal is to re-implement the classic algorithm(s) that Don Swanson developed, and then start looking for new and interesting variations and additions.

As such, one of our primary goals here is to make this as modular and pluggable as possible, in order to facilitate experimenting with novel approaches to Literature Based Discovery.

This is very much a Work In Progress at the moment, featuring fairly naive implementations of the orignal "procedure one" and "procedure two" approaches from Swanson's original A-B-C discovery algorithm.

About

When I say I am called Valmont/F, the name will convey no impression to the reader, one way or another. My occupation is that of open source Literature Based Discovery system on GitHub. If you ask anyone who Valmont was, she will likely be able to tell you to see http://www.gutenberg.org/files/19369/19369-h/19369-h.htm If you ask here why I am named Valmont/F, she will surely say that I am named after the world-famous detective, Eugène Valmont.

Deployment

There are two main ways to deploy Valmont/F at the moment. The first, and easiest, is to use our public Docker image(s), located at https://hub.docker.com/r/fogbeam/valmont-f

A simple "docker pull fogbeam/valmont-f:latest" followed by a "docker run -d -p 8080:8080 fogbeam/valmont-f:latest" should yield a running Valmont/F instance. The container exposes port 8080, but you can change the -p argument to map that to whatever makes sense on your Docker host. The webapp is running on the root context.

The second way is to clone this Git repo, install Java and Grails (if you don't already have those installed), and then do a ./run_valmont.sh in the root of the cloned repo directory. Take this approach if you want to hack on the code yourself. The required Grails version is 3.3.6 if you plan to run things this way.

Reference Material

License

Original code provided by Fogbeam Labs is licensed under the Apache License v2. Data files and supporting libraries may be under separate licenses. See LICENSE file for more details.

TODO

  • Create a Docker image and push to Docker Hub - DONE
  • add more terms to the clinical-stopwords list
  • add a "domain selector" to toggle what archive is queried and what stopword list(s) are employed
  • better tokenization of abstracts and titles, so we don't, for example, treat 'Start' and 'Start.' as different tokens and generate each as a 'b term'
  • use NLP, deep learning, etc. to do deeper semantic analysis of article text to find more meaningful connections that simple co-occurence of words
  • improve code structure to create reusable components that simplify implementing new algorithms and approaches
  • add input validation to existing controllers
  • figure out a UI experience for "drilling down" further into the results we currently return, especially for "Procedure One"
  • support more complex relationships, especially "multi-hop" ones that involve more than two concepts
  • Add visualizations to help navigate / explore results. Maybe use dot / graphviz
  • Add caching to reduce the need for downloading documents all the time
  • Add ability to filter the initial query(ies) by date range

Resources and Stuff for Future Experimtation

valmont-f's People

Contributors

mindcrime avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

valmont-f's Issues

Start application

I wonder how to start the application. In the root directory I execute grails run-app but the following error occurs: "Error occurred running Grails CLI"

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.