* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: Virtual friend  (Read 3476 times)

0 Members and 1 Guest are viewing this topic.

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Virtual friend
« on: November 11, 2015, 02:03:56 pm »
I'm working on programming a Virtual friend in HTML, CSS, and JavaScript. The purpose is to help me with my conversations. You can download and see my progress on my Virtual friend at https://github.com/EphraimB/Virtual-Friend


  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 401
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #1 on: November 11, 2015, 02:12:03 pm »
Chat programs are quite cool. But the approach you use for questions and answers is a little bit too hardcoded (no insult, you are a way better programmer than me, if I look at your github). I think it's very hard to write a good chatbot, but this gives ok results with a very minimalistic approach (you probably know ELIZA already though):
https://en.wikipedia.org/wiki/ELIZA

EDIT:
I see that you want to also force yourself (or whoever is talking to your virtual friend) to let conversations run - that might be hard to achive on an ELIZA like setup...
« Last Edit: November 11, 2015, 02:19:58 pm by p4nix »
  • Calculators owned: fx9860GII (SH4)

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #2 on: November 11, 2015, 02:23:02 pm »
I'm doing this from scratch.
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 401
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #3 on: November 11, 2015, 02:24:45 pm »
Sure, I've seen that. But if I'm not wrong you hardcode questions and answers at the moment. I mean you know what to ask your bot to get the conversation running, but I only got 'Huh?'.
  • Calculators owned: fx9860GII (SH4)

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #4 on: November 11, 2015, 02:30:54 pm »
Sure, I've seen that. But if I'm not wrong you hardcode questions and answers at the moment. I mean you know what to ask your bot to get the conversation running, but I only got 'Huh?'.

By that part you have to type the following exactly:
"What are your interests?"
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 401
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #5 on: November 11, 2015, 02:32:13 pm »
That's my point. Of course I've looked at your javascript - but a conversation isn't an algorithm. At least not a simple one.
  • Calculators owned: fx9860GII (SH4)

Offline Streetwalrus

  • Professional slacker
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2784
  • Post Rating Ratio: +19/-0
  • ƎW∀⅁ ƎH⊥
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #6 on: November 11, 2015, 02:33:23 pm »
He wasn't suggesting that you use a library or anything, but that you take a look at other people's algorithms since chatbots have been made before and it's a good idea to take inspiration from existing things.
Programming isn't only about the language and libraries you use but also about design: algorithms and data structures are two things that you need to master and the best way to learn is to look at what others have done and see if you can come up with a better implementation or even an improved algorithm.

There is a lot of theory behind analyzing a sentence written by a human to extract its meaning and then compose a new sentence in reply. Go read up, you won't regret it. :)
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #7 on: November 11, 2015, 02:36:31 pm »
The main point of programming this is to learn how to converse with people better. I, for some reason, think in code better than English. So programming this from scratch would help me better with my conversations.
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 401
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #8 on: November 11, 2015, 02:46:34 pm »
I totally got your point - and please note that I try to help you.
A conversation isn't linear at all - it's complex, twisted and... complex. And if you want to learn how to talk, you'll have to get a realistic conversation. I don't know if you know the turing-test (am I human, am I machine?), but that's what a chatbot has to try to achieve. I am not talking about ELIZA, I am talking about the method ELIZA uses to achieve that - it's a quite simple approach and it's based on the fact that a doctor can drive a realistic looking conversation by asking questions related to the topic you are talking about repeatedly.
However, even that approach is far away from being realistic, but it's way better than what you are trying to do now (no insult, but it will not work).

Anyway, the best way to learn talking is to start conversations in real life - even with people you don't know.

EDIT:
Even if you like your approach and even if you want to keep it - please take a look at this: https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=5369&lngWId=3
« Last Edit: November 11, 2015, 06:08:42 pm by p4nix »
  • Calculators owned: fx9860GII (SH4)

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #9 on: November 11, 2015, 08:05:25 pm »
After a day of hard work, Virtual friend 0.2.0 is released on GitHub. You can download it at the following link:
https://github.com/EphraimB/Virtual-Friend/releases/tag/0.2.0

This second beta release is based on the time of day
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline p4nix

  • Full User
  • Join Date: Jun 2015
  • Location: Germany
  • Posts: 401
  • Post Rating Ratio: +6/-1
  • Don't catch the ball.
    • p4nix
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #10 on: November 11, 2015, 08:11:54 pm »
Somehow I am stuck on the question 'Good evening! What's your name?' now :(
  • Calculators owned: fx9860GII (SH4)

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #11 on: November 11, 2015, 08:15:57 pm »
Ooops! My bad. I'm going to have to fix that problem. I will release 0.2.1 shortly.

Update: I just released 0.2.1 but I had to sacrifice the greeting based on the time of day feature. You can download 0.2.1 at the following link:
https://github.com/EphraimB/Virtual-Friend/releases/tag/0.2.1
« Last Edit: November 11, 2015, 09:10:50 pm by Ephraim Becker »
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 17439
  • Post Rating Ratio: +83/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: Virtual friend
« Reply #12 on: November 11, 2015, 08:56:39 pm »
Keep in mind that it's going to be impossible to get an AI that interacts 100% like humans. The feelings won't be emulated, for example (eg being angry, happy, etc), because so many things can alter them, and there will always be akward stuff happening when interacting with a bot. Also, in order to create a virtual friend that can help you socialize, it would need to be written by someone who has very good socializing skills in order to allow you to improve much. I personally wouldn't rely on a bot to improve my communication skills (*cough*especially not Nikkybot :P*cough*)


It can be a good learning experience, though, to make such bot, and AI bots tend to be quite popular sometimes.
  • Calculators owned: TI-73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX, HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline alexgt

  • Just your friendly neighborhood Ninja Stach Fancy Iron Man
  • Super User
  • Join Date: Dec 2014
  • Location: Behind you
  • Posts: 2610
  • Post Rating Ratio: +6/-1
  • Something should go here...
    • /u/alexgt9123
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #13 on: November 11, 2015, 11:04:24 pm »
Great idea Ephriam!!! but I think that all the other people are right also :).

I think Nikkybot would give anybody a distinct distaste for communication IRL if you went solely off of that interaction :P
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
    • View Profile
  • Gender: Male
Re: Virtual friend
« Reply #14 on: November 12, 2015, 01:09:42 am »
I just released virtual friends 0.2.3 which brings the feature I had to sacrifice in 0.2.1 finally back!

You can download it here:
https://github.com/EphraimB/Virtual-Friend/releases/tag/0.2.3
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games