Ahogrammer

Deep Dive Into NLP, ML and Cloud

ユーザ生成型医療テキストのスペル修正

ACL 2019より以下の論文を紹介。 Lexical Normalization of User-Generated Medical Text この論文では、ユーザ生成型の医療テキストに対するスペル修正を行う手法を提案している。ユーザ生成型の医療テキストとは、たとえばTwitterでつぶやかれた健康情報や…

個人の健康に関するTweetか否かの分類を行う手法

ACL 2019より以下の論文を紹介。 Figurative Usage Detection of Symptom Words to Improve Personal Health Mention Detection この論文では、与えられた文が個人の健康状態に関する言及(PHM: Personal Health Mention)を含むか否かを分類する手法を提案…

固有表現認識と品詞タグ付けに対するドメイン適応を教師なしで行う

EMNLP 2019より以下の論文を紹介。 Unsupervised Domain Adaptation of Contextualized Embeddings for Sequence Labeling この論文は、系列ラベリングのドメイン適応を教師なしで行う手法を提案している。ELMoやBERTなど文脈を考慮した分散表現を生成するモ…

BERTを使った系列ラベリングの高速化

EMNLP 2019より以下の論文を紹介。 Small and Practical BERT Models for Sequence Labeling この論文では、系列ラベリングタスクに対するBERTの高速化と多言語転移性能の検証を行っている。BERTが良い性能を出すことはわかっているが、モデルのサイズが大き…

固有表現認識のデータセットをWikipediaから自動作成する手法

ACL 2017より以下の論文を紹介。 Cross-lingual Name Tagging and Linking for 282 Languages 先日、以下の記事の中で、サブワードを使って固有表現認識を行う際にどのサブワードの分散表現を使うのが良いのか検証した論文を紹介した。今日紹介する論文はそ…

固有表現認識にはどのサブワードの分散表現が有効なのか?

ACL 2019より以下の論文を紹介。 Sequence Tagging with Contextual and Non-Contextual Subword Representations: A Multilingual Evaluation この論文では、2つの系列ラベリングタスク(固有表現認識と品詞タグ付け)に対して、3つのサブワードの分散表現…

TensorFlow Textを使ってテキストのトークン化をする

自然言語処理で欠かせない処理にテキストのトークン化があります。テキストをトークン化することで、その後のボキャブラリの構築やID化の処理を行うことができるようになります。本記事では、トークン化をTensorFlow Textの機能を使って実現する方法について…

アクティブラーニングを使って固有表現のアノテーション数を25%にする

ICLR 2018より以下の論文を紹介。 Deep Active Learning for Named Entity Recognition この論文では、固有表現認識向けのアクティブラーニング手法を提案している。最近の固有表現認識ではディープなモデルが使われる。そういったモデルではラベル付きのデ…

実践!固有表現認識 ~Flairを使って最先端の固有表現認識を体験しよう~

自然言語処理の分野で昔から研究され、実際に使われている技術として固有表現認識があります。固有表現認識は、テキスト中で固有表現が出現する位置を特定し、人名や地名などのラベルを付与するタスクです。情報抽出や質問応答、対話システムなどへの幅広い…

単語分散表現の履歴を使って固有表現認識の性能を向上させる

NAACL 2019より以下の論文。あのAkbikの手法がパワーアップして帰ってきた! Pooled Contextualized Embeddings for Named Entity Recognition この論文では、固有表現認識を行う際に、今までの認識に使った単語の分散表現を記憶しておき、その情報を使って…

TensorFlow Datasetsを使ってテキストの分かち書きとID化をする

自然言語処理で欠かせない前処理としてテキストの分かち書きとID化があります。分かち書きはテキストを分割するプロセスであり、文字や単語、サブワードといった単位でテキストを分割します。これらの分割後の要素はトークンと呼ばれます。一方、ID化はトー…

誤ったラベル付けが含まれるデータセットで学習させる固有表現認識手法

EMNLP 2019より以下の論文を紹介。モデルに依存しない手法なのがとても良い。 CrossWeigh: Training Named Entity Tagger from Imperfect Annotations この論文では、誤ったラベル付けが含まれるデータセットから固有表現認識のモデルを学習させる方法を提案…

グローバルなコンテキストを使って固有表現認識の性能を改善する

ACL 2019より以下の論文を紹介。 GCDT: A Global Context Enhanced Deep Transition Architecture for Sequence Labeling この論文では、文レベルのグローバルな文脈表現を利用した系列ラベリングのモデルを提案している。従来、品詞タグ付や固有表現認識、…

近傍検索によって解く固有表現認識と品詞タグ付け

ACL 2019より以下の論文を紹介。こういう系列ラベリングのやり方もあるか、と思った一本。 Label-Agnostic Sequence Labeling by Copying Nearest Neighbors この論文では、入力文中のトークンをラベルの付いたデータベース中のトークンに対して近傍検索を行…

英語からの転移学習で日本語固有表現認識の性能を向上させる

NAACL 2019より以下の論文を紹介。 Cross-lingual Transfer Learning for Japanese Named Entity Recognition この論文では、英語の固有表現認識のデータセットを使って学習させたモデルを転移学習させることで、日本語の固有表現認識の性能向上を行う手法を…

ラベルの欠けているデータセットから固有表現認識のモデルを学習させる

NAACL 2019より以下の論文を紹介。 Better Modeling of Incomplete Annotations for Named Entity Recognition この論文は不完全なアノテーションの付いているデータから固有表現認識を行う論文。背景として、我々が固有表現認識のモデルを学習させる際は学…

アノテーションスキーマが異なる複数のデータセットを組み合わせて固有表現認識

ACL 2019より以下の論文を紹介。少し長め。 A Joint Named-Entity Recognizer for Heterogeneous Tag-sets Using a Tag Hierarchy この論文は、異なるタグの付いたデータセットを組み合わせて固有表現認識を行う話。手法としては、異なるデータセットに出現…

言語が混在したソーシャルメディアの固有表現認識

ACL 2019より以下の論文を紹介。今後、意外と必要になるかもしれないので取り上げた。 Corpus Creation and Analysis for Named Entity Recognition in Telugu-English Code-Mixed Social Media Data この論文では、テルグ語と英語が混じったソーシャルメデ…

固有表現辞書を使って固有表現認識の性能を向上させる

ACL 2019より以下の論文を紹介。 Towards Improving Neural Named Entity Recognition with Gazetteers この論文は、固有表現辞書を使って固有表現認識の性能を向上させる手法を提案した論文。手法としては、BiLSTMの最終層にHybrid Semi-Markov CRFs(HSCRFs…

低リソースかつノイジーなテキストに対する固有表現認識

ACL 2019より以下の論文を紹介。 Towards Robust Named Entity Recognition for Historic German この論文は、昔のドイツ語(1700年〜1900年くらい)に対する固有表現認識を行った論文。「昔のドイツ語の固有表現認識になんか興味ねーよ」と思うかもしれないが…

多言語BERTの多言語転移性能はどのくらいなのか?固有表現認識と品詞タグ付けで示してみた。

ってことで、ACL 2019より以下の論文を紹介。著者のサイトにスライドが公開されていたのでそちらも載せておく。 【論文】How Multilingual is Multilingual BERT? 【スライド】How Multilingual is Multilingual BERT? 多言語BERTは言語間の転移で優秀な性能…

多言語BERTを言語ごとにチューニングして固有表現認識の性能を向上させる

ACL 2019より以下の論文を紹介。 Tuning Multilingual Transformers for Language-Specific Named Entity Recognition この論文は、ロシア語、チェコ語、ブルガリア語、ポーランド語に対する固有表現認識をBERTを使って解いた論文。Googleの公開している多言…

入れ子になった固有表現認識のデータセット

ACL 2019より以下の論文を紹介。 NNE: A Dataset for Nested Named Entity Recognition in English Newswire この論文は、入れ子になった固有表現認識のデータセットを提案した論文。現在、一般的によく使われている固有表現認識のデータセットがフラットな…

辞書と生テキストから固有表現認識のモデルを学習させる

書いている本も山場を超えたので、ACL 2019の論文をパラパラと見ていたところ、以下の論文を発見。 Distantly Supervised Named Entity Recognition using Positive-Unlabeled Learning この論文がどういう論文なのかというと、辞書と生テキストだけを使って…

バイオ医療分野と固有表現認識

最近、職場の同僚が「医療/製薬分野に自然言語処理を使えないか」というような話をしていた。私自身はその分野にそれほど関心が高かったわけではないが、固有表現認識系の論文で医療/化学ドメインに対する取り組みが行われているのは今までに目にしていた。…

入門 AWS Step Functions

最近は仕事の一つとして、機械学習用のワークフローを作成しています。ワークフローを作成するサービスやソフトウェアはいくつかありますが、それら中でもAWS Step Functionsを使おうと考えています。今回の記事は、AWS Step Functionsについて調べたことを…

文字ベース固有表現認識の手法たち

固有表現認識(NER: Named Entity Recognition)とは、テキストに出現する人名や地名などの固有名詞や、日付や時間などの数値表現を認識する技術です。NERはエンティティリンキングや関係抽出、イベント抽出、共参照解決といった自然言語処理タスクの要素技…

Object2vecの新機能を使って文の分散表現を計算する

前回の記事では、日本語文の分散表現を計算するためのデータセットを作成した。 hironsan.hatenablog.com 今回は、先日、SageMakerのObject2vecに追加された機能を使って文の分散表現を計算する。追加された機能には、ネガティブサンプリングの自動化、重み…

文の分散表現を計算するためのデータセットを作って公開する

先日、SageMakerのObject2vecに新機能が追加された。機能としては、ネガティブサンプリングの自動化、重み共有、学習の高速化といった機能が追加されており、以下のNotebookから試すことができる。このNotebookでは英文の分散表現の計算、モデルのデプロイ、…

Jupyter NotebookがGitHub上で表示されない時にすること

機械学習に携わる人であればJupyter Notebookは頻繁に使うツールであり、共有するときにはGitHubを使うのが一般的だろう。GitHubにはブラウザ上でNotebookをレンダリングする機能があり、地味に便利なのだが、ときたまレンダリングされないNotebookが存在す…