前言:
今天带来的是智能聊天机器人实现(源码+解析), 和上一篇教程一样, 当你没有女朋友的时候, 可以用它来打发时间。这里的API是图灵机器人提供的, 实现一个十分强大的机器人。
具体功能包括:
• 支持聊天对话、智能问答
• 拥有笑话、天气、公交等丰富功能
• 支持自然语言处理及语义理解
• 数十亿知识库数据,应有尽有
运行效果:
源码下载:
源码已经传到git上了, 欢迎下载学习。
下载链接: https://github.com/colin1994/tulingIOS
源码解析:
一。仿微信界面
如果你觉得这篇文章看起来稍微还有些吃力,或者想要系统地学习人工智能,那么推荐你去看床长人工智能教程。非常棒的大神之作,教程不仅通俗易懂,而且很风趣幽默。点击这里可以查看教程。
这个小demo的界面是仿微信的。只不过是简化版的, 包括表情, 语音什么的, 都省略了。
对于界面这一块, 我这里不多做介绍, 因为这并不是本教程主要内容。毕竟, 这个界面到自己实际项目中的时候, 肯定是需要自定义的。
这里简要介绍一下。
该界面分成两部分:
1. UITableView: 显示聊天列表, 其中, 左边的是机器人回答, 右边是自己的提问。
另外, 列表的每个cell, 由头像和文字组成。 这个cell是自定义的, 详细可以自己查看源码。
列表添加:
-
//add UItableView
-
self.tableView=[[
UITableView alloc]initWithFrame:
CGRectMake(
0,
44,
self.view.frame.size.width,
self.view.frame.size.height
-88) style:
UITableViewStylePlain];
-
[
self.tableView registerClass:[ChartCell
class] forCellReuseIdentifier:cellIdentifier];
-
self.tableView.separatorStyle=
UITableViewCellSeparatorStyleNone;
-
self.tableView.allowsSelection =
NO;
-
self.tableView.backgroundView = [[
UIImageView alloc] initWithImage:[
UIImage imageNamed:
@"chat_bg_default.jpg"]];
-
self.tableView.dataSource=
self;
-
self.tableView.delegate=
self;
-
[
self.view addSubview:
self.tableView];
- 1
2. KeyBordVIew: 自定义的UIView, 用来显示自定义的键盘视图。
键盘添加:
-
//add keyBorad
-
self.keyBordView=[[KeyBordVIew alloc]initWithFrame:
CGRectMake(
0,
self.view.frame.size.height
-44,
self.view.frame.size.width,
44)];
-
self.keyBordView.delegate=
self;
-
[
self.view addSubview:
self.keyBordView];
- 1
另外, 键盘涉及弹出和收起操作操作, 这个需要在视图载入之前, 注册通知, 响应相关操作。
1.注册通知