bmeaut / python_nlp_2018_spring

MIT License
8 stars 10 forks source link

Are they verbs: 'lon' and 'tawa' #14

Open matech96 opened 6 years ago

matech96 commented 6 years ago

This wikipedia page claims they are, but task 2.3.8 tests line 8 says 'lon' is no verb. assert ['lon'] in [find_all_nt(t, 'Verb') for t in trees] What is the truth?

DavidNemeskey commented 6 years ago

The simple answer is that the line in question checks if lon can be a verb in the sentence mama pi mi mute o sina lon sewi kon. Of course, generally, lon can be a verb -- but not in this sentence. So both the test and the Wiktionary page are right. :)

Think of it this way: it's the same as asking whether guard can be a verb in The guard was sleeping. It cannot; however, every English dictionary will rightfully tell you that guard can be verb: see e.g. Dogs guard the entrance.

BTW. to see the full picture, you must remember that I made a few simplifying assumptions in the exercises; one of these was that Root words are not sorted into part-of-speech classes; instead, a root word can be a noun, verb or modifier based on where it occurs in the sentence. This came from the Wikipedia page of Toki Pona; however, if you check out the root word list, you will find that this is not necessarily true, as some words cannot be verbs, nouns or modifiers. I believe this might be a discrepancy between the original idea for Toki Pona and how it changed when people actually started using it. But I digress.

Checking out the Toki Pona Wiktionary was a good idea. I have actually forgot to do so. However,

matech96 commented 6 years ago

I probably misunderstand the wiki, but I think 'lon' can be a verb in this sentence: img

DavidNemeskey commented 6 years ago

Sorry, I did not pay attention to the original question. The test

assert ['lon'] in [find_all_nt(t, 'Verb') for t in trees]

means that lon is a verb according to at least one parse. So yes, lon can be a verb in this sentence. But do to the POS-lessness of Toki Pona, it can be a noun or modifier as well.

Does that answer your original question? Or does this assert fail in your notebook?