I have the following problem: I have a set of English words which I want to translate to Dutch. Of each words I mined a set of possible translations. For example, for the word "Eighteen" I obtained only one possible Dutch translation: "Achttien", which is correct. However, for other words I obtained multiple translations. For the word "Good" I have the translations "Goed", "Braaf" and "Eerlijk", which are technically correct translations but by far the best and most commonly used translation is only the word "Goed".
For a training set of English words I manually defined the optimal (correct) translation. Using this set I want to train some model to optimally pick for each English word the optimal Dutch word using some predictors. For example, I assume words that are more frequently used are probably better translations than others, and I assume that words that are noted first in a list of translations are probably better translations than others (e.g., in a dictionary, the first translation is usually the best).
So, my data looks something like this:
English Dutch Frequency Order Correct
---------------------------------------------------
Eighteen Achttien 800 1 TRUE
Good Goed 900 1 TRUE
Good Braaf 500 2 FALSE
Good Eerlijk 600 3 FALSE
old bejaard 300 1 FALSE
old oud 900 2 TRUE
I want to predict the classification in the column Correct
. At first I thought a logistic regression could do this, but that does not take into account that each row is not independent. e.g., for each unique value of the column English
only one is correct and all others are false. Thus, some other classification method is required.
I was hoping you could point me in the right direction as to what method (or even better, an R
package) would be suitable to tackle this problem. I guess this problem occurs more often in Machine Learning but I have no experience in that field.