Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/parmentf/node-ector
ECTOR is a learning chatterbot. This is its Node.js version.
https://github.com/parmentf/node-ector
Last synced: 7 days ago
JSON representation
ECTOR is a learning chatterbot. This is its Node.js version.
- Host: GitHub
- URL: https://github.com/parmentf/node-ector
- Owner: parmentf
- License: mit
- Created: 2012-12-30T00:04:18.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2018-01-22T16:59:34.000Z (almost 7 years ago)
- Last Synced: 2024-10-12T22:48:12.977Z (about 1 month ago)
- Language: JavaScript
- Size: 173 KB
- Stars: 22
- Watchers: 6
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# ector
ECTOR is a learning chatterbot. This is its Node.js version.
[![Build Status](https://secure.travis-ci.org/parmentf/node-ector.png)](http://travis-ci.org/parmentf/node-ector)
[![NPM version](https://badge.fury.io/js/ector.png)](http://badge.fury.io/js/ector)
[![NPM](https://nodei.co/npm/ector.png)](https://nodei.co/npm/ector/)## Getting Started
Install the module with: `npm install ector````javascript
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 namereturn the user's name or an Error.
## setName
### botname
_string_ new bot's namereturn _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](https://github.com/parmentf/node-ector#addentry), it is the node id
of the first sentence of the entry).Used with the nodes returned by [addEntry](https://github.com/parmentf/node-ector#addentry).
### nodes
_Array_ Array of nodes ids.
## injectConceptNetwork
Inject a new [ConceptNetwork] constructor.
Useful when one wants to use specialized ConceptNetwork (e.g.
[FileConceptNetwork](https://github.com/parmentf/node-file-concept-network)).WARNING: reinitialize `this.cn` and `this.cn[this.username].cns`
### NewConceptNetwok
_ConceptNetwork_ derivated class of [ConceptNetwork](https://github.com/parmentf/node-concept-network)._(Coming soon)_
## Examples
The [browser-ector](https://github.com/parmentf/browser-ector) is an example of how this library can be used.You can talk to ECTOR in the browser. [Take a chat](http://parmentf.github.com/browser-ector/ector.html).
Or you add the [hubot-ector script](https://github.com/parmentf/hubot-ector)
to a [Hubot](https://github.com/github/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](http://mochajs.org/).## 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 releaseWarning: this is a work in progress.
## License
Copyright (c) 2012 François Parmentier
Licensed under the MIT license.