3
$\begingroup$

As the title suggests, I am posting here in the hope someone could direct me towards NLP models for tagging words.

To be more concrete, here is what I wish to do. I would like to build a flashcard application using an NLP model that would tag/categorize words. So let us imagine I have a CSV file with items made of one question (in English) and one answer (in French):

+----------------------------
| plane       | avion       |
+-------------+-------------+
| chopsticks  | baguettes   |
+-------------+-------------+
| airport     | aéroport    |
+-------------+-------------+

The idea is that the learners would pick a contextual deck (in this example, a deck related to travelling with planes). That deck would be generated by a tag "airport" made by the machine learning algorithm.

And thus, is there any good models I should look to?

Edit:

After much research, I came across NLU which meets many of the requirements I have described above. If you are interested, please have a look at those links: What is NLP technique to generalize manually created rules in text? and NLP algorithms for categorizing a list of words with specific topics, as well as this repo: Probase-Concept

$\endgroup$
2
$\begingroup$

For generating lists of words related to the same topic, my first thought would be to take a large corpus of (monolingual) text, apply topic modelling and then collect random top words by topic.

$\endgroup$
1
  • $\begingroup$ Thank you @Erwan for the hint, helps me a lot! $\endgroup$
    – 99Botch
    Nov 26 at 10:34
2
$\begingroup$

You could look into sequence-to-sequence models. These model can be used to "translate" text. There is a nice example in Keras, where you can straight away build a translation model for English -> French.

This example demonstrates how to implement a basic character-level recurrent sequence-to-sequence model. We apply it to translating short English sentences into short French sentences, character-by-character. Note that it is fairly unusual to do character-level machine translation, as word-level models are more common in this domain.

Also note this blogpost "A ten-minute introduction to sequence-to-sequence learning in Keras".

$\endgroup$
1
  • $\begingroup$ All right, thanks for that @Peter, I'll have a look now. $\endgroup$
    – 99Botch
    Nov 26 at 10:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.