My wife Carol and I have been practicing social distancing and wearing masks for shopping for over 5 months now. Welcome to the new normal and a crazy world in which entertaining and seeing friends is done by meeting in people's yards and everyone bringing their own "meal in a bag." I enjoy writing so I have been updating my recent books, starting with Loving Common Lisp, or the Savvy Programmer's Secret Weapon and A Lisp Programmer Living in Python-Land: The Hy Programming Language . These are free to read online and licensed with Creative Commons Share and Share Alike, No Commercial Reuse, so you can also find copies on the web (hopefully up to date copies!). Last month I started a much larger project: I have not updated my book Practical Artificial Intelligence Programming With Java since the fourth edition was published in 2013. I have discarded a lot of older material like exert systems, and have three new chapters on the semantic web and also a new chapter on
Mark, I added your bot to my wave, and it's going berserk. It's created 50+ blips on my wave, and they're all empty:
ReplyDeleteknowledge-books@appspot.com:
blip submitted events: root blip: title: text:
results: NLP Analysis:
Summary:
...
Auto tags: []
Names: []
Places: []
Companies: []
Products: []
Mark, I tried the NLP demo on http://knowledge-books.appspot.com
ReplyDeleteFor some reason it thinks every text block refers to computers and AI.
Here's a paragraph from the Kama Sutra -- for some reason it's getting tagged with "computers", "ai_nlp" and "c++"
-----
Those who believe that destiny is the prime mover of all things say: We should not exert ourselves to acquire wealth, for sometimes it is not acquired although we strive to get it, while at other times it comes to us of itself without any exertion on our part. Everything is therefore in the power of destiny, who is the lord of gain and loss, of success and defeat, of pleasure and pain. Thus we see that Bali 3 was raised to the throne of Indra by destiny, and was also put down by the same power, and it is destiny only that call reinstate him.
Auto tags: [computers:1.0, religion:0.3575419, computers_ai_textmining:0.3575419, religion_christianity:0.31284916, religion_islam:0.25139666, computers_ai_nlp:0.21787709, computers_programming_c++:0.2122905
Hello MB, thanks for giving it a try.
ReplyDeleteI had to use a very small in-memory linguistic database in order to meet memory limits (and response limits) of the Java AppEngine. Both the robot and the demo form use this tiny database. I really need to convert from an in-memory store (actually, a few hundred megabytes is all I need - that is why I use in-memory data structures) to use persistent storage and JDO. So, the results are bad for now.
re: getting 50 blips - I have not seen that, but I am looking at the problem right now. My intention was for one robot blip to be created for each original wave, and then for each non-robot added blip (this is where the problem is).
Anyway, I am very excited by the possibilities of Wave, but I am still going through a learning curve.
Best regards,
Mark
Hello MB,
ReplyDeletePlease give it another try. I modified:
1. still using a tiny linguistic database, but I found and fixed a bug in the code that created the tiny database.
2. I now no longer have the robot reply to empty waves (this was the issue of you getting 50 replies to your empty wave)
3. I now no longer have the robot reply to blips added to an original wave.
-Mark
Tried it again, but now there are no replies from your bot.
ReplyDeleteHello MB,
ReplyDeleteThat is correct: I just looked at my AppEngine logs: it looks like you created a blank wave so the robot did not respond to it. If you create a new wave, add some text to it, click done, then when asked to invite participants add my robot, it should work fine.
-Mark
Sorry, Mark, it's not working.
ReplyDeleteI replied to your bot on an existing wave, and there was no response.
Then created a new wave, added your bot, got the "I'm alive" blip, replied to that blip, and got nothing back.
Update -- I added more blips to the wave shared with your bot, and got no responses.
ReplyDeleteThen when I edited the root wave, I got 20+ blips from your bot.
Hello Mahlon,
ReplyDeleteI just created a Wave and invited you to participate so we can discuss this a little more interactively. From my logs, it looks like you access my robot about once a second; are you trying my robot from a robot of your own? Anyway, please accept my Wave invite.
I disabled creating replies to blips, BTW. My intention, at least for now, is for my robot to only reply when it is added to a newly created wave.
Thanks,
Mark
Thanks,
Mark
Hello again Mahlon,
ReplyDeleteI discovered the problem: my bug, or rather my misunderstanding.
I had enabled the capability:
capability name="document_changed" content="true"
So if my robot was added to a blib, then text added, then my robot responded for just about every keypress while editing the blip/wave.
I am now changing it to ony respond later the document is created and the user clicks "Done".
Thanks,
Mark
Mahlon, I just tested with the "document_changed" capability removed - now the robot is behaving the way I want it to :-)
ReplyDeleteWhen I tested, I created a Wave, clicked "Done", then added my robot -- that is why I did not see this problem.
Thanks again for your help,
Mark