Giter Site home page Giter Site logo

node-ector's Introduction

ector

ECTOR is a learning chatterbot. This is its Node.js version. Build Status NPM version NPM

Getting Started

Install the module with: npm install ector

var Ector = require('ector');
var ector = new Ector();
ector.addEntry("Hello ECTOR!");
var response = ector.generateResponse();
console.log(response.sentence);

Documentation

Class Ector

Use it to instanciate one bot.

Warning: username and botname should be at least 3 characters long.

Constructor

botname

string name of the bot (default: ECTOR)

username

string name of the user (default: Guy)

setUser

username

string new user's name

return the user's name or an Error.

setName

botname

string new bot's name

return string|Error the name of the bot, or an Error.

addEntry

Add an entry into the ECTOR's Concept Network

entry

string One or several sentences.

cns

conceptNetworkState see [ConceptNetworkState].

return Array|Error array of token nodes used in the entry.

generateResponse

Generate a response from the Concept Network and a network state.

return Object { response, nodes } The response is a string, and nodes is an array of nodes (see [linkNodesToLastSentence]).

linkNodesToLastSentence

Link nodes to the previous sentence node id (this is automatically set by addEntry, it is the node id of the first sentence of the entry).

Used with the nodes returned by addEntry.

nodes

Array Array of nodes ids.

injectConceptNetwork

Inject a new [ConceptNetwork] constructor. Useful when one wants to use specialized ConceptNetwork (e.g. FileConceptNetwork).

WARNING: reinitialize this.cn and this.cn[this.username].cns

NewConceptNetwok

ConceptNetwork derivated class of ConceptNetwork.

(Coming soon)

Examples

The browser-ector is an example of how this library can be used.

You can talk to ECTOR in the browser. Take a chat.

Or you add the hubot-ector script to a Hubot.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using mocha.

Release History

  • 2014/08/07: version 0.1.7: fix bug: injector did not always work.
  • 2013/01/27: version 0.1.6: add a ConceptNetwork injector.
  • 2013/01/25: version 0.1.5: fix bug: replace all names in a response.
  • 2013/01/17: version 0.1.4: fix bug: beg value for second sentence.
  • 2013/01/17: version 0.1.3: fix bug: create node for second sentence.
  • 2013/01/06: version 0.1.2: add linkNodesToLastSentence()
  • 2013/01/05: version 0.1.1: fix github URL (to install)
  • 2013/01/05: version 0.1.0: first release

Warning: this is a work in progress.

License

Copyright (c) 2012 François Parmentier Licensed under the MIT license.

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.