Triple extraction from text

24 views
Skip to first unread message

Amirouche Boubekki

unread,
May 25, 2019, 7:32:33 PM5/25/19
to opencog
Hello,


Is there existing work or work you want to recommend to me regarding the topic of extracting triples from text.

Here are some example:

- Bloomberg is an analytics company. => (Bloomberg, is a, analytics company)
- Microsoft created Windows => (Microsoft, created, windows)
- Google is a search engine => (Google, is a, search engine)


How does opencog proceed to refine text into knowledge?

Thanks in advance!


Linas Vepstas

unread,
May 26, 2019, 1:07:03 PM5/26/19
to opencog, buj
Hi Amirouche,

Good question, no good answer. I mean, back in 2002, you could use the atomspace to represent

    EvaluationLink
          PredicateNode  "created"
          ListLink
               ConceptNode "Microsoft"
               ConceptNode "Windows"

but so what? What can you do with that? Well, there are 3 or 4 or 5 answers, of varying levels of sophistication.

* Run a question-answering chatbot. So, there's some dead code, from 10 years ago, that was a question-answering chatbot.  You could ask it plain-english questions "Who created windows?" and it would answer it, based on a search of triples like the above. It worked. It had three problems: (a) it only supported a small number of question types (b) it gave one-word answers (c) it could not track conversation state (d) it could not reason.

* There was/is a non-functional subsystem called relex2logic+sureal (I call it non-functional, because I never saw it actually work) that solved (b) and sort-of solved (a) and attempted to solve (d).  It would be great if someone stepped up and kept this in a maintained state, so that we could provide at least a basic demo. But no one wants to do this.

* There is a subsystem called "ghost" which is a chatbot, i.e. it solves problem (c) unfortunately, it cannot do (a) (b) or (d) - i.e. it cannot do basic question-answering. It's internal data format is not documented anywhere, so no one knows how to integrate it with question answering.

* There is a system called PLN which can do (d) in principle, but it has trouble scaling up to larger knowledgebases.

* As I mentioned to buj, it would really be cool if someone (e.g. you) stapled a crsip-logic reasoner/solver to opencog.  I would strongly recommend the potsdam ASP solver. It is really lighting-bolt fast, and could solve many of the basic reasoning examples that PLN struggles with.  I don't think it would be that hard to glue these together. That would solve problem (d) but leave the integration of (a), (b), (c) in the open.

So this is what we are up against: multiple systems, mostly incompatible, partly-unmaintained, all mostly undocumented.  So, in that environment, nothing works.  Importing data is not a problem.  Keeping an end-to-end demo working, and not broken, is a problem.

-- Linas

--
cassette tapes - analog TV - film cameras - you
Reply all
Reply to author
Forward
0 new messages