¡¡¡¡Ð£¶Ô£ººÍÖлª
¡¡¡¡±¾ÎÄÔ¼2500×Ö£¬½¨ÒéÔĶÁ7·ÖÖÓ
¡¡¡¡±¾ÎÄ»ùÓÚµ¤ÂóÍŶÓÑз¢µÄPython¿ªÔ´°üNERDAÑÝʾÁËÈçºÎͨ¹ý¼òµ¥Î¢µ÷BERT TransformerÀ´´¦ÀíNERÈÎÎñ¡£
ÕÕÆ¬Ô´×ÔPixabay£¬×÷Õßvinsky2002
¡¡¡¡ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«½éÉÜÈçºÎͨ¹ý¼òµ¥Î¢µ÷£¨fine-tune£©ÈÎÒâԤѵÁ·µÄ£¨pretrained£©×ÔÈ»ÓïÑÔ´¦Àítransformer£¬À´Íê³ÉÈÎÒâÓïÑÔÖеÄÃüÃûʵÌåʶ±ð£¨Named-Entity Recognition, NER£©ÈÎÎñ¡£
¡¡¡¡ÎªÊ²Ã´Õâ¸ö»°ÌâÖµµÃÄã¹Ø×¢£¿ÒòΪNERÊÇÒ»ÏîÇ¿´óµÄ×ÔÈ»ÓïÑÔ´¦ÀíÈÎÎñ£¬ÔÚÖî¶àÁìÓò¶¼ÓÐʵ¼ÊÓ¦Óã¬ÔÚTowards Data Science֮ǰµÄÌû×ÓÖÐÒÑÓÐÏêϸ½éÉÜ¡£È»¶øÒªÏëµÃµ½²»´íµÄNERÄ£ÐÍЧ¹û£¬Í¨³£ÐèÒª»ùÓÚԤѵÁ·µÄtransformer¶ÔNERÄ£ÐͽøÐÐÌØ¶¨ÓïÑÔ»òÁìÓòµÄ΢µ÷£¬ÕâÔÚ¼ÆËã×ÊÔ´ÓÐÏÞµÄÇé¿öÏ£¬ÊDZȽϿÉÐеİ취£¬¶øÇÒÄÜ¿´µ½Êµ¼ÊЧ¹û¡£
¡¡¡¡ÎªÁËչʾÈçºÎ×öµ½£¬ÎÒÃÇʹÓÃpythonµÄNERDA°üµ÷ÓÃBERT transformer¶ÔNERÄ£ÐͽøÐÐ΢µ÷¡£
¡¡¡¡NERDAÊÇÒ»Ì×ͨÓõÄNERϵͳ£¬¿ÉÓÃÓÚÒÔ×îÉٵĴúÂëÁ¿¶ÔÈÎÒâÓïÑÔµÄNERÈÎÎñºÍÈÎÒâtransformer½øÐÐ΢µ÷¡£
¡¡¡¡ÃüÃûʵÌåʶ±ð¼ò½é
¡¡¡¡Èç¹ûÄ㻹²»ÊìϤNER£¬Çë²é¿´Î¬»ù°Ù¿ÆÉϵ͍Ò壺
¡¡¡¡ÃüÃûʵÌåʶ±ð£¨Ò²³Æ£¨ÃüÃû£©ÊµÌå±êʶ£¬ÊµÌåÆ¬È¡»òʵÌåÌáÈ¡£©ÊÇÓÃÓÚÐÅÏ¢ÌáÈ¡µÄ×ÔÈ»ÓïÑÔ´¦Àí×ÓÈÎÎñ£¬Ö¼ÔÚ½«·Ç½á¹¹»¯Îı¾ÖÐÌáµ½µÄÃüÃûʵÌ嶨λ²¢·Öµ½Ô¤¶¨ÒåµÄÀà±ð£¬ÀýÈçÈËÃû£¬×éÖ¯»ú¹¹Ãû£¬µØÃû£¬Ò½ÁÆ´úÂ룬ʱ¼ä£¬ÊýÁ¿£¬»õ±ÒÖµ£¬°Ù·Ö±ÈµÈ¡£
¡¡¡¡ÎÒÃÇ¿ÉÒÔͨ¹ýÒ»¸öNERÈÎÎñµÄÀý×ÓÀ´×÷½øÒ»²½½âÊÍ¡£
¡¡¡¡ÈÎÎñ£ºÔÚÎı¾ÖбêʶÈËÃûºÍ×éÖ¯»ú¹¹Ãû£º
¡¡¡¡Jim bought 300 shares of Acme Corp.
¡¡¡¡½â´ð£ºÈËÃû£º'Jim'£¬×éÖ¯»ú¹¹Ãû£º'Acme Corp.'
¡¡¡¡ÈôÄãÏë»ñµÃ±¾ÎÄÖÐÌáµ½µÄÆäËû¸ÅÄîºÍ¼¼ÊõµÄ½éÉÜ£¬ÇëÒÆ²½ÎÄÄ©“²Î¿¼×ÊÁÏ”²¿·Ö£¬ÄÇÀïÎÒÃÇÁÐÁËÐí¶àTowards Data ScienceÏÈǰµÄÌû×Ó¡£
¡¡¡¡¹¤¾ßÏä
¡¡¡¡ÏÖÔÚ£¬ÎÒÃÇҪʵ¼ÊÉÏÊÖΪNER΢µ÷transformerÁË¡£
¡¡¡¡ÎÞÂÛÄãÑ¡ÔñÄÄÒ»ÖÖtransformerºÍÄ¿±êÓïÑÔ£¬ÎÒÃÇÕâÀï½éÉܵIJ½Öè¶¼ÊÇͨÓõġ£
¡¡¡¡ÎÒÃǽ«ÀûÓÃpythonµÄNERDA°üÀ´Íê³ÉÕâÏ×÷¡£
¡¡¡¡“NERDA” Python°üµÄ¹Ù·½»Õ±ê£¬ÓÉEkstra BladetÐÂÎÅÌṩ
¡¡¡¡NERDAÓµÓÐΪNERÈÎÎñ½øÐÐtransformers΢µ÷µÄÒ×Óýӿڡ£Ëü»ùÓÚÁ÷ÐеĻúÆ÷ѧϰ¿ò¼ÜPyTorchºÍHugging Face transformers¡£
¡¡¡¡NERDAÊÇ¿ªÔ´µÄ£¬¿ÉÔÚPython Package Index£¨PyPI£©ÉÏ»ñµÃ¡£Ëü¿Éͨ¹ýÈçÏ·½Ê½°²×°£º
¡¡¡¡Êý¾Ý¼¯
¡¡¡¡ÎÒÃǽ«Ê¹ÓôøÓÐNER±ê×¢µÄCoNLL-2003Ó¢ÎÄÊý¾Ý¼¯À´ÑµÁ·ºÍÑéÖ¤ÎÒÃǵÄÄ£ÐÍ¡£
¡¡¡¡Ê×ÏÈ£¬ÎÒÃÇÏÂÔØÊý¾Ý¼¯²¢¼ÓÔØÔ¤¶¨ÒåÇÒ²ð·Ö¹ýµÄѵÁ·Êý¾ÝºÍÑéÖ¤Êý¾Ý¡£
¡¡¡¡CoNLL-2003ʹÓÃÒÔÏÂÀàÐ͵ÄÃüÃûʵÌ壨Ï൱±ê×¼µÄÀà±ð£©½øÐвÙ×÷£º
¡¡¡¡1. ÈËÃû£¨PER£©
¡¡¡¡2. ×éÖ¯»ú¹¹Ãû£¨ORG£©
¡¡¡¡3. µØÃû£¨LOC£©
¡¡¡¡4. ÆäËû£¨MISC£©
¡¡¡¡5. δÃüÃûʵÌ壨O£©
¡¡¡¡CoNLL-2003Êý¾Ý¼¯ÖеÄÿһÌõ¹Û²âÖµ¶¼ÊÇÒ»¸ö¾¹ý·Ö´ÊµÄ¾ä×Ó£¬Ã¿¸ö·Ö´Ê¶¼´øÓÐÒ»¸öÃüÃûʵÌå±êÇ©¡£
¡¡¡¡ÏÂÃæ£¬Ä㽫¿´µ½CoNLLÊý¾Ý¼¯ÖÐËæ»úÈ¡³öµÄÒ»¸ö¾ä×ÓʾÀý£¬Í¬Ê±ÁгöÁËÆä·Ö´ÊÓë¶ÔÓ¦µÄÃüÃûʵÌå±êÇ©£¨[±êÇ©]£©¡£
¡¡¡¡Êý¾Ý¼¯²ÉÓÃÁËIOB±ê×¢·½Ê½¡£
¡¡¡¡IOB±ê×¢·¨µÄÒâ˼ÊÇ£¬ÒÔ'B-'±ê¼ÇÃüÃûʵÌ忪ͷµÄµ¥´Ê£¬ÒÔ'I-'±ê¼ÇÃüÃûʵÌåÖмäµÄµ¥´Ê¡£
¡¡¡¡ÔÚÉÏÃæµÄʾÀýÖУ¬“Germany”±ê¼ÇΪµØÃû£¨LOC£©£¬“European Union”±ê¼ÇΪ×éÖ¯»ú¹¹Ãû£¨ORG£©£¬“ Werner Zwingmann”±êʶΪÈËÃû£¨PER£©¡£
¡¡¡¡½¨Ä£
¡¡¡¡µÚÒ»²½£¬ÎÒÃÇΪÈÎÎñÖ¸¶¨¿ÉÓõÄNER±êÇ©£¨²»°üÀ¨ÌØÊâµÄO£¨Outside£¬±íʾ²»ÔÚ¶ÌÓïÖУ©±êÇ©£©¡£
¡¡¡¡½ÓÏÂÀ´£¬ÎÒÃDZØÐë×ö³öÑ¡Ôñ£¬ÒªÎ¢µ÷Hugging FaceÉÏÖÚ¶àtransformersÖеÄÄÄÒ»¸ö¡£ÕâÀïÎÒÃÇÒÔuncased multilingual BERT transformerΪÀý£¨³£¼ûÑ¡ÔñÖ®Ò»£©¡£
¡¡¡¡Í¬Ê±£¬ÎÒÃÇÎªÍøÂç²ã¼°Ä£ÐÍѵÁ·±¾ÉíÌṩһÌ×»ù±¾µÄ³¬²ÎÊýÅäÖá£
¡¡¡¡ÕûºÏ
¡¡¡¡ÏÖÔÚ£¬Ê¹ÓÃNERDAÄ£Ðͽӿڽ«¸÷¸ö²¿·ÖÕûºÏµ½Ò»¸öÍêÕûµÄÄ£ÐÍÅäÖÃÖС£
¡¡¡¡ÔڵײãNERDAʵÏÖÁËÒ»¸ötorchÉñ¾ÍøÂ磬¸ÃÉñ¾ÍøÂ罨Á¢ÔÚËùÑ¡µÄtransformer£¨ÔÚ±¾ÀýÖÐΪBERT£©ÉÏ¡£Ä¬ÈÏÇé¿öÏ£¬ÍøÂç¼Ü¹¹½«ÀàËÆÓÚHvingelbyµÈÈË2020Äê·¢±íµÄÂÛÎÄÖÐÌá³öµÄÄ£ÐÍÖ®Ò»¡££¨Èç¹ûÄãÔ¸Ò⣬Ҳ¿ÉÒÔÌá³ö×Ô¼ºµÄÍøÂç¼Ü¹¹£©¡£
¡¡¡¡ÎªÁËѵÁ·Ä£ÐͲ¢Î¢µ÷BERT transformer£¬½ÓÏÂÀ´Î¨Ò»Òª×öµÄ¾ÍÊǵ÷ÓÃtrain·½·¨¡£
¡¡¡¡×¢Ò⣺Õ⽫»¨ÉÏһЩʱ¼ä£¬¾ßÌåÈ¡¾öÓÚÌØÕ÷µÄά¶È£¨Èç¹ûÄãÏëÂÔ¹ýÄ£ÐÍѵÁ·£¬Ôò¿ÉÒÔÖ±½ÓʹÓÃNERDAÖÐÌṩµÄԤѵÁ·Ä£ÐÍ£©¡£
¡¡¡¡µ½Õâ¾Í´ó¹¦¸æ³ÉÁË¡£ÏÖÔÚ£¬ÎÒÃÇÒѾΪNER΢µ÷ÁËÊôÓÚ×Ô¼ºµÄÒ»¸ö»ùÓÚBERTµÄ×îÓÅЧ¹û (state-of-the-art)Ä£ÐÍ¡£
¡¡¡¡ÈÃÎÒÃÇ¿´¿´¸ÃÄ£ÐÍÔÚ¶ÀÁ¢²âÊÔ¼¯ÉϵıíÏÖ£¨Í¨¹ýF1µÃ·ÖÆÀ¹À£©¡£
¡¡¡¡“ AVG_MICRO”£º¿çʵÌå±êÇ©µÄF1·ÖÊýµÄ΢ƽ¾ùÖµ£¨micro-averaged F1-score£©¡£
¡¡¡¡ÈçÄãËù¼û£¬Ä£ÐͱíÏÖ¿´ÆðÀ´ºÜ°ô¡£
¡¡¡¡ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔʹÓøÃÄ£ÐÍÀ´Ê¶±ðÐÂÎı¾ÖеÄÃüÃûʵÌ壬ÀýÈ磺
¡¡¡¡¸ÃÄ£ÐÍ£¨ÕýÈ·µØ£©½«“ Cristiano Ronaldo”£¨×ãÇòÔ˶¯Ô±£©±êʶΪÈËÃû£¬²¢½«“ Juventus FC”£¨×ãÇò¾ãÀÖ²¿£©±êʶΪ×éÖ¯»ú¹¹Ãû¡£
¡¡¡¡Î¢µ÷ÈÎÒâTransformer
¡¡¡¡Hugging FaceÉÏĿǰÒÑÌṩÁ˳¬¹ý5000ÖÖtransformerÄ£ÐÍ¡£ÄÇôÄãÓ¦¸Ã΢µ÷ÄÄÒ»¸öÄØ£¿ÎÒÃDz»ÏëÈÃÄãʧÍû£¬µ«´ð°¸ÊÇ£ºÕâÒªÊÓÇé¿ö¶ø¶¨¡£ÌìÏÂûÓÐÃâ·ÑµÄÎç²Í¡£TransformerÄ£ÐͶ¼Óи÷×ÔµÄÓÅȱµã¡£´ËÍ⣬µ±ÄãÌôÑ¡transformerµÄʱºò£¬Ò²ÒªÏàÓ¦Õչ˵½µ½¼ÆËã×ÊÔ´µÄÔ¤Ë㣬ºÍ½ÚÄÜ»·±£µÄÒâʶ¡£
¡¡¡¡ÈçǰËùÊö£¬BERTͨ³£ÊÇÒ»¸ö²»´íµÄÑ¡Ôñ¡£µ«ÊÇ£¬ÓëBERTÏà±È£¬ºóÆðÖ®ÐãELECTRAÔòÇáÇÉÐí¶à£¬¼ÆËãЧÂʸü¸ß£¬²¢ÇÒÔÚNERÈÎÎñÉÏÈÔÈ»±íÏÖ³öÉ«¡£
¡¡¡¡ÎÞÂÛÄãÑ¡ÔñÄÄÖÖtransformer£¬NERDA¶¼Ìṩ֧³Ö¡£ÔÚÉÏÃæµÄ´úÂëʾÀýÖУ¬Èç¹ûÏëÒª°Ñtransformer´ÓBERT¸Ä³ÉELECTRA£¬Ö»ÐèÒª¸ü¸Ätransformer²ÎÊý£¬¼´£º
¡¡¡¡Î¢µ÷ÈÎÒâÓïÑÔ
¡¡¡¡NERDA¿ÉÒÔÓÃÓÚ΢µ÷ÈÎÒâÓïÑÔµÄtransformer£¬±ÈÈçʹÓÃÄã×Ô¼ºµÄÊý¾Ý¼¯¡£ÎªÁË΢µ÷NERÖе¤ÂóÓïµÄtransformer£¬ÎÒÃÇ¿ÉÒÔÀûÓÃDaNEÊý¾Ý¼¯£¬¸ÃÊý¾Ý¼¯ÓÉ´øÓÐNER×¢Ê͵ĵ¤ÂóÓï¾ä×Ó×é³É¡£
¡¡¡¡ÎªÊµÏÖ´ËÄ¿µÄ£¬ÄãÖ»ÐèÒªÔÚǰһ¸ö´úÂëʾÀýÖÐ×ö³ö·Ç³£¼òµ¥µÄ¸Ä±ä£º
¡¡¡¡Èç¹ûÄãûÓÐÈκΣ¨»òÊÇ»¹²»¹»£©ËùÐèÓïÑԵľ¹ýNER±ê×¢µÄѵÁ·Êý¾Ý£¬ÄÇôÄã¿ÉÒÔÀûÓÃdoccanoÖ®ÀàµÄ¹¤¾ßÀ´ÅúÁ¿±ê×¢ÐÂÎı¾¡£
¡¡¡¡³öºõÒâÁϵÄÊÇ£¬NERDA¶ÔÌØ¶¨ÓïÑÔµÄ΢µ÷²¢²»ÐèÒªÄãÏëÏñÄÇô¶àµÄ´ø±ê×¢µÄÊý¾Ý£¬ÒòΪNERDA¿ÉÒÔÀûÓÃtransformerÖÐÒѾ´æÔÚµÄ֪ʶ¡£ÀýÈ磬µ¤ÂóNERÊý¾Ý¼¯DaNE°üº¬µÄ¾ä×ÓËä²»³¬¹ý5500¸ö£¬È´×ãÒÔѵÁ·NERDAÄ£ÐÍ£¬ÐÔÄÜ»¹²»´í¡£
¡¡¡¡¹ØÓÚNERDA
¡¡¡¡NERDAÊǵ¤ÂóС±¨Ekstra BladetÔÚ“ÐÂÎÅÖÇÄÜÆ½Ì¨£¨PIN£©”¿ª·¢»î¶¯ÖеÄÒ»²¿·Ö³É¹û¡£PINÊÇÒ»¸öÒµ½çÑо¿ÏîÄ¿£¬ºÏ×÷·½°üÀ¨µ¤Âó¼¼Êõ´óѧ£¬¸ç±¾¹þ¸ù´óѧºÍ¸ç±¾¹þ¸ùÉÌѧԺ£¬»ñµÃÁ˵¤Âó´´Ð»ù½ðµÄ×ÊÖú¡£¸ÃÏîÄ¿µÄÆðֹʱ¼äΪ2020ÄêÖÁ2023Ä꣬ÓÃÓÚÑз¢ÐÂÎÅ·¢²¼µÄÍÆ¼öϵͳºÍ×ÔÈ»ÓïÑÔ´¦Àíϵͳ£¬Æä²¿·ÖÑо¿³É¹ûÒÑ¿ªÔ´£¬ÈçNERDA¡£
¡¡¡¡ÔÎıêÌ⣺
¡¡¡¡Easy Fine-Tuning of Transformers for Named-Entity Recognition
¡¡¡¡https://towardsdatascience.com/easy-fine-tuning-of-transformers-for-named-entity-recognition-d72f2b5340e3
¡¡¡¡²Î¿¼×ÊÁÏ£º
¡¡¡¡https://github.com/ebanalyse/NERDA
¡¡¡¡https://huggingface.co/
¡¡¡¡https://pytorch.org/
¡¡¡¡https://github.com/google-research/bert
¡¡¡¡“DaNE: A Named Entity Ressource for Danish”, Hvingelby et. al (2020)£ºhttp://www.lrec-conf.org/proceedings/lrec2020/pdf/2020.lrec-1.565.pdf
¡¡¡¡https://github.com/google-research/electra
¡¡¡¡https://towardsdatascience.com/what-are-transformers-and-how-can-you-use-them-f7ccd546071a
¡¡¡¡https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270
¡¡¡¡https://towardsdatascience.com/understanding-electra-and-training-an-electra-language-model-3d33e3a9660d