Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating to 5.0 #5

Open
sethjgore opened this issue Nov 21, 2014 · 14 comments
Open

Updating to 5.0 #5

sethjgore opened this issue Nov 21, 2014 · 14 comments

Comments

@sethjgore
Copy link

Currently link grammar library is at 5.0 and a lot of features are added. Do you think we can have the library updated to 5.0?

@dijs
Copy link
Owner

dijs commented Nov 21, 2014

I would love to work on that. Could you send me a link of the new version's page?

@sethjgore
Copy link
Author

Great! Here you are. Opencog is currently the official maintainer of the project and they are continually updating the library so that’s a good thing.

https://github.com/opencog/link-grammar

Off the point, any best ideas how to split sentences effectively?

@_sethjgore
I run Grmmr (http://green-bridge.org) & create useful things (http://sjgore.com).
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

On Friday, November 21, 2014 at 2:35 PM, Richard van der Dys wrote:

I would love to work on that. Could you send me a link of the new version's page?


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

@linas
Copy link

linas commented Dec 27, 2014

Hi,
The current version is actually 5.2.0, as of today.

Yes, you seem to be using a version of link-grammar that is 10 years out of date(!!), is missing many hundreds of bug fixes, and is an order of magnitude slower and fatter. Here's a list of the fixes:

http://www.abisource.com/projects/link-grammar/older-changes.phtml

Newer fixes are on the current project page is at: http://www.abisource.com/projects/link-grammar/

The current project contains language bindings for half-a-dozen languages, including perl, python, ocaml, lisp, autoit and java. I invite you to submit your javascript bindings as a part of that: that way, they will always be running with the latest and greatest code.

@linas
Copy link

linas commented Dec 12, 2015

How goes this? Are there remaining issues? perhaps it would be more convenient to have the javscript bindings travel with the LG source distro, build from the SWIG FFI?

@linas
Copy link

linas commented Dec 23, 2015

Link-grammar version http://www.abisource.com/downloads/link-grammar/5.3.3/ is now out, and it resolved yet another Mac OSX build problem, in case that was an issue.

@ohenepee
Copy link

I doubt this repo is maintained anymore. I wish I could help but I don't know C/C++ programming so I can't even bind using FFI... though I badly need a link-grammar in NodeJS :/

@dijs
Copy link
Owner

dijs commented May 29, 2017

I have not forgotten about this repo. The problem was that I could not compile the new version on my mac. I can try again, but would like some help in this area.

@dijs
Copy link
Owner

dijs commented May 31, 2017

All, sorry for the massive delay everyone. Here is the PR for the v5 update. #10

A few things:

  • I had to restructure the data files, but this will work out great for multi-language support in the future.

  • I was surprised that linkage tree's were gone. Does anyone have some information on that?

  • Please let me know some BIG features of v5 that were not in v4 that I can include in this library. I could not find an examples in the source using the parser. I just had to dig into the header files to figure out the new function names.

@ohenepee
Copy link

ohenepee commented May 31, 2017

@linas could you please be of help with dijs' questions?

@linas
Copy link

linas commented Jun 3, 2017

The data files went multi-language about a decade ago... the ChangeLog is over 900 lines long. Even if you figure that only 1 out of 10 changes as being BIG, that still leaves a whole lot of them. The ChangLog is here: https://github.com/opencog/link-grammar/blob/master/ChangeLog

The constituent tree aka tree-bank-tree aka head-phrase structure grammar HPSG tree is still there. The disasterously bad API to it was removed. Again, that happened a decade ago.

Version 5.4.0 is in prep, which, if all goes well, will include postgres interfaces, and maybe interfaces to data pulled straight from the opencog atomspace. Work is underway to get oodles of new languages supported. Strategic direction is to change the internals to get it to parse arbitrary unstructured data, not just natural language.

@dijs
Copy link
Owner

dijs commented Jun 6, 2017

Okay, well, if that is the case. I think it would be easier to add features as needed. I will play with the library and try a couple projects and see what big features we are missing.

@linas Are there any example usage files in the opencog project? Like programs using the API? I do not care which language, I just want to see some of the new "workflows".

@linas
Copy link

linas commented Jun 7, 2017

The link-parser itself uses the C API provided by the library, and so that provides a good example. There are simpler examples: there are three unit tests written in C in the "tests" directory. The C bindings are used by the java-jni wrappers, the java jni-wrappers are used in relex and some commercial products. The python wrappers have both a python unit test, and a python demo, that make for a good example. The guy who originally wrote the python wrappers uses it in some commercial product, to grade student essays or something like that. The guy who wrote the lisp bindings had pumped a bunch of bio-medical text through it.

In opencog, we have two "workflows": one is called "surreal" (surface realization) that generates grammatically correct english sentences from an unordered bag of concepts. It uses the link-grammar dictionary to determine valid placement of words. The other is a language-learning project, which attempts to learn the link-grammars of new languages by performing statistical analysis of corpus tests. The workflow there is to parse randonly, and then try to converge on the most-frequent parse, kind-of-like PCA (principal component analysis) but for a structured grammar, instead of for vectors.

@dijs
Copy link
Owner

dijs commented Jun 7, 2017

Awesome! Thanks for the information

@linas
Copy link

linas commented Nov 18, 2019

Closing. I just grabbed the contents of this git repo, and just jammed it into the link-grammar repo. It took just over an hour to do this, cleanup the API, and get the unit tests to pass. It was actually really super-easy.

Someone knowledgable with node.js should double-check my work; See opencog/link-grammar#161 and opencog/link-grammar#1053

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants