tossy diary

日常の記録を残す

タグの階層を使って異なるタグセットを活用する固有表現認識

ACL 2019の論文。

www.aclweb.org

概要

  • アノテーションスキーマが異なる複数のデータセットを組み合わせて固有表現抽出をしたい。

  • 異なるデータセットに出現するタグセットからタグの階層を人手で定義して、その階層構造をNERに利用する。

  • ベースラインモデルはneural NER(Lample et al.2016)

 ベースライン1(M_Concat):全ての学習データの連結→粒度が異なるタグも一緒になってしまう問題がある(例) City vs. Address

 ベースライン2(M_Indep):セパレートモデル→各タグで学習し、2つのモデルを作成。最終的な2つのモデルの出力を統合する必要がある。

 ベースライン3(M_MTL):マルチタスキング→テキスト表現を共有し、タスク毎に適用できる。こちらも最終的なモデルの結果を統合する必要がある。

提案手法

M_Hier:タグの階層性を用いることで上記のベースラインのモデルの課題を解決する。 f:id:sktshk:20210621232019p:plain 提案手法では一番粒度の小さいFine-grainedタグのみを推測する。出力をタグセットに応じて変換する。例えば、Streetを推測した場合はタグセットに応じてLocationへ変換する

結果

医療用データセットI2B2'06I2B2'14で学習。 f:id:sktshk:20210621232404p:plain F1-scoreで評価。結果としてM_Hierがどちらのデータセットでも良い結果となった。また、Physioでは一番良い精度となった。 ベースラインはいずれもコリジョンが起きたため、精度が落ちたと考えられる。

参考

hironsan.hatenablog.com

HuggingFace Transformers Course(1章)

2017年に「[1706.03762] Attention Is All You Need」が出されて以降、Transformer(パーツはAttention)を使った手法が現在の自然言語処理の主流の手法となっている。 Transformerの実装ではHugging Faceのライブラリを使うことが多いのでこの機会に体形立てて学習しておくと良いだろう。 オンラインコースの参考になった部分について紹介していく。 各章の最後には章の内容に関するクイズがあるので理解を深めることができる。

huggingface.co

1章 : Transformer models

1章はTransformerモデルの説明が書かれている。

NLP(Natural Language Processing)とは何かというところからNLPで解決したい各タスクに対してTransformersライブラリのpipelineを使ったコードとともに記載されている。 例えば、以下のようなタスクに対して適用できる。

  • 特徴選択 : feature-extraction (get the vector representation of a text)
  • マスク当て : fill-mask
  • 固有表現抽出 : ner (named entity recognition)
  • 質問応答 : question-answering
  • 感情分析 : sentiment-analysis
  • 文章要約 : summarization
  • 文章生成 : text-generation
  • 翻訳 : translation
  • ゼロショット分類 : zero-shot-classification

Tranformerの歴史

Transformerの歴史の図 https://huggingface.co/course/static/chapter1/transformers_chrono.png

Transformerモデルは以下のような3つの種類に分けることができる。

  • GPT-like(auto-regressive)
  • BERT-like(auto-encoding)
  • BART/T5-like(sequence-to-sequence)

GPT-likeのモデルはTransformerのDecoderを用いている。 文章生成のような生成タスクにおいてDecoderを使うと良い。

BERT-likeのモデルはTransformerのEncoderを用いている。 BERT-baseは12層のTransformerのEncoder部分(BertLayerモジュール)を使っている。 文章分類や固有表現抽出のようなインプットの理解が必要なタスクに使うと良い。

BART/T5-likeのモデルはTransformerのEncoder-Decoderの両方を用いている。 翻訳や文章要約のようなインプットを必要とする生成タスクではEncoder-Decoderの両方を用いる

以下の表がモデルと例、タスクを整理しておりわかりやすい。 f:id:sktshk:20210619230008p:plain

EncoderとDecoder

Encoderは図の左の部分、Decoderは図の右の部分。

オリジナルのTransformerのアーキテクチャの図は以下。 https://huggingface.co/course/static/chapter1/transformers.png

ACMの会員ならオライリー本が読み放題

オライリーの本って一冊3,000円から4,000円するのでお小遣いの範囲だとなかなか手を出しづらいですよね。

そこで安く買えないかなとか、探したところ、ACMの会員であればオライリー本が読み放題だということを知りましたので使ってみました。

使い方

ACMのページの右上のオライリーのリンクを押下 f:id:sktshk:20210606180525p:plain

その後、ID、パスワードを入力する欄があるので、ACMのID、パスワードを入れるとログインができる。

f:id:sktshk:20210606180725p:plain

その後、日本語の書籍も探すためにSettings > Language Preferencesで日本語を選択すると良いでしょう。

本だけでなく、動画やライブイベントなどもみれるようです。

参考

ACMの会員になってオライリーのサブスクを堪能している話 - Qiita

Google Siteのリンク先がリダイレクトされる

Google Siteでサイトを持っているのだが、サイトのリンク先がリダイレクトされていることがわかった。

リンク先の設定は正しいのだが、なぜかリダイレクトされて、リンク先に飛ばされる。

調べてみると、事実としてはGoogleのサービスであれば、そのままリンクされるが、それ以外だとリダイレクトをかむようだ。

どうしたらリダイレクトをはさまずにリンクできるかはわからなかった。

2021年6月2日

毎日発信の難しさ

早速、昨日は何もかけなかった。ブログで毎日何かしらのことを書こうと思うと難しい。 会社だと日報形式でその日やった仕事のことを書けるが、それ以外の日常生活で1日の中で何かやったのかと思うと何もやっていない。

ちょっとしたミスで時間をロスするのがもったいない

最近はちょっとしたミスで時間をロスすることが多い。 例えば、pythonのコードを実行するシェルスクリプトを書いて標準出力としてリダイレクトしたい場合 ファイルがないとなぜか怒られる→引数が3個だから多すぎる? pythonコマンドラインって長さに制限がある?

結局は標準出力先の途中のディレクトリが存在していなかったり。。

他にはgit pushしようとしたけど、pushできない。 結局は本来とは違うディレクトリからpushしようとしていたり。。

結論としては単純ミスだけど、そこに至るまでの課程が悪いのかな、切り分け力が落ちているのかもしれない。

三井住友銀行のATM無料回数変更

三井住友銀行のATM無料回数変更

今日、ATMに行ってお金を下ろした際に気づいたこと。

コンビニATMを利用する際に三井住友銀行のキャッシュカードは無料で3回まで使える。

それが9/1より変更になるそうだ。

www.smbc.co.jp

7/1から新しい取引条件の判定が行われ、翌々月に優待が適用される。

取引条件を満たすことで月3回まで無料になるが、自分の場合はいずれも取引条件を満たないので 9/1以降はコンビニATMで無料で使えなくなりそうだ。結構つらい。

2021年5月30日

duolingo学習

昨日に引き続きduolingoを使って英語学習をしている。 今日は自身がクリアしていないステージがあったとしても先のチェックポイントに挑戦できるということに気づいた。 早速、先のチェックポイントに挑戦し、クリアした。 するとそのチェックポイントまでのステージに挑戦できるようになり、学習の幅が広がった。

Niziu

Niziuのダンス動画を見る機会があり見ていたが、Niziuは9人いることに今更気づいた。 ダンスを練習するなら以下が良い。


www.youtube.com

頭痛

昨日の頭痛はやはり暑い中外にいたからだろう。今日1日家にいたら、マシになった。 sktshk.hatenablog.com