Making WordNode multi-lingual... ProtoAtom once again...

29 views
Skip to first unread message

Ben Goertzel

unread,
Nov 21, 2016, 8:18:31 PM11/21/16
to opencog
As we embark on more seriously using Lojban within OpenCog... and
prepare to embark on putting Chinese there ... I have realized it may
be bad that WordNode currently is language-independent...

I guess this is probably not the right design (and is a reflection of
the fact that we've only dealt with English in the Atomspace so
far)...

A short-term hack to fix this would be to introduce e.g.
EnglishWordNode, ChineseWordNode, etc. as subtypes of WordNode.

A less annoying fix ("annoying" because the proliferation of
hard-wired Atom types is annoying) would be to complete the ProtoAtom
implementation (not fundamentally hard to do, just tedious), which
would allow us to have ProtoAtoms indicating "English" and "Chinese"
etc. and link them from WordNodes to indicate the language they
correspond to....

We should discuss moving forward on ProtoAtom during the Cogathon...




--
Ben Goertzel, PhD
http://goertzel.org

“I tell my students, when you go to these meetings, see what direction
everyone is headed, so you can go in the opposite direction. Don’t
polish the brass on the bandwagon.” – V. S. Ramachandran

Linas Vepstas

unread,
Nov 21, 2016, 10:47:51 PM11/21/16
to opencog
Hi Ben,

Can you explain why you need to have a ChineseWordNode?

A simpler solution is to use EvaluationLinks, as normal:

e.g.
EvaluatinoLink
      PredicateNode "Cantonese"
      ListLink
            WordNode "jau mou wifi-aaa"

which has the same form as marking the tense, number, mood, etc. of the word.

Finishing the protoatom work is not "tedious"; rather, there are a few remaining important architectural issues that need to be decided on. They are not simple decisions, they've got some strong pro& cons reprecussions, which is why that work was deferred.  They're decidable, but they are "momentous".

--linas 
           

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CACYTDBfNLBSjv1HOGVF8yO9MUxkzm1RhkepOLmapvhJT8s%3DUkA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Ben Goertzel

unread,
Nov 21, 2016, 11:11:45 PM11/21/16
to opencog
It just seems like a huge waste of memory to have that EvaluationLink
and PredicateNode for every word in the dictionary (and also a minor
waste of processing time following those links)... this is the sort of
wastage that ProtoAtom should be good at eliminating...

Let's take time to discuss the "momentous" decisions you mention
regarding ProtoAtom while you're in HK this time around...

ben
>> email to opencog+u...@googlegroups.com.
>> To post to this group, send email to ope...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/opencog.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/opencog/CACYTDBfNLBSjv1HOGVF8yO9MUxkzm1RhkepOLmapvhJT8s%3DUkA%40mail.gmail.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/CAHrUA37-02HtUrUTJc43vDK%2BbH-KeqRJY-1T_%2B3eXkZC3y_yHA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.



Ben Goertzel

unread,
Nov 23, 2016, 12:58:09 AM11/23/16
to opencog
After some discussion at the office yesterday, I realized that having
ProtoAtom would allow us to reduce the memory footprint of stuff like

EvaluationLink
PredicateNode "English"
WordNode "dumbass"

or

MemberLink
WordNode "dumbass"
ConceptNode "English words"

or whatever...

If TVs and AVs were implemented as ProtoAtoms, then they would be
optional, so we could create some MemberLInks e.g. without them

This would just require various cognitive process to know what to do
when encountering an Atom with no TV or AV

For example:

-- PLN could assume, when encountering a MemberLink or EvaluationLink
with no TV, that a certain default TV (perhaps (1,1) ) should be
assumed

-- ECAN could have its forgetting agent and all its other agents
ignore Atoms with no AV... except that when an Atom A is forgotten,
all the links coming out of A that have no AV are also forgotten....

So rather than having "English" as a property be a ProtoAtom, we would
have "English" as a property connected to the WordNode for an English
word with a very lightweight link, indicating the fact that we don't
want to bother doing reasoning or attention allocation on this
link....

This is not a huge point in the end, but it's one among many examples
of the flexibility that would come from putting TV and AV in the
Atomspace instead of having them as hard-coded structures...

-- Ben
Reply all
Reply to author
Forward
0 new messages