knightss27 / capr Goto Github PK
View Code? Open in Web Editor NEWComputer Assisted Proto-language Reconstruction
Computer Assisted Proto-language Reconstruction
Currently I am attempting to replace
Line 36 in ad2bfd8
with
Lines 42 to 47 in ad2bfd8
though I am unsure what template should be used.
Running this currently throws:
Traceback (most recent call last):
File "/root/calc-pipeline/seth/burmish-pipeline.py", line 42, in <module>
template_alignment(alms,
File "/usr/local/lib/python3.9/dist-packages/lingrex/align.py", line 190, in template_alignment
[
File "/usr/local/lib/python3.9/dist-packages/lingrex/align.py", line 191, in <listcomp>
align_to_template(alm, struc, template, gap=gap)
File "/usr/local/lib/python3.9/dist-packages/lingrex/align.py", line 42, in align_to_template
raise ValueError(
ValueError: sequence ['ɲ̊', 'ɑ̃', 'u', '∼'] and structure ['i', 'n', 'N', 'c', 't'] have different length
Which is expected given we likely have a bad template.
@knightss27, this looks like really great work to me. Was it your idea to use node for the editing process? This runs very smoothly as far as I can tell by now.
What I would like to mention is that the current package misses a list of required packages, a requirements.txt
file. When trying to check the node and the dev-mode, using flask, I had to install another flask package that was not mentioned.
To avoid this, I suggest you make a virtual environment with Python and test with this environment. If all works, you then make pip freeze > requirements.txt
. In this way, I can make a fresh environment later and type pip install -r requirements.txt
and it will run without problems (provided foma is installed).
When I move things to the pin section they don't stick. Might be a browser specific issue.
Maybe, I find this already in the code, but a short README that runs me through things I need to do in order to set some server up for somebody, or to check things, etc., what I need to do before using the front-end, etc. would be helpful. I'd then run it as a testing dummy, and give feedback on how clear it is. If you have this already, can you point me to it?
One really ought to be able to export to PDF in the form of an etymological dictionary, as was originally planned.
This code likely already exists to some extent, or at the very least should not be too hard to recreate.
My understanding is that a dead fish should only appear if, according to the current transducers, one of the items on that column cannot be reconstructed to proto-Burmish. So, if a column only has one item, then it shouldn't have a dead fish on it. But there are currently lots of those examples. So, I would suggest that as part of the refishing process all the old fishes (whether dead or alive) are first removed, and then assigned afresh.
I tried following the instructions to install capr via Docker. I haven't really worked with Docker before (which is probably weird for the use case of somebody installing capr on a server :p), so here are some of the points I ran into. Maybe by documenting it clearer it could be easier for a non-technical person to install the software:
sudo
, or user has to be in the group docker, at least on my Ubuntu machine.docker compose
didn't work. I had to install the package docker-compose
and then issue docker-compose build
instead.docker-compose up
, I got the following error: ERROR: for capr_caddy_1 Cannot start service caddy: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/Caddyfile" to rootfs at "/etc/caddy/Caddyfile": mount /Caddyfile:/etc/caddy/Caddyfile (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
. I think the $PWD variable in the configuration file was not handled correctly. It started working when I changed $PWD to the explicit path in docker-compose.yml
in the line $PWD:/etc/caddy/Caddyfile
.After these steps, capr worked!
This is for the distant future, but particularly would be good for keeping track of loanwords.
@knightss27, I am sorry to bother you, but while I can load the two server instances both for the instance that serves the JSON and the one that provides the GUI, I cannot have them communicate with each other due to violations against cross-server accesses.
The instructions tell me to load the two instances (flaks and node) independently. So flask serves at localhost:5000 or similar and node serves at localhost:8080 or similar. As a result, the node server now cannot access the flask server, which according to the application is expected to serve at /api/refish-board
(for example).
So my question is: what am I doing wrong, or how do I combine both server instances here?
And my apologies in advance if this question is stupid and there is just a very simple solution I did not know about.
The Lashi transducer is now in place and there are no error messages, but I can't get any Lashi data to load. I wonder if somehow in the refishing process in the back end it isn't looking for Lashi.
It can sometimes happen that we can be sure two things aren't exact cognates, but still think they are utimately related. (For example we have two words for tiger *gla and *la, and the Achange word for 'song' (something like siang) is probably related to the Burmese si-khrang (maybe as a loan). So, it would be good to be able to associate two colums without them going into the transducers as one crossid.
When I find something an incorrect cognate assignment in the transducers it is proving very hard to track down. So, afterall search by meaning would be useful. (Although not as necessary if the alphabetization of proto-forms were fixed).
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.