「Googleが開発した多言語の埋め込みモデル「LaBSE」を使って多言語のテキスト分類」と題した記事を書いたところ、「Universal Sentence Encoder(以下、USE)と比べてどうなのか?」というコメントを見かけました。そこで、本記事では、多言語の埋め込み表…
自然言語処理において、テキストをその意味を考慮しつつ固定長のベクトルに変換する埋め込みモデルは重要です。文の意味をよく表現したベクトルを作ることができれば、テキスト分類や情報検索、文類似度など、さまざまなタスクで役立ちます。本記事では、Goo…
最近、AWS Lambdaをよく使っているが、その機能の一つとしてLambdaレイヤーがある。レイヤーにパッケージを取り込むことで、複数のLambda関数から使用可能になる。ビジネスロジックを共通化する、ビルドの手間を省く等の恩恵があるが、私的にはデプロイする…
最近、文章を書く機会が少なくなっているので、リハビリがてら以下の論文を紹介しよう。 Investigating the Successes and Failures of BERT for Passage Re-Ranking この論文は、BERTによるパッセージ検索がBM25と比べて、どのような状況で強いのか分析して…
一週間ほど前、AWS LambdaにElastic File System(EFS)をマウントできる機能が追加されました。この機能を使うことで、マウントしたEFS上への読み書きがLambda関数からできるようになりました。これまではLambdaの制限により、/tmpで使用可能な容量が512MB…
先日、Transformersの事前学習済みモデルをダウンロードして保存する必要があったのでその方法を紹介。 結論として、モデルのダウンロードはおなじみのfrom_pretrainedで行い、保存はsave_pretrainedで行う。 ちなみに、これをしたかった理由は、モデルをS3…
先日、Flairを使ったモデルを構築し、SageMakerのトレーニングジョブに投げたところモデルの保存で躓いた。原因を調べたところ、pickleでダンプしようとしていたオブジェクトの中に、Python 3.6ではダンプできないオブジェクトがあるようだった。そこで、Sag…
先月2月27日に、書籍『機械学習・深層学習による自然言語処理入門』を発売させていただきました。タイミングを逃して、Twitterやブログで告知することもなかったのですが、気持ちを整理するために、本記事では出版の経緯からまとめてみます。キラキラした感…
含意関係認識(Recognizing Textual Entailment: RTE)とは、2つの文1と文2が与えられたときに、文1が正しいとしたら文2も正しいか否かを判定するタスクのことです。たとえば、文1として「太郎は人間だ。」という文があるとします。この文が正しいとしたとき…
オープンドメインの情報抽出は、この10年ほどで盛んになってきた自然言語処理の一分野でOpenIE(Open Information Extraction)と呼ばれている。OpenIEでは、ドメインを限定しないテキストからタプルを抽出する。たとえば、「ホンダは本田宗一郎によって創業…
ACL 2019より以下の論文を紹介。 Reliability-aware Dynamic Feature Composition for Name Tagging この論文では、単語分散表現の信頼性を考慮した固有表現認識を行うモデルを提案している。単語分散表現は広く使われているが、低頻度語や未知語のように文…
医療分野の自然言語処理で基本となるタスクの一つにテキストからの病名の抽出があります。テキストから病名を抽出できると、たとえば、SNSのテキストから病気の流行を予測したり、広告技術と組み合わせて受診や薬の購入を促したり、対話システムと組み合わせ…
SIGIR 2019より以下の論文を紹介。NLP2019でも発表されており、わかりやすいスライド付き。 FAQ Retrieval using Query-Question Similarity and BERT-Based Query-Answer Relevance 【論文】行政対話システムにおける検索エンジンTSUBAKIとBERTを併用したFA…
ACL 2019より以下の論文を紹介。 Transfer Learning in Biomedical Natural Language Processing: An Evaluation of BERT and ELMo on Ten Benchmarking Datasets この論文では、生体医療分野の自然言語処理におけるベンチマークの提案とベンチマークに対す…
EMNLP 2019より以下の論文を紹介。 MedCATTrainer: A Biomedical Free Text Annotation Interface with Active Learning and Research Use Case Specific Customisation この論文では、MedCatTrainerと呼ばれる生体医療分野のテキストに対する固有表現認識と…
本記事ではElasticsearchとBERTを組み合わせて類似文書検索を行う方法について紹介します。Elasticsearchでは最近、ベクトルに対する類似文書検索の機能が実装されました。一方、BERTを使うことでテキストを固定長のベクトルに変換することができます。つま…
EMNLP 2018より以下の論文を紹介。 De-identifying Free Text of Japanese Dummy Electronic Health Records この論文では、日本語の電子健康記録(EHRs: Electronic Health Records)のテキストを匿名化する手法を提案している。近年、医療関連のデータが増加…
ACL 2019より以下の論文を紹介。 HITSZ-ICRC: A Report for SMM4H Shared Task 2019-Automatic Classification and Extraction of Adverse Effect Mentions in Tweets この論文は、Tweet中に出現する薬の副作用に関するメンションの分類と抽出を行う手法を提…
ACL 2019より以下の論文を紹介。 Lexical Normalization of User-Generated Medical Text この論文では、ユーザ生成型の医療テキストに対するスペル修正を行う手法を提案している。ユーザ生成型の医療テキストとは、たとえばTwitterでつぶやかれた健康情報や…
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など文脈を考慮した分散表現を生成するモ…
EMNLP 2019より以下の論文を紹介。 Small and Practical BERT Models for Sequence Labeling この論文では、系列ラベリングタスクに対するBERTの高速化と多言語転移性能の検証を行っている。BERTが良い性能を出すことはわかっているが、モデルのサイズが大き…
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つのサブワードの分散表現…
自然言語処理で欠かせない処理にテキストのトークン化があります。テキストをトークン化することで、その後のボキャブラリの構築やID化の処理を行うことができるようになります。本記事では、トークン化をTensorFlow Textの機能を使って実現する方法について…
ICLR 2018より以下の論文を紹介。 Deep Active Learning for Named Entity Recognition この論文では、固有表現認識向けのアクティブラーニング手法を提案している。最近の固有表現認識ではディープなモデルが使われる。そういったモデルではラベル付きのデ…
自然言語処理の分野で昔から研究され、実際に使われている技術として固有表現認識があります。固有表現認識は、テキスト中で固有表現が出現する位置を特定し、人名や地名などのラベルを付与するタスクです。情報抽出や質問応答、対話システムなどへの幅広い…
NAACL 2019より以下の論文。あのAkbikの手法がパワーアップして帰ってきた! Pooled Contextualized Embeddings for Named Entity Recognition この論文では、固有表現認識を行う際に、今までの認識に使った単語の分散表現を記憶しておき、その情報を使って…
自然言語処理で欠かせない前処理としてテキストの分かち書きとID化があります。分かち書きはテキストを分割するプロセスであり、文字や単語、サブワードといった単位でテキストを分割します。これらの分割後の要素はトークンと呼ばれます。一方、ID化はトー…
EMNLP 2019より以下の論文を紹介。モデルに依存しない手法なのがとても良い。 CrossWeigh: Training Named Entity Tagger from Imperfect Annotations この論文では、誤ったラベル付けが含まれるデータセットから固有表現認識のモデルを学習させる方法を提案…