ufal-dsg / alex Goto Github PK
View Code? Open in Web Editor NEWAlex Dialogue Systems Framework
License: Other
Alex Dialogue Systems Framework
License: Other
I have installed everything that is listed in the install file.
Though, I have few questions:
In my understanding, alex needs many other installations, but alex itself is not installed and has to be used on a script basis. At least, in the INSTALL file, there is no instruction to install alex. But when I navigate to alex files, there is setup.py. So does alex needs further installation? If not, how does one know when to run which scripts? Say - I am interested in only SLU. What scripts should be used? What is the data format of output of VAD?
Is there a way to have a small end-to-end application running? It is okay if this is for very small/synthesized data. I am asking for an example without using docker.
Using
caniusepython3 -r alex-requirements-dev.txt alex-requirements.txt
only pyga package need to replaced which can be maybe done by https://github.com/debrouwere/google-analytics?
If alex is not sure about the user input, it asks again to confirm or to choose from possibilities. When asking to choose from two possibilities, voice intonation is like yes-no question instead of alternative-question. Even more confusing, if it uses formulation "nebo" ("or") instead of "anebo" ("either - or").
Example call 2014-12-16 8:16 from 734265677.
this model cannot be updated.
model_name: applications/PublicTransportInfoEN/slu/dailogregclassifier/dailogreg.nbl.model.all
I have case switches for Languages (cs|en).
In order to be compatible with HTK scripts
I have to split it to separate scripts and create launchers for en and cs.
Internal documentation links, such as the links from the main README.rst to INSTALL.rst, don't work directly on GitHub. Should we address this?
Do we need portaudio19-dev for unit tests?
Do we need portaudio19-dev for integration tests?
Do we need it at all?
...
I guess not -> Can I remove it from dependencies?
If I try to persuade the system that I want to travel at 5:05, 6:06 or 13:13 etc. (same minute and hour), the SLU interprets the time as 5:00, 6:00 etc., ignoring the minutes. Different amounts of minutes (5:01, 5:06 etc.) work OK.
Hello,
i am interested in the performance of the VAD in this project. I generated the docu files and found the page about "Building a voice activity detector (VAD)".
I went to the path alex/tools/vad
and tried to run some scripts, however, i have no training data. In the documentation these folders are described:
data_vad_sil # a directory with only silence, noise data and its mlf file
data_voip_cs # a directory where CS data reside and its MLF (phoneme alignment)
data_voip_en # a directory where EN data reside and its MLF (phoneme alignment)
model_voip # a directory where all the resulting models are stored.
I suppose i have to make these folders in alex/tools/vad
? But where can i find/download the appropriate audio and mlf files?
Regards,
Josef
Flite download link is hard to find... shouldn't we provide it ourselves in the installation information?
frame_in of 290304 frames
Forward decoding of 1808 frames in 24.98 secs
LOG (PyGmmLatgenWrapper:RebuildRepository():determinize-lattice-pruned.cc:285) Rebuilding repository.
LOG (PyGmmLatgenWrapper:RebuildRepository():determinize-lattice-pruned.cc:285) Rebuilding repository.
LOG (PyGmmLatgenWrapper:RebuildRepository():determinize-lattice-pruned.cc:285) Rebuilding repository.
LOG (PyGmmLatgenWrapper:RebuildRepository():determinize-lattice-pruned.cc:285) Rebuilding repository.
hyp_out: get_lattice+nbest in 39.75 secs
frame_in of 62720 frames
Forward decoding of 386 frames in 1.63 secs
hyp_out: get_lattice+nbest in 0.09 secs
Decoded indomain_data/aotb_prototype_total/part1/2013-06-26-23-21-33.575903-CEST-604607376/vad-2013-06-26-23-22-28.331316.wav
reference ZE ZASTÁVKY LAUROVÁ DO NÁDRAŽÍ VRŠOVICE
decoded NOISE ZE ZASTÁVKY LAUROVÁ NÁDRAŽÍ VRŠOVICE
I made Alex say city 'none' again :)
U: chci jet do zastávky Donovalská
(inform(to_stop="Donovalská"))
S: Dobře, do zastávky Donovalská. Z jaké zastávky chcete jet?
(iconfirm(to_stop="Donovalská")&request(from_stop))
U: chci jet ze zastávky Lázně
(inform(from_stop="Lázně"))
S: Do Prahy. Promiňte, asi Vám nerozumím. Zastávku Lázně v none neznám.
(iconfirm(to_city="Praha")&apology()&inform(stops_conflict="incompatible")&inform(from_city="none")&inform(from_stop="Lázně"))
I made her say it from shub with google directions, from thub with hdc slu and google directions and also live alex on phone, just for sure :)
I remember this used to be an issue, but I thought it does not happen anymore... I got this in 6/100 dialogues with random stops.
Dialogue:
s: hello()
u: request(departure_time)
s: ...
u: inform(alternative=2)
s: Dead, there is no connection info.
After we request departure_time or departure_time_rel, it probably somehow creates 'route_alternative' slot in DState "slots" -- with value = none, even though the user did not provide enough info to find connection.
Then when I ask for any alternative, it crashes.
Using: hdc_policy with google info.
(hopefully this is the right place to put this :))
Hi,
can someone tell me where vanished the trained_slu_test
function?
It is used in following files:
alex/applications/PublicTransportInfoCS/slu/dailogregclassifier/test_bootstrap_trn.py
alex/applications/PublicTransportInfoCS/slu/dailogregclassifier/test_trn.py
alex/applications/PublicTransportInfoCS/slu/dainnclassifier/test_bootstrap_trn.py
alex/applications/PublicTransportInfoCS/slu/dainnclassifier/test_trn.py
alex/applications/PublicTransportInfoCS/slu/test_bootstrap_hdc.py
alex/applications/PublicTransportInfoEN/slu/test_bootstrap.py
I find out that the function declaration is missing because I followed the instructions
in https://github.com/UFAL-DSG/alex/blob/master/alex/applications/PublicTransportInfoCS/slu/README.rst .
In particular, I ran this command ./train.py && ./test_trn.py && ./test_hdc.py && ./test_bootstrap_trn.py && ./test_bootsrap_hdc.py
Thanks for clarification,
Ondra
So that it does not have to be loaded from text files all the time. It should provide the same comfort and speed but without the unneccessary start-up delays.
Cannot visit this web site and download resource files
When the user searches for directions and requests the same origin and destination stops, the last-lalked-about feature of the tracker will assume find_platform
as possible:
User 1: chci jet z anděla na anděl
User 2: .
User DA confusion network:
1.000 inform(to_stop="Anděl")
1.000 inform(task="find_connection")
1.000 inform(from_stop="Anděl")
User best DA hypothesis:
1.000 inform(to_stop="Anděl")&inform(task="find_connection")&inform(from_stop="Anděl")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2015-03-13--17-14-16.404085-CET MainProcess : DEBUG
D3State Dialogue Act in:
1.000 inform(to_stop="Anděl")
1.000 inform(task="find_connection")
1.000 inform(from_stop="Anděl")
2015-03-13--17-14-16.459823-CET MainProcess : DEBUG
Context Resolution - Dialogue Act:
1.000 inform(to_stop="Anděl")
1.000 inform(task="find_connection")
1.000 inform(from_stop="Anděl")
2015-03-13--17-14-16.463276-CET MainProcess : DEBUG
Last Talked About Inference - Dialogue Act:
1.000 inform(to_stop="Anděl")
1.000 inform(task="find_connection")
1.000 inform(lta_task="find_platform")
1.000 inform(lta_task="find_connection")
1.000 inform(lta_task="find_connection")
1.000 inform(from_stop="Anděl")
The output still kinda makes sense, so it' not critical, but it is not ideal:
System DA: iconfirm(to_stop="Anděl")&iconfirm(from_stop="Anděl")&inform(platform="not_found")&inform(direction="Anděl")
2015-03-13--17-14-16.562856-CET MainProcess : INFO
SEARCHING: to(Praha, Anděl)
System: Dobře, ze zastávky Anděl do zastávky Anděl. Spoj do Anděl nebyl nalezen.
TTS-prep: 2015-03-13--17-14-16.577854-CET MainProcess : INFO
PlatformFinder from and to has not been found:
Anděl, Praha -- Anděl, Praha
Dobře, ze zastávky Anděl do zastávky Anděl. Spoj do Anděl nebyl nalezen.
These two lattices appear that do not normalize well the word paths.
Wav file: /ha/projects/vystadial/data/call-logs/2013-05-30-alex-aotb-prototype/part4/2013-12-05-16-08-18.240476-CET-66006f81/vad-2013-12-05-16-08-22.326078.wav
Wav file: /ha/projects/vystadial/data/call-logs/2013-05-30-alex-aotb-prototype/part4/2013-12-05-23-08-57.846984-CET-736a533340c5255e/vad-2013-12-05-23-11-29.607953.w
av
How (and where) to interpret 12hr times without am/pm specification?
data/database.py
(proper interpretations could be added into the database on load)?hdc_policy.py
(in get_directions
, like it's done now)?Is "ampm" in data/database.py
currently used anywhere? I guess not... at least the system won't understand it. Should we merge it with time expressions?
The Travis build has been failing with this error:
0.16s$ python -c 'import alex.applications.vhub'
Vendor: Continuum Analytics, Inc.
Package: mkl
Message: trial mode expires in 30 days
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "alex/applications/vhub.py", line 12, in <module>
from alex.applications.voicehub import VoiceHub
File "alex/applications/voicehub.py", line 12, in <module>
from alex.components.hub.vad import VAD
File "alex/components/hub/vad.py", line 16, in <module>
import alex.components.vad.gmm as GVAD
File "alex/components/vad/gmm.py", line 6, in <module>
from scipy.misc import logsumexp
File "/home/travis/miniconda/envs/pyenv/lib/python2.7/site-packages/scipy/misc/__init__.py", line 49, in <module>
from scipy.special import comb, factorial, factorial2, factorialk
File "/home/travis/miniconda/envs/pyenv/lib/python2.7/site-packages/scipy/special/__init__.py", line 601, in <module>
from ._ufuncs import *
ImportError: libgfortran.so.1: cannot open shared object file: No such file or directory
The command "python -c 'import alex.applications.vhub'" exited with 1.
Do you know how to fix this?
Do we use sphinxcontrib-napoleon ? for something
grepping (git grep) through the code based showed it only
in requirerements files
CRWS/Idos web service will fail on request given by this prompt:
z náměstí republiky do neratovice železniční stanice
The error message looks as follows:
2015-07-04--14-17-15.200130-CEST DM-7 : INFO
ALEX: Neratovice, železniční stanice -- Neratovice, Náměstí Republiky -- Neratovice
2015-07-04--14-17-15.206469-CEST DM-7 : INFO
IDOS: Neratovice,žel.st. -- Praha, Neratovice,,Nám.Republiky -- Neratovice
2015-07-04--14-17-15.233078-CEST DM-7 : INFO
CRWS Request for connection:
FROM: (ArrayOfGlobalListItemInfo){
GlobalListItemInfo[] =
(GlobalListItemInfo){
_iItem = 1351
_sName = "Neratovice,žel.st."
_iListID = 301003
},
}
TO: (ArrayOfGlobalListItemInfo){
GlobalListItemInfo[] =
(GlobalListItemInfo){
_iItem = 14
_sName = "Neratovice,,Nám.Republiky"
_iListID = 248003
},
}
TIME_STAMP: 2015-07-04 17:30:00
IS_DEPARTURE: True
2015-07-04--14-17-15.258886-CEST DM-7 : EXCEPTION
Uncaught exception in the DM process.
Traceback (most recent call last):
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/components/hub/dm.py", line 274, in run
self.read_slu_hypotheses_write_dialogue_act()
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/components/hub/dm.py", line 223, in read_slu_hypotheses_write_dialogue_act
da = self.dm.da_out()
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/components/dm/base.py", line 197, in da_out
self.last_system_dialogue_act = self.policy.get_da(self.dialogue_state)
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/applications/PublicTransportInfoCS/hdc_policy.py", line 301, in get_da
accepted_slots, changed_slots, has_state_changed)
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/applications/PublicTransportInfoCS/hdc_policy.py", line 349, in get_connection_res_da
res_da.extend(self.get_directions(ds, check_conflict=True))
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/applications/PublicTransportInfoCS/hdc_policy.py", line 1143, in get_directions
arrival_time=arrival_ts)
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/utils/cache.py", line 66, in wrapper
result = user_function(*args, **kwds)
File "/mnt/h/jurcicek/github/UFAL-DSG-alex-prd/alex/applications/PublicTransportInfoCS/directions.py", line 664, in get_directions
0)
File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 649, in send
result = self.failed(binding, e)
File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 702, in failed
r, p = binding.get_fault(reply)
File "/usr/local/lib/python2.7/dist-packages/suds/bindings/binding.py", line 265, in get_fault
raise WebFault(p, faultroot)
WebFault: Server raised fault: 'The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.'
The request looks legitimate and I have not yet found a way to turn the debugging on in SUDS.
The new webio.py should superseed the aio.py, webio.py
and also use OO programming for setting up a hub (not a spaghetti code/script)
Using HTML5 and javascript we will get rid of pyaudio dependency (duplicate #73)
So that we know real-time what is happening inside a running Alex.
First version should just display the current logs.
How to reproduce:
U: JAKÉ JE POČASÍ V PRAZE?
S: V obci Praha. Je právě patnáct stupňů a jasno.
U: JÁ BYCH CHTĚL JET EHM_HMM Z MALOSTRANSKÉHO NÁMĚSTÍ NA OŘECHOVKU
S:Dobře, ze zastávky Malostranské náměstí do zastávky Ořechovka. Je právě patnáct stupňů a jasno.
Why:
The lta_task slot does not change after first user utterance
[(u'weather', 0.9999999620500192), (u'none', 3.7949980824514284e-08), (u'find_connection', 3.7949980824514284e-08)]
Nor even the slot inform(task=find_connection)
is recognized by SLU.
For details see the log.
/ha/projects/vystadial/data/call-logs/2013-05-30-alex-aotb-prototype/new/2015-05-14--11-23-08.963917-CEST-44ff0981f68a03a5/session.xml
In some time, the url ufal-point.mff.cuni.cz
will no longer exist.
You have to change it to
lindat.mff.cuni.cz
Line 33 in 72fd963
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.