Repeated person keys in present continuous
gerardcanal opened this issue ยท 7 comments
Describe the bug
The Present continuous tense in English has double person keys. Not sure if that is intended, but the keys are of the form '1p 1p', '2s 2s'. The other tenses seem fine. I would expect the person keys to be the same in all the tenses.
To Reproduce
mlconjug3.Conjugator(language='en').conjugate("be").conjug_info['indicative']['indicative present continuous']
Outputs:
OrderedDict([('1s 1s', 'being'),
('2s 2s', 'being'),
('3s 3s', 'being'),
('1p 1p', 'being'),
('2p 2p', 'being'),
('3p 3p', 'being')])
Instead of:
OrderedDict([('1s', 'being'),
('2s', 'being'),
('3s', 'being'),
('1p', 'being'),
('2p', 'being'),
('3p', 'being')])
Such as in:
mlconjug3.Conjugator(language='en').conjugate("be").conjug_info['indicative']['indicative present']
OrderedDict([('1s', 'am'),
('2s', 'are'),
('3s', 'is'),
('1p', 'are'),
('2p', 'are'),
('3p', 'are')])
Hi @gerardcanal !
Thank you for your comment.
This behaviour is indeed intended as I wanted to make explicit the fact that the conjugated form takes an auxiliary verb that is also conjugated according to the person.
I was debating whether to do that or only indicate the person in the key.
You are right that this breaks the consistency of the naming of the keys.
I will investigate a new way to indicate the declension of the subject to have consistent key naming while still retaining the conjugation information of the auxiliary verb.
Thank you for submitting this report and bringing this issue to my attention.
I will let you know when I implement the changes and release a new version of mlconjug3.
Cheers,
SekouDiaoNlp.
Hi @SekouDiaoNlp,
Thank you for your reply. I guess it makes sense and it's actually helpful information, maybe it would be enough to mention it somewhere in the documentation? (Maybe it is there but I didn't find it!?)
I am now accessing the key as [person + ' ' + +person]
, which is so much of an issue, I was mainly curious about whether it was a bug or intended behavior.
Best,
Gerard
Hi @gerardcanal ,
You are right, this behaviour is not yet documented in the documentation.
I am going to edit the relevant bit in the docs for now, and I will then make the change to have a consistent key-naming scheme. I think it will make the interface cleaner for users of the library.
Thanks again mate.
SekouDiaoNlp.
Hi @gerardcanal , I just pushed the fix for the issue you reported.
Now when you type:
mlconjug3.Conjugator(language='en').conjugate("be").conjug_info['indicative']['indicative present']
You will get:
OrderedDict([('1s', 'am'),
('2s', 'are'),
('3s', 'is'),
('1p', 'are'),
('2p', 'are'),
('3p', 'are')])
It makes the key naming scheme more consistent for all moods and tenses.
I also published a fix for this issue today and released a new version 3.7.8 of mlconjug3 on PyPi.
You can install the new version by typing the following command in your terminal:
pip install mlconjug3
I am currently in the process of implementing an additional field to 'conjug_info' to add auxiliary verb information in the returned results where applicable. I should release this new version during the weekend hopefully.
Can you check out the new version and confirm that you get the expected behaviour?
Thanks again for using mlconjug3 and for submitting this issue.
Cheers,
SekouDiaoNlp.
Hi @SekouDiaoNlp,
I just tested it and it works great! Many thanks for it. I am also looking forward to the auxiliary verb information, that will be quite handy! (I'm happy to test it if you ping me once it's done :-))
Btw, is there any recommended way to cite mlconjug3 in an academic publication?
Best,
Gerard
Hi @gerardcanal , I hope you are doing well.
I am glad that the fix works as expected for you.
I will be delighted to let you know when I release the version handling auxiliary verb information and have your feedback on the implementation.
I am also pleasantly surprised that you intend to cite my work in an academic publication, I'm very interested in learning more about your academic work, maybe you can send me more information about it by pm?
You can cite mlconjug3 however you want, I think something like:
Sekou Diao, mlconjug3 version x.x.x, (2020), GitHub repository, https://github.com/SekouDiaoNlp/mlconjug3
should do it.
It would be an honor and a reward for my open source efforts, as I decided to release some of my projects as open source exactly for the love of sharing and spreading knowledge. It motivates me to polish and publish more of the software I developed throughout my university curriculum!
I will ask my former thesis advisor to share a bibtex version of the citations of his own open source software (mostly related to Lexical Functional Grammar) so that you can have a more canonical citation format. (He is on holidays right now, but I should get an answer by early/mid September when the new academic year starts).
Be prepared for more NLP packages coming soon :)
I wish you the best and I am excitedly anticipating to learn more about your own work.
Peace, love and have fun.
Sekou.
Hi Sekou,
Many thanks! You have a lot of nice open-source projects!
I can't see your email in your profile, so feel free to send me an email yourself. :-)
Looking forward to your new projects!
Take care,
Gerard