Giter VIP home page Giter VIP logo

mychatai's Introduction

MyChatAI

AI组成模块的一些构思与想法

模块介绍:

简介:

接收模块

向系统输入数据的模块

性格、心情模块

设置好初始值后将影响系统内的各个模块,也会被系统内各个模块影响

感知、思考模块

对客观实例进行抽象理解的模块

记忆模块

存储记忆内容的模块

表达模块

将系统内的内容输出的模块

详细内容:

性格模块

讲真现实世界中的性格其实还是非常难以捉摸和分析的。但是当一个人去认识另外一个人的时候,最简单的理解人的方式还是贴标签。这里就先简单地以类似乐观,内敛,多疑,狡诈,理性,感性之类的形容词来形容一个人的性格。性格是一个稳定性较强的模块,与其它模块相互影响。

心情模块

心情也先简单标签化,以快乐,愤怒,沮丧等来定义。心情与性格的区别是它是即时的,多变的模块,也与其它模块相互影响。

接收模块

将数据处理成能格式化信息来供感知、思考模块处理和记忆模块接收。

感知、思考模块

加入性格心情模块中的变量来对格式化的数据进行分析,判断需要执行的行为。此模块下应当为人们所认知的一些脑内活动。

记忆模块

网状数据库来存储,接收模块形成的数据将存入其中,节点间可能会相关联,有些属性或关联会存在遗忘程度,是动态变化的。也会加入模糊记忆,错误记忆的情况,比如时间久了依赖关系可能会发生改变而不仅仅是单纯地忘记,会和遗忘程度有关联性。此外,思考过程和表达行为的数据也会被存入此模块内。记忆(图)的检索方式需要好好学习设计一下。结点的内容也需要好好设计。

行为模块

将感知、思考模块所得到的内容进行表达的模块。此模块应为外在的行为活动。

特别地

对于聊天机器人,接收模块和行为模块分别对应了文本输入和文本输出。

特点

此设计最大的特征,也是最大的难点为具备了一些简单的抽象思考的特征。其原因在于记忆的存储方式,网状的结构里将输入的数据都 存入一个个结点中。这些结点可能是曾经输入过的句子,也有可能是句子中所抽象出来的事物与概念,也有可能是数据在思考模块的流 动过程(思考活动),他们之间都彼此相互联系。因此,接收模块和行为模块都应当具有将具体实例语义化,抽象化的能力。这有区别于 检索关键词,查询语句库,找到对应输出的聊天机器人。想必其内容数量和复杂度都是极其高的。

另外说明:

  • 之前性格心情放一个模块中去的,但是之后意识到这两者还是有挺大区别于是觉得逻辑上分开可能会好一些。不过具体还要看感知思考 模块的设计,如果所有的方法的性格心情接收参数都可以在表达式中合并的话,则最好还是合一块。
  • 此模型下AI的认知依旧基本由灌输得来,而难以自己得出一些结果而自发的形成符合日常逻辑的依赖或创建新的结点。但具有这样的 潜力。(不过就算可以,AI也依旧不知道自己到底在干嘛吧233)

早期的一些想法:

  • 一个人的性格是如何形成和被影响的这个我还不是很了解。早期版本将以常量对待。方法编写的时候注意未来扩充影响性格参数的可能性。另外心情的判断也会简单些。
  • 由于其记忆模块的复杂性,可能初期为了效果还是要以语句库来辅助。

一些栗子:

记忆模块的存储栗子

假定现在时间为2019/5/3/10:21:45

结点一

属性:输入语句
内容:今天下雨了 遗忘程度:34.63%(注:说过的话的具体内容很容易就被忘记,除非印象很深刻,也和性格心情有关, 这个属于差不多记得的程度)
创建时间:2019/5/1/9:34:13 遗忘程度:24.68%(注:大约是记得几天前创建的程度)

结点二

属性:日期
内容:2019/5/1

结点三

属性: 天气
内容: 下雨

结点一与结点二相关联

遗忘程度1.43%(注:因为创建时间的遗忘程度导致是记得天的时间尺度,结点二的属性正是日期,所以遗忘程度很低)
创建时间:2019/5/1/9:34:14

结点一与结点三相关联

遗忘程度:14.14%(注:会比语句具体内容忘记得稍微慢些)
创建时间:2019/5/1/9:34:14

结点二与结点三相关联

遗忘程度:10.21%(注:在一星期内记得哪天有没有下雨还是挺容易的)
创建时间:2019/5/1/9:34:14

此栗子解释:
  • 此栗中遗忘程度还会因为很多其它未在此出现的因素影响。
  • 结点二会与其它许许多多的的结点比如2019年结点,5月1日结点,旅游结点等相关联。
  • 结点三会与2019/4/23结点,伞结点,路滑结点产生关联。
  • 正如之前介绍所说,节点间的关联可能会因为遗忘程度随机变化:增加,转移,消失,来模拟记忆出错的情况。
此栗子引发的一些思考:
  • 有些结点似乎加创建时间似乎不太适合,但是具体要怎么做有待实践。此外还有哪些属性需要加遗忘程度的问题。其中语句内容的遗忘程度的具体提现比较复杂,是完全忘记的其中某个词语?还是句子的大致内容记得忘记细节?
  • 在关系(边)中要不要区分方向?要不要把逻辑关系(与、或、非)也作为结点?还是把逻辑关系放置到边中去?
  • 语句的内容和所抽象出来的相关内容,其遗忘程度也应该是相互影响的,比如通过想起某句话来加强实际认知(抽象出的结点)上的记忆。或者通过某个认知(抽象出的结点)想起语句的内容。
  • 以时间去查找相关的内容,内容如何串联起来去检索?

最后

有什么想法、建议、问题欢迎提出wwww
坑先就挖在这,要学的还有好多_(:з)∠)_ 数据结构都还没学完QAQ 准备好就开码,FIGHTING!!

mychatai's People

Contributors

zzmilktea avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.