ekaf / wordnet-prolog Goto Github PK
View Code? Open in Web Editor NEWProlog versions of the WordNet databases
License: Other
Prolog versions of the WordNet databases
License: Other
Thanks to Chris from micallef.io for raising this question:
How do you query lemmas using your library of predicates? For example, the lemma for "walking", "walks", "walked" is "walk".
Older Princeton WordNet releases used to include a morphology analyser called "morphy", but it was not a part of the WordNet databases, and therefore neither included in the old WNprolog nor the newer wordnet-prolog releases.
However, maybe it is time to consider including the morphological exceptions file, since this would be very easy, and maybe even a Prolog equivalent of the "morphy" program.
I have made the current releases available as packs at https://github.com/LogtalkDotOrg/wordnet Thanks for making the releases available and let me know if I missed something or got some detail wrong.
Some goals, which used to succeed with swipl versions up to 8.x, now fail with swipl v. 9.0. The failures occur when current_functor/2 returns surprising functor/arity pairs of questionable authenticity, which are neither in the loaded program files, nor Prolog builtins. In particular,
this causes trouble with WordNet's s/6 predicate, because current_functor(s, Arity) reports Arity=1 and Arity=3 in addition to the expected Arity=6.
The Swipl documentation explains this behaviour by the fact that current_functor/2 also returns noncurrent functors, which have not been garbage collected. Still, it is a mystery where s/1 and s/3 come from, and why they did not cause trouble with previous Swipl versions.
However, the analogous current_predicate/2 does not suffer from the same problem.
Thanks to Todd Kelley from algonquincollege.com for catching this bug:
The fr(synset_id,f_num,w_num) predicate seems to behave as if it is actually fr(synset_id,w_num,f_num) with the f_num and w_num reversed.
You're completely right: in the fr/3 predicate, the second and third arguments are swapped w.r.t. the documentation. This is an "undocumented change" which has persisted since WNprolog-2.1 from back in 2006. Before that, the fr/3 predicate followed the order in the documentation.
I would rather fix the documentation than the dbs, since having the word number as second argument corresponds to the order used in all the other lexical predicates.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.