[week 1-1]NLPタスクの理解


📋 概要
OntedFree on Boding ML/Dルコスの初日です.
始まる前に、今度の講座に参加する目的について話したいです.
1.コドスタッツがAIキャンプを終了した後、明確な目標を確定した.NLPエンジニアになることを決めた.
2.上のパイロットキャンプでは、チームと協力する機会が少なく、NLPに集中するプロジェクトの機会も少ない.
3.2回の残念な思いを解消できるとともに、既存のデータを処理する機会があるコースには、ぜひ参加してください!
[原句]長いと長いですが、短いと短い5週間です.普段の不足を補い、協力してくれたメンバーと一緒に成長してほしい.☺️
今日の課題の概要は以下の通りです.
  • NLPサブタスク2種類選択
  • 定義
  • 問題(解決するタスクは何ですか?)
  • タスク解決のデータ紹介/データ構造説明
  • SOTAモデル概要/このモデル論文のキーワード
  • ✍️ NLP tasks
    選択したNLPタスクはNERとテキスト分類です.まだ知らないことが多く、時間が迫っていて、モデルの構造を比較するのは難しい.ただし、このタスクを解決するために最新のモデルと、どのデータセットを使用するかを知る時間があります.
    ✔️ NER
    NERは、韓国語の「個人名識別」NLP任務だ.これは自然言語から情報を抽出するタスクの1つであり,抽出した情報はNLPの各分野に用いられる.代表的なのはchatbotです.
    問題の定義
    このタスクの目的は、コーパス内の各オブジェクトがどのタイプに属するかを識別することです.
    もし、もし
    「珍熙は昨日貢車に行って黒ミルクティーを飲んだ」
    このような文があれば、
    中には鎮渓(人名)、昨日(時間)、貢茶(場所)、黒ミルクティー(食べ物名)が入っています
    などの個体名を見分けることができます.
    タスクの解析に使用するデータの説明
    作成日基準paperswithcodeのうち、NER部分が最も上位のモデルで使用されるデータセットを紹介する.

    この画像は、Huggingfaceが提供するCoNLL-2003 datasetプレビューです.
    各列はtokenおよびその文の一意id、語類タグ(pos tags)、ブロックタグ(block tags)、および個体名タグ(ner tags)から構成される.
    各タグは整数にマッピングされ、任意の語類、ブロック、およびオブジェクト名がどの数値にマッピングされるかは、上のリンクを参照してください.
    一例
    {
        "chunk_tags": [11, 12, 12, 21, 13, 11, 11, 21, 13, 11, 12, 13, 11, 21, 22, 11, 12, 17, 11, 21, 17, 11, 12, 12, 21, 22, 22, 13, 11, 0],
        "id": "0",
        "ner_tags": [0, 3, 4, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        "pos_tags": [12, 22, 22, 38, 15, 22, 28, 38, 15, 16, 21, 35, 24, 35, 37, 16, 21, 15, 24, 41, 15, 16, 21, 21, 20, 37, 40, 35, 21, 7],
        "tokens": ["The", "European", "Commission", "said", "on", "Thursday", "it", "disagreed", "with", "German", "advice", "to", "consumers", "to", "shun", "British", "lamb", "until", "scientists", "determine", "whether", "mad", "cow", "disease", "can", "be", "transmitted", "to", "sheep", "."]
    }
    これらのトークンでは、以下のようにEuropeanについて検討した.
  • pos tags:22:NP
  • ner_tags : 3 : B-ORG(ORG:Organization)
  • chunk_tags : 12 : I-NP(NP:Noun Phrase)
    △ブロックがフレーズに相当すると考えると分かりやすいことに注意してください.
  • ラベルを貼ったコインでNER作業を学ぶことができます.
    また、韓国語のデータセットも調べた.
    これもHugging Faceで見つかったkor_nerデータセットです.

    全文記事と注釈テキストが追加されたほか、上記のデータセットと同様です.詳細はリンクを参照してください.
    SOTAモデルの紹介

    ACE+document-contextはアリババグループが発表した論文Automated Concatenation of Embeddings for Structured Predictionで提案されたモデルである.

    上図に示すように、NER、TAG、Chunningなどの作業では極めて上位を占めている.
    論文の主なキーワードは以下の通りである.
  • Automated Concatenation of Embeddings (ACE)
  • neural architecture search (NAS)
  • Transformer
  • LSTM
  • embedding concatenations
  • ✔️ Text Classification
    文字通りtextをcategoryを指定したNLP taskに分類します.NLPのsebtaskの中で最大の分岐とも考えられているため,このタスクについて知ることにした.
    △分類問題では、主に非常に古典的なモデルを使用しているので、最新の深さ学習モデルが何なのか知りたいです.
    問題の定義
    実は上で説明したのです.targetになるcategoryは、選択した問題とデータセットに依存します.
    たとえば、メールがスパムであるか、スパムでないかを分類するバイナリ分類タスクがあります.
    映画のストーリーによって、この映画がどんなタイプの任務なのかを分類することができます.
    タスクの解析に使用するデータの説明
    これも製作日基準paperswithcodeでNER部分が最も上位のモデルで使用されたデータセットである.

    この画像は、Kaglomeに登録されているAG Newsデータセットのプレビューです.
    3列からなり、ニュース記事のclassインデックスとニュース記事のtitle、descriptionからなる.
    クラス:1:World,2:Sports,3:Business,4:Sci/Techの計4つ.
    では、これらのデータがどのように分類されているかを見てみましょう.
    SOTAモデルの紹介

    XLNetは、XLNet: Generalized Autoregressive Pretraining for Language Understandingで推奨されるモデルです.

    このモデルはテキスト分類において高い性能を有するだけでなく,他のタスクにおいても高い性能を有する.XLNetはBERTで使用されるオートエンコーダ(AE)とGPTで使用されるAR(auto-regression)の利点を組み合わせたモデルであり,論文によれば20タスク(問答,感情分析など)においてBERTよりも大幅に優れている.
    論文の主なキーワードは以下の通りである.
  • AR(auto-regressive)
  • AE(auto-encoder)
  • BERT
  • Transformer
  • masking
  • 🌈 Reference
  • NASモデル論文コメント
  • AEとAR