lingpy / pysign

Python library for the manipulation of sign language data
MIT License
0 stars 0 forks source link

parser for one hand signs #3

Open LinguList opened 4 years ago

LinguList commented 4 years ago

It would be good to make a parser only for one hand, so we could then just call this two times, and use another parser to identify the two hands, but is this even possible? Are the two hands separated, or is it rather that they are separated for location, movement, etc.?

justopower commented 4 years ago

Yes, the hands are also separated in the brackets - just like for location, movement - when they are not symmetrical.

So, if asymmetrical, then both dominant and nondominant values are transcribed.

This situation would be 100% clear for handshapes starting with the opening bracket. Then we know this is a two-handed sign. And of course, if handshape segment is preceded by symmetry segment, we also know this is a two-handed sign.

justopower commented 4 years ago

I will give a brief example using actual brackets and a plus sign for the brackets and what is called hamplus in hamnosys. (In your browser settings you can include hamnosys, and that makes it easier to view the symbols here, in case you haven't already. I think I shared the ttf fonts with you once, but if not I can upload here.)

For a 2-handed sign that has asymmetrical segment type(s), the asymmetrical types have to be spelled out in the transcription.

So an asymmetrical segment looks like this in hamnosys:

[ dominant_symbol(s) + nondominant_symbol(s) ] - I've included spaces here as in test_data.py, but the transcriptions will not normally have the spaces.

So in fact it's easy to pick out what is dominant and what is nondominant. And this structure is repeated across segment types, so we know that the first such instance will be for handshapes, the next will be for orientation, then location, then movement. Thus, if we don't have a symmetry symbol, the structure is:

[d+nd ] [d+nd] [d+nd] [d+nd]

Again, this means that this type of sign is easy to parse.