1706
Comment:
|
3176
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from Aqqu | |
Line 3: | Line 4: |
!GitHub repository: https://github.com/elmar-haussmann/aqqu . | == Description == |
Line 5: | Line 6: |
== Aqqu instance == | Question answering from Freebase as described in the [[http://ad-publications.informatik.uni-freiburg.de/CIKM_freebase_qa_BH_2015.pdf|CIKM 2015]] publication. The code below also contains some improvements (neural network, performance) that came after the publication. == Code == Public !GitHub repository: https://github.com/elmar-haussmann/aqqu . Internal git repository (contains work after publication, mainly neural net and performance improvements): https://bitbucket.org/elmar-haussmann/aqqu . Internal git repository for the web-UI (we didn't put that public): https://bitbucket.org/elmar-haussmann/aqqu-webserver . == Demo == === Aqqu instance === |
Line 9: | Line 22: |
TODO: how to start it. | Start as follows on metropolis: |
Line 11: | Line 24: |
== Virtuoso instance == | {{{ sudo su haussmae cd /home/haussmae/demos/aqqu-demo source activate aqqu PYTHONPATH=$(pwd):$PYTHONPATH python webserver/translation_webserver.py }}} === Virtuoso instance === |
Line 15: | Line 36: |
Start it as follows (kill old process manually): | Start virtuoso as follows. Server listens on port 8999. (Alternatively follow the instructions in QUICKSTART.md to download the instance, install virtuoso and start it.) {{{ ssh metropolis sudo su haussmae cd /home/haussmae/keyword-translation make start-virtuoso-mini-cai }}} Start the HTTP proxy as follows (kill old process manually, listens on port 9000): |
Line 23: | Line 54: |
=== How to update (any) Virtuoso with custom data === |
|
Line 58: | Line 91: |
== Data == All of the required data to run Aqqu is part of the materials (see above). It is located in the subfolder, ''data''. The scripts to create this data are part of the (old) keyword-translation repository: [[https://bitbucket.org/onekonek/keyword-translation]] |
Aqqu
Description
Question answering from Freebase as described in the CIKM 2015 publication. The code below also contains some improvements (neural network, performance) that came after the publication.
Code
Public GitHub repository: https://github.com/elmar-haussmann/aqqu .
Internal git repository (contains work after publication, mainly neural net and performance improvements): https://bitbucket.org/elmar-haussmann/aqqu .
Internal git repository for the web-UI (we didn't put that public): https://bitbucket.org/elmar-haussmann/aqqu-webserver .
Demo
Aqqu instance
2016-06-30: runs under http://metropolis.informatik.uni-freiburg.de:5455
Start as follows on metropolis:
sudo su haussmae cd /home/haussmae/demos/aqqu-demo source activate aqqu PYTHONPATH=$(pwd):$PYTHONPATH python webserver/translation_webserver.py
Virtuoso instance
2016-06-30: Virtuoso instance for Aqqu runs unter http://metropolis.informatik.uni-freiburg.de:9000/sparql .
Start virtuoso as follows. Server listens on port 8999. (Alternatively follow the instructions in QUICKSTART.md to download the instance, install virtuoso and start it.)
ssh metropolis sudo su haussmae cd /home/haussmae/keyword-translation make start-virtuoso-mini-cai
Start the HTTP proxy as follows (kill old process manually, listens on port 9000):
ssh metropolis sudo su haussmae cd /home/haussmae/keyword-translation make start-varnish
How to update (any) Virtuoso with custom data
Grant access rights via the ISQL tool as follows:
data/virtuoso/install/bin/isql localhost:1112 dba dba grant execute on SPARQL_INSERT_DICT_CONTENT to SPARQL_UPDATE; grant execute on SPARQL_INSERT_DICT_CONTENT to "SPARQL”; grant execute on SPARQL_DELETE_DICT_CONTENT to SPARQL_UPDATE; grant execute on SPARQL_DELETE_DICT_CONTENT to "SPARQL”;
Complex example SPARQL query from "Programmieren in C++, SS 2016, Ü10 (all action or animation movie with their release date, genre, director, production company, and rating):
PREFIX fb: <http://rdf.freebase.com/ns/> SELECT DISTINCT ?fn, ?y, ?gn, ?dn, ?pn, ?rn where { ?f fb:type.object.type fb:film.film . ?f fb:film.film.initial_release_date ?y . ?f fb:film.film.genre ?g . ?f fb:film.film.directed_by ?d . ?f fb:film.film.production_companies ?p . ?f fb:film.film.rating ?r . ?f fb:type.object.name ?fn . ?g fb:type.object.name ?gn . ?d fb:type.object.name ?dn . ?p fb:type.object.name ?pn . ?r fb:type.object.name ?rn FILTER(lang(?fn)='en') FILTER(lang(?gn)='en') FILTER(lang(?dn)='en') FILTER(lang(?pn)='en') FILTER(lang(?rn)='en') FILTER(?gn='Action Film'@en OR ?gn='Animation'@en) }
Data
All of the required data to run Aqqu is part of the materials (see above). It is located in the subfolder, data. The scripts to create this data are part of the (old) keyword-translation repository: https://bitbucket.org/onekonek/keyword-translation