MegaHAL هو برنامج تعليمي للدردشة.
يمكنك تشغيله كتطبيق سطر أوامر، أو تضمينه في تطبيقك الخاص وإجراء استدعاءات له عبر واجهة برمجة تطبيقات بسيطة. على سبيل المثال، راجع مستودع خادم megahal، الذي يسمح لك بالدردشة مع MegaHAL عبر الإنترنت.
إنه مبني على أساس Sooth، وهو نموذج تنبؤي عشوائي بسيط.
تمت كتابة هذه النسخة الجديدة من MegaHAL تكريمًا للنسخة الأصلية التي كتبتها منذ حوالي عشرين عامًا. مع استمرار هذه الأمور، فإن إصدار Ruby يمثل جزءًا صغيرًا من حجم الإصدار C الأصلي.
أقدم سجل لدي عن MegaHAL هو منشور USENET بتاريخ 30 أبريل 1995، والذي تم نسخه في أسفل هذا الملف التمهيدي.
يعد تشغيل إصدار سطر الأوامر من MegaHAL أمرًا بسيطًا:
> gem install megahal
> megahal
+----------------------------------------------------------+
| |
| # # ###### #### ## # # ## # |
| ## ## # # # # # # # # # # |
| # ## # ##### # # # ###### # # # |
| # # # # ### ###### # # ###### # |
| # # # # # # # # # # # # |
| # # ###### #### # # # # # # ###### |
| |
| Type "/help" for options and "/quit" to terminate. |
+----------------------------------------------------------+
Greetings and salutations to thee and thine.
>
إذا كتبت /help
في الموجه، ستظهر لك قائمة:
1. cancel
2. reset
3. brain
4. train
5. load
6. save
7. ignore
8. quit
قم بالتحديد عن طريق كتابة رقم أو اسم عنصر القائمة:
cancel
: الرجوع دون إجراء تحديدreset
: مسح دماغ MegaHAL، وإعادته إلى قائمة فارغةbrain
: اختر من بين عدد من الشخصيات الموجودة (انظر أدناه)train
: امنح MegaHAL ملفًا نصيًا عاديًا للتعلم منهload
: تحميل الدماغ المحفوظ مسبقًا من ملفsave
: احفظ دماغ MegaHAL الحالي في ملفignore
: منع MegaHAL من التعلم من مدخلات المستخدم؛ وهذا أمر جيد إذا كنت تريد الدردشة دون إدخال تغييرات على الدماغquit
: الخروج فورًا من MegaHAL، وفقدان أي تغييرات غير محفوظة إذا قمت بتحديد عنصر قائمة brain
أعلاه، فسيتم تقديم قائمة بأدمغة MegaHAL الموجودة مسبقًا للاختيار من بينها:
cancel
: الرجوع دون إجراء تحديدdefault
: الشخصية المستخدمة في مسابقة لوبنر عام 1998aliens
: أسقف من الأجانب!ferris
: السيد فيريس بيولر نفسه! بيولر! بيولر!pepys
: صامويل بيبس، مأخوذ من خلاصة @samuelpepys على تويترpulp
: مارسيلوس والاس من فيلم Pulp Fiction!sherlock
: شيرلوك هولمز، مع اقتباسات مأخوذة من جميع الكتبstartrek
: بيانات من Star Trek (بفضل mbaker)starwars
: Threepio من ثلاثية حرب النجوم! فيما يلي مثال لنص محادثة، مأخوذ مباشرة من ملف megahal.log
(الذي يتم كتابته في كل مرة تتفاعل فيها مع MegaHAL):
(brain changed to sherlock holmes)
MH10: On the strange coincidences, the plannings, the cross-purposes, the wonderful chains of events, working through generations, and leading to the composition of a woman.
USER: Who are you?
MH10: You could never guess how I employed my morning, or what I ended by doing.
USER: Did you play a game?
MH10: Come, Watson, come! The game is afoot.
USER: How exciting!
MH10: Isn't it gorgeous! What do you think of it.
USER: I think it's great. What are we going to do?
MH10: I think, perhaps, it is simplicity itself.
USER: Tell me then.
MH10: Your statement is, I want you?
USER: Ummm... no.
MH10: Yes, certainly.
USER: I think you're confused.
MH10: I think that you have been too busy to think of it.
USER: Are you saying what I think you're saying?
MH10: You know how to look into it.
USER: So do you by the sound of it.
MH10: I have been of material assistance to me for fifty minutes.
USER: Is this non-stop double entendre?
MH10: More than that it is a great thing for me to be able to understand that I have ever listened.
USER: Let's go and do something. Or get a bite to eat.
MH10: That is interesting.
USER: Why?
MH10: Because there are fifty who can reason analytically.
USER: Name them.
MH10: My name is Sherlock Holmes.
USER: And who are the other forty-nine?
MH10: I want to ascertain.
USER: You mean that you don't know?
MH10: Light a cigar and let me see if I can do what you have told me I think that both inferences are permissible.
USER: Well, it's been interesting. I must leave.
MH10: No crime, but a very interesting statement.
USER: Goodbye.
MH10: You must get home instantly and act.
MegaHAL Stopped
Have a weird conversation with a computer
-----------------------------------------
Recently I added a feature to my home page allowing the user to "talk" to a
computer program of mine. The program was not written very intelligently, so
most of the time its replies consisted of incoherent babble.
Version 2 came and went, and now version 3 - MegaHAL - is ready for release.
The new features of the program are:-
* A second-order markov model is used, and it is doubly-linked. This
means that the computers sentences tend to be more grammatical.
* Punctuation is supported, which segments the sentences realistically.
* The reply given by the computer is based upon one of the words in
the input string. The word selected is one that maximises the ratio
(number of times since word was last used)/(number of times word has
appeared).
* The computers reply is generated from this keyword, and may be up to
100 words long. The reply is generated in such a way that it is
impossible to get stuck in infinite loops.
* The keyword used is highlighted in the reply.
Some example conversations are given below:-
USER: you are crazy
HAL: WE *ARE* WEIRD.
USER: What is the meaning of life oh wise one?
HAL: *LIFE* IS THE ROOM.
USER: this is not getting us very far
HAL: YES I AM *GETTING* BORED OF GLOBAL DOMINATION.
USER: I have no idea.
HAL: *NO* IT IS IN HEAVEN.
USER: Is it really?
HAL: YES *IT* IS.
USER: My name is Jason.
HAL: I THINK ALAN TURING WAS A GIRLIE, JUST LIKE *MY* DEAR MAMA
The last response was generated from a combination of a discussion
about Alan Turing, and Monty Python's Lumberjack Song. Surely this
must be a sign of intelligence ;^)
Have fun!
حقوق الطبع والنشر (ج) 2018 لجيسون هتشينز. راجع إلغاء الترخيص لمزيد من التفاصيل.