An open API service indexing awesome lists of open source software.

https://github.com/dbpedia/chatbot

DBpedia Chatbot
https://github.com/dbpedia/chatbot

chatbot dbpedia dbpedia-chatbot gsoc question-answering

Last synced: 7 months ago
JSON representation

DBpedia Chatbot

Awesome Lists containing this project

README

          

# DBpedia Chatbot

[![Project Stats](https://www.openhub.net/p/dbpedia-chatbot/widgets/project_thin_badge.gif)](https://www.openhub.net/p/dbpedia-chatbot)
[![BCH compliance](https://bettercodehub.com/edge/badge/dbpedia/chatbot?branch=master)](https://bettercodehub.com/)
[![pipeline status](https://gitlab.com/ram-g-athreya/chatbot/badges/master/pipeline.svg)](https://gitlab.com/ram-g-athreya/chatbot/commits/master)

**[Final Application](https://chat.dbpedia.org)**

For more information about this project and **GSoC Progress** please refer to **[GSoC Wiki](https://github.com/dbpedia/chatbot/wiki/GSoC-2017:-Chatbot-for-DBpedia)**

[![DBpedia Chatbot YouTube Video](https://media.giphy.com/media/26CaLmhBRmHjSb3Hy/giphy.gif)](https://www.youtube.com/watch?v=Wk-UUufDpZs)

## Environment Configurations

When running locally or in development include the following configuration as a properties file in the `src/main/resources` folder.

In case you do not have a proper CouchDB instance or API keys please use the following **[dummy configuration file](https://github.com/dbpedia/chatbot/wiki/Chatbot-Dummy-Configuration)**.

_Please note that using the dummy configuration file can result in some features being unavailable since they may require the requisite API services._

```properties
admin.username =
admin.password =

chatbot.baseUrl =
chatbot.gaID =

chatbot.fb.appSecret =
chatbot.fb.verifyToken =
chatbot.fb.pageAccessToken =
chatbot.slack.botToken =

cloudant.url =
cloudant.username =
cloudant.password =
cloudant.chatDB =
cloudant.feedbackDB =
cloudant.explorerDB =

tmdb.apiKey =

wolfram.apiKey =
```

### Development Only Configurations

```properties
spring.thymeleaf.cache = false
spring.devtools.livereload.enabled = true
logging.level.com.github.messenger4j = DEBUG
logging.level.com.github.messenger4j =
```

## Deployment

```sh
$ mvn clean install
# $PORT is the port number you want the server to run in for example 8080
$ java $JAVA_OPTS -Dserver.port=$PORT -jar target/*.jar
```

## Development

```sh
$ mvn spring-boot:run
$ node/node node_modules/.bin/webpack --env.NODE_ENV=dev --watch
```

## Embed Code

Add the following snippet to the `` section of the webpage where you want to embed the ChatBot.

```html

(function() {
var URL = "https://chat.dbpedia.org"
window.onload = function() {
var iframe = document.createElement("iframe");
iframe.setAttribute("src", URL + "/embed");
iframe.setAttribute("frameBorder", 0);
iframe.style.zIndex = 10000000;
iframe.style.height = "100%";
iframe.style.width = "40%";
iframe.style.position = "fixed";
iframe.style.bottom = "20px";
iframe.style.left = "20px";
iframe.style.display = "none";

document.body.appendChild(iframe);
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
if(event.origin == URL && event.data == "dbpedia-chatbot-embed-loaded") {
iframe.style.display = "block";
}
}
}
})();

```

## Citation
```
@inproceedings{ramngongausbeck2018,
address = {Republic and Canton of Geneva, Switzerland},
author = {Athreya, Ram G and Ngonga, Axel and Usbeck, Ricardo},
booktitle = {WWW '18 Companion: The 2018 Web Conference Companion, April 23--27, 2018, Lyon, France},
doi = {10.1145/3184558.3186964},
location = {Lyon, France},
numpages = {4},
publisher = {International World Wide Web Conferences Steering Committee},
title = {{Enhancing Community Interactions with Data-Driven Chatbots - The DBpedia Chatbot}},
url = {https://svn.aksw.org/papers/2018/WWW_dbpedia_chatbot/public.pdf},
year = 2018
}
```