Chatbot not able to answer any questions

71 views
Skip to first unread message

Joni Latvala

unread,
May 9, 2018, 6:36:59 AM5/9/18
to opencog
Hello,


I am interested in NLP & NLG capabilities of OpenCog. I used octool to successfully build and install Cogutils, MOSES, Atomspace and Link-Grammar. I also built and installed RelEx and OpenCog and I configured PostgreSQL to work with Atomspace. I decided to test the chatbot by running OpenCog server (in RelEx source folder: $ bash opencog-server.sh) and by going to opencog build directory and running $ guile -l ../opencog/nlp/chatbot/run-chatbot.scm


I tested that the ports are indeed operating with the following:


1) $ telnet localhost 4444

I entered a phrase "This is a test" and I received a verbose parse.


2) I tested CogServer by typing: $ rlwrap telnet localhost 17004

After this I used (process-query "luser" "Are you a bot?") as an input and got "I can't process a truth query for now" as an output.

So far so good (according to the guide!). However, the bot does not seem to be able to answer any kind of a question. It classifies my inputs properly (to Declarative SpeechAct, Interrogative SpeechAct etc) but fails to answer any question. Here is a sample of the example discussion I used from chatbot README.md (with the exception that I asked "what does Tom eat?" twice). 


Hello Mr. x, you said: "hello"

You made a Declarative SpeechAct


guile> (process-query "Mr. x" "Tom eats apples")

Hello Mr. x, you said: "Tom eats apples"

You made a Declarative SpeechAct


guile> (process-query "Mr. x" "What does Tom eat?")

Hello Mr. x, you said: "What does Tom eat?"

You made an Interrogative SpeechAct

Sorry, I don't know the answer.

guile> (process-query "Mr. x" "What does Tom eat?")

Hello Mr. x, you said: "What does Tom eat?"

You made an Interrogative SpeechAct

Sorry, I don't know the answer.

guile> (process-query "Mr. x" "John threw a green ball.")

Hello Mr. x, you said: "John threw a green ball."

You made a Declarative SpeechAct


guile> (process-query "Mr. x" "who threw a ball?")

Hello Mr. x, you said: "who threw a ball?"

You made an Interrogative SpeechAct

Sorry, I don't know the answer.

guile> 


In RelEx I see the following:

Info: hndlr=1 recv input: "hello"

Info: hndlr=1 sentence: "hello"

Link-parsing: 0 milliseconds (avg=14 millisecs, cnt=5)

RelEx processing: 4 milliseconds (avg=55 millisecs, cnt=5)

Info: hndlr=1 sent parse 1 of 1

Info: hndlr=1 Closed input socket

Loop count=34 Restart count=0

Info: Waiting for socket connection

Info: Enter thread with handler 2

Info: hndlr=2 recv input: "Tom eats apples"

Info: hndlr=2 sentence: "Tom eats apples"

Link-parsing: 1 milliseconds (avg=18 millisecs, cnt=5)

RelEx processing: 20 milliseconds (avg=72 millisecs, cnt=5)

Info: hndlr=2 sent parse 1 of 1

Info: hndlr=2 Closed input socket

Loop count=35 Restart count=0

Info: Waiting for socket connection

Info: Enter thread with handler 3

Info: hndlr=3 recv input: "What does Tom eat?"

Info: hndlr=3 sentence: "What does Tom eat?"

Link-parsing: 2 milliseconds (avg=7 millisecs, cnt=5)

RelEx processing: 20 milliseconds (avg=43 millisecs, cnt=5)

Info: hndlr=3 sent parse 1 of 1

Info: hndlr=3 Closed input socket

Loop count=36 Restart count=0

Info: Waiting for socket connection

Info: Enter thread with handler 4

Info: hndlr=4 recv input: "What does Tom eat?"

Info: hndlr=4 sentence: "What does Tom eat?"

Link-parsing: 2 milliseconds (avg=10 millisecs, cnt=5)

RelEx processing: 25 milliseconds (avg=56 millisecs, cnt=5)

Info: hndlr=4 sent parse 1 of 1

Info: hndlr=4 Closed input socket

Loop count=37 Restart count=0

Info: Waiting for socket connection

Info: Enter thread with handler 5

Info: hndlr=5 recv input: "John threw a green ball."

Info: hndlr=5 sentence: "John threw a green ball."

Link-parsing: 32 milliseconds (avg=38 millisecs, cnt=5)

RelEx processing: 43 milliseconds (avg=233 millisecs, cnt=5)

Info: hndlr=5 sent parse 1 of 1

Info: hndlr=5 Closed input socket

Loop count=38 Restart count=0

Info: Waiting for socket connection

Info: Enter thread with handler 6

Info: hndlr=6 recv input: "who threw a ball?"

Info: hndlr=6 sentence: "who threw a ball?"

Link-parsing: 10 milliseconds (avg=20 millisecs, cnt=5)

RelEx processing: 25 milliseconds (avg=60 millisecs, cnt=5)

Info: hndlr=6 sent parse 1 of 1

Info: hndlr=6 Closed input socket




I followed the README.md and also tried the IRC opencog-bot and it worked similarly: the bot clearly gets inputs and the parsing of the text seems to work properly but the bot is never able to give answer anything outside of "Sorry, I don't know the answer". What could be the problem?

Kindly,
Joni

Linas Vepstas

unread,
May 9, 2018, 11:42:00 PM5/9/18
to opencog
The old question-answering subsystem, which could answer these kinds of questions, got disconnected nearly a decade ago, and no one has stepped up to replace it with something better.  Its on some list of things to do, but not anytime soon...

Unless you wanted to learn what it takes to answer questions. Its not hard, but its also not easy: depending on our abilities, it could take many many months to get started, a year to get something sort-of-ish working. Depends on both coding skills, and conceptual background in linguistics.

--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/a58a9951-6242-410a-94fd-f3b5aa01bfb6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
cassette tapes - analog TV - film cameras - you

Masayuki Hatta

unread,
May 10, 2018, 6:35:29 PM5/10/18
to opencog
Hi,

It's true that chatbot is mosltly broken, but in my environment (my Debian packages on Debian sid), it "kinda" works...note the last line.

guile> (process-query "mhatta" "Tom eats apples.")
Hello mhatta, you said: "Tom eats apples."

You made a Declarative SpeechAct


guile
> (process-query "mhatta" "What does Tom eat?")
Hello mhatta, you said: "What does Tom eat?"

You made an Interrogative SpeechAct
(Tom eats apples .)

Best regards,
MH

2018年5月10日木曜日 12時42分00秒 UTC+9 linas:
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/a58a9951-6242-410a-94fd-f3b5aa01bfb6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages