TGPEliza 0.0.3

TGPEliza 0.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年2月

SwiftArchitect 维护。



TGPEliza 0.0.3

ELIZA 是一个计算机程序,并且是原始自然语言处理的一个早期例子。ELIZA 通过处理用户对脚本的响应来运行,其中最著名的是 DOCTOR,这是一个罗杰·尼尔森心理治疗师模拟。几乎不使用有关人类思维或情感的信息,DOCTOR 有时提供了惊人的类似人类交互。ELIZA 是由 1964 年至 1966 年间在麻省理工学院由约瑟夫·魏岑鲍姆编写的。当“病人”超出了非常小的知识库时,DOCTOR 可能提供通用的响应,例如,对“我的头很痛”的回应是“你为什么说你头痛?”对“我母亲恨我”的可能回应是“你家族中还有谁恨你?”ELIZA 使用简单的模式匹配技术实现,但即使魏岑鲍姆向他们解释了它是如何工作的,一些用户仍然认真对待它。它是第一个聊天的机器人之一。

示例对话

Hi there.
-- so how are you doing today?
not bad, how about yourself?
-- why do you ask?
I am just curious!
-- how long have you been just curious?
etc.

高级用法

- (NSString *)talk:(NSString *)text

单入口点!使用 TGPChatBot 包装器,您只需要提供(与项目一起提供的)BBSCHAT.txt

    // TGPChatBot * elisa;
    self.eliza = [[TGPChatBot alloc] init];

...然后与 Eliza 聊天的界面如下

    // NSSting * input = textField.text;
    NSString * output = [self.eliza talk:input];

TGPChatBot 设计为只对传入的消息做出响应,绝不会发送未经请求的消息。因此,第一个传入的 -talk: 消息被忽略,仅仅引发问候。

这就结束了。

低级用法

如果您更喜欢对 Eliza 聊天机器人有更多控制,您可以直接使用它而无需使用包装类。

[[TGPEliza alloc] init]

创建一个新的 TGPEliza 实例

- (void)read_script:(NSString *)filePath

使用您自己的脚本初始化 TGPEliza。遵循原始 ELIZA 脚本格式

; FORMAT:
; Sxxxxxxxxx - DEFINE SIGNON MESSAGE
; Txxxxx
; Txxxxx     - DEFINE PAIR OF WORDS TO TRANSPOSE
; Nxxxxx     - RESPONSE FOR NULL ENTRY
; Mxxxxx     - DEFINE RESPONSE FOR LATER USE OF "MY"
; Xxxxxxx    - DEFINE RESPONSE FOR NO KEYWORD FOUND
; Kxxxxxx    - DEFINE KEYWORD
; Rxxxxxx    - DEFINE RESPONSE FOR PREVIOUS KEYWORD
- (NSString *)greet_eliza

返回问候信息。

- (NSString *)chat_with_eliza:(NSString *)message

典型的交流。