ANNOUNCE: Link Grammar version 5.9.0

52 views
Skip to first unread message

Linas Vepstas

unread,
Apr 25, 2021, 6:44:55 PM4/25/21
to link-grammar, opencog
I'm proud to announce that a new version 5.9.0 of the Link Grammar system is now available. It contains a fairly long list of fixes, and one rather notable new feature: it can now generate sentences!

Sentence generation proceeds through a fill-in-the-blanks procedure, where, given a sentence template with wild-cards in it,  the dictionary will be combed for any words that could be placed there that will result in grammatical sentences. This is being actively used in the language-learning project to generate new random corpora (that contain grammatically valid sentences according to the specified grammar. In this way, the grammar that is learned can be compared to the grammar used to generate the corpus.)

This new sentence generation utility is experimental. It's not available on all platforms; it may be buggy; it may not have the features you want; the API may change at any time for any reason. For those who once looked at OpenCog's surreal and microplanning systems for sentence generation, this might offer a faster, more performant version thereof.

Here's the ChangeLog for this release:

Version 5.9.0 (25 April 2021)
 * Use #define for custom configuration in dictionaries. #1128
 * Panic-mode fixes and extensions. In link-parser see !help panic_variables.
 * English dict: fix silly mistake with "I love cats and dogs".
 * Disable maintainer-mode in `configure.ac`.
 * Fix very rare crash/corruption introduced in v.5.8.1 #1142
 * English dict: fix problems with "just/only".
 * English dict: work on hesitation markers.
 * Fix multi-threading mem-leak. #1149
 * Provide emscripten javascript wrapper for the command-line parser.
 * Public API shared library entry points exported automatically. #1182
 * Provide bindings for the Vala programming language.
 * Increase number of allowed idiom expressions. #1187
 * Replace O(n^2) idiom loading algo by an O(n log n) algo. #1194
 * Disable SAT solver by default.
 * New tool: Sentence generator! This is an experimental prototype.

You can download link-grammar from
http://www.abisource.com/downloads/link-grammar/current/

The website is here:
https://www.abisource.com/projects/link-grammar/

WHAT IS LINK GRAMMAR?
The Link Grammar Parser is a syntactic parser of English (and other
languages as well), based on Link Grammar, an original theory of English
syntax. Given a sentence, the system assigns to it a syntactic structure,
which consists of a set of labeled links connecting pairs of words.

See the Wikipedia page for more info:
https://en.wikipedia.org/wiki/Link_grammar

--linas


Jacques Basaldúa

unread,
Apr 26, 2021, 12:58:53 PM4/26/21
to ope...@googlegroups.com, link-grammar
Thanks a lot. It compiled on first try and I have been playing with the interactive link-parser, copy/pasting sentences and I am impressed. I will carry on reading to understand how it works and see if I can end up using it. 

Please, could you give us a link to the text generation code you mentioned and what is the idea behind it?

Jacques.

--
You received this message because you are subscribed to the Google Groups "opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opencog+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAHrUA34EHk_m34Ti6Jz%2BzNbd2aG6BL5tahqJTSc9fRMyHZXa0g%40mail.gmail.com.

Linas Vepstas

unread,
Apr 27, 2021, 10:53:46 AM4/27/21
to opencog, link-grammar
Hi Jaques,

`man link-generator` will show the man page for it, and `link-generator --help` will print some additional help.

It's experimental; I'm not sure it works for English, as the English dict is very large.  I've used it only for small artificial languages.

--linas




--
Patrick: Are they laughing at us?
Sponge Bob: No, Patrick, they are laughing next to us.
 

Jacques Basaldúa

unread,
Apr 28, 2021, 2:44:36 AM4/28/21
to ope...@googlegroups.com
Hi Linas,

Thanks a lot for the explanation. I also joined the link-grammar google group.

I am starting to understand the whole idea better. The multiplicity of solutions for any sentence and the speed at which the solutions are found fits what I want to implement. I will take some time, and I will share it with the group when I have something.

Linas Vepstas

unread,
Apr 28, 2021, 12:41:16 PM4/28/21
to opencog, link-grammar
Hi Jacques,

On Wed, Apr 28, 2021 at 1:44 AM Jacques Basaldúa <jacques...@gmail.com> wrote:
Hi Linas,

Thanks a lot for the explanation. I also joined the link-grammar google group.

I am starting to understand the whole idea better. The multiplicity of solutions for any sentence

The goal of parsing is to not have a lot of different parses: ideally, only one, maybe two for truly ambiguous sentences. In practice, this is difficult to achieve, and so multiple parses are listed. These are always ranked from most to least likely, and have an associated "cost."  It is convenient to think of the "cost" as (minus) the logarithm of the probability: the higher the cost, the less likely that parse is correct.

Usually, the first parse is correct.  If it is not, please report that as a bug.

Sometimes, the first few parses have an identical cost; these are then sorted according to the total length of the links.  If this is the same, then which one is printed first is random.

-- Linas

Reply all
Reply to author
Forward
0 new messages