6
$\begingroup$

I am working on some Medieval Latin text and was using various methods of NER such as CLTK (Latin Model), Spacy (Multilingual, Italian, Spanish Model) and StanfordNER (Spanish Model). When I used the non-Latin models I used the original Latin text as the translated one was not making any sense.

Fortunately Spacy Multilingual model managed to extract all Persons and Places of the sample documents but with additional words that I am not considering them as Entities. Moreover, the labels are incorrect.

Here is an example output:

{'LOC': ['Artali', 'Artalis', 'Bruges', 'Unde'],
'MISC': ['Marianum lu Tignusu'],
 'PER': ['Simone de Mazara',
  'Artalem de Alagona',
  'Apoca',
  'Coram',
  'Pero de Naso',
  'Pero Caruana',
  'Bartholomeo Xacara',
  'Testamur',
  'Artalis de Alagona',
  'Melite',
  'Simonis de Mazara',
  'Simonem',
  'Simone',
  'Mariano',
  'Artalis',
  'Artalem',
  'Simoni',
  'Panormi',
  'Renunciando']}

where the LOCATIONS should be: Panormi, Bruges, Melite and PERSONAL names should be all others except Unde, Apoca, Coram, Testamur, Renunciando which are neither locations nor personal names.

I was thinking of ignoring the labels and do some classification ML algorithm. The problem is that I do not have any training data available and the only possible usable corpus that I think it might be useful is Proiel treebank which labels proper nouns as NE. How would you go with such a problem?

$\endgroup$
  • $\begingroup$ In a situation like this, where you have very little labeled data, it might be worth labeling some manually, either yourself or by hiting someone to do it. $\endgroup$ – Josh Friedlander Aug 9 '18 at 19:42
1
$\begingroup$

One approach you can take is Multi-Task Learning. This approach is a little more complicated but tackles your problem in hand.

The idea is that you train a neural network to perform different NLP tasks. For example:

  • Translation
  • Part-of-speech tagging
  • Named entity recognition
  • Chunking

or any other task.

However, you might have data for translation (e.g. Spanish to Latin, or English to Latin), you have data for NER in Spanish and English but not for NER in Latin.

The theory and studies behind Multi-Task learning suggest that if you learn a task with that language, translation for example, you can get better at other tasks as well, NER for example.

So you can learn NER in Latin by learning NER in other languages and learning translation, chunking and POS tagging.

This should take care of your lack of NER data in Latin.

| improve this answer | |
$\endgroup$

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.