Improve NER label results on Non-English text












5












$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?










share|improve this question











$endgroup$




bumped to the homepage by Community 9 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • $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
















5












$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?










share|improve this question











$endgroup$




bumped to the homepage by Community 9 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • $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














5












5








5





$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?










share|improve this question











$endgroup$




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?







machine-learning classification named-entity-recognition






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Oct 17 '18 at 6:46









Jero Machuca

31




31










asked Aug 8 '18 at 11:05









CharleneCharlene

261




261





bumped to the homepage by Community 9 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community 9 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.














  • $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


















  • $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
















$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




$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 Answer
1






active

oldest

votes


















0












$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.






share|improve this answer









$endgroup$














    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "557"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f36632%2fimprove-ner-label-results-on-non-english-text%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0












    $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.






    share|improve this answer









    $endgroup$


















      0












      $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.






      share|improve this answer









      $endgroup$
















        0












        0








        0





        $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.






        share|improve this answer









        $endgroup$



        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.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Aug 10 '18 at 16:13









        BrunoGLBrunoGL

        1,046222




        1,046222






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Data Science Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f36632%2fimprove-ner-label-results-on-non-english-text%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to label and detect the document text images

            Vallis Paradisi

            Tabula Rosettana