アプリなら、コメントが見やすい!
トップへ戻る
画像生成AI
www.ai-shift.co.jp
こんにちは AIチームの戸田です 今回は最近リリースされたHuggingFaceをベースにした音声処理用のツール、HuggingSoundを使って音声認識を試してみます。 HuggingSoundはHuggingFaceが公式に出しているものではなく、リオデジャネイロ大学のJonatas Grosman氏が個人的に開発しているライブラリで、今年に入ってリリースされたばかりの新しいライブラリです。 日本語の音声認識モデルはGrosman氏がこのライブラリを使ってCommon Voice、 CSS10、 JSUTをfine-tuningしたものを公開してくれていますが、本記事ではイチからfine-tuningを試してみたいと思います データ準備 学習に使用するデータは声庭で公開されているデータを利用します。声庭は有志でアノテーションを行っている公開音声データで、利用・修正・再配布が自由なオープ
こんにちは AIチームの戸田です 今回は日本語NLPライブラリであるGiNZAのv5から実装されたTransformerモデルによる固有表現抽出を試します。 固有表現抽出とは、入力となる自然文から地名や製品名などの固有名詞を抽出するタスクです。今回固有表現抽出に使用するデータセットとして、ストックマーク株式会社が作成したWikipediaを用いた日本語の固有表現抽出データセットを使用します。また、Transformerモデルは処理に時間がかかるので、環境はGoogle ColaboratoryのGPU環境を利用しました。 事前準備 wgetを使ってデータセットをダウンロードします。 wget https://raw.githubusercontent.com/stockmarkteam/ner-wikipedia-dataset/main/ner.json 必要なpythonライブラリをダ
こんにちは、AIチームの東です。 本記事はAI Shift Advent Calendar 2021の18日目の記事です。 今回は、Heartex社が提供しているアノテーションツールであるLabel StudioとGCP上でのデプロイの手順について紹介していきます。 近年、テキスト翻訳や対話アシスタントなど、深層学習を用いたプロダクトやサービスが多くみられるようになりました。 しかし、一般にそのような大規模なモデルを利用するには入力データ(音声、画像、テキスト等)とその正解ラベル(発話内容、画像の説明文、翻訳結果等)が大量に必要になります。モデルの学習に利用する入力データと正解ラベルの組を作成する作業をアノテーションと呼び、現在様々なアノテーションツールが開発、提供されています。 Label Studioはそんなアノテーションツールの一つで、画像やテキスト、音声など様々な形式のデータを対象
こんにちは AIチームの戸田です 本記事では前回に引き続き、私がKaggleのコンペティションに参加して得た、Transformerをベースとした事前学習モデルのfine-tuningのTipsを共有させていただきます 前回は学習の効率化について書かせていただきましたので、今回は精度改善について書かせていただきます データ 前回に引き続きKaggleのコンペティション、CommonLit-Readabilityのtrainデータを使います validationの分け方などは前回の記事を参照していただければと思います 一般的なニューラルネットワークモデルの精度改善方法として、ハイパーパラメータのチューニングやData Augmentationが上げられますが、ここではBERTを始めとするTransformerをベースとしたモデル(以降Transformerモデル)特有の工夫について紹介したい
こんにちは AIチームの戸田です 近年、自然言語処理タスクにおいて、BERTを始めとするTransformerをベースとした事前学習モデルを感情分類や質問応答などの下流のタスクでfine-tuningする手法が一般的になっています huggingfaceのTransformersなど、事前学習モデルを簡単に使うことのできるライブラリもありますが、Kaggleなどのコンペティションで上位に入るには素のモデルのままでは難しく、ヘッダや損失関数などの工夫などが必要です 本記事では私がKaggleのコンペティションに参加して得た、事前学習モデルのfine-tuningのTipsを共有させていただきます 書きたい内容が多くなってしまったので、今回は学習の効率化について、次回精度改善について、と2回に分けて書かせていただきます 事前準備 学習データとして、先日終了したKaggleのコンペティション、C
こんにちは、Development Teamの三宅です。 先日、社内(AI事業本部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業本部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLやRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基本的には大学のデータベース講義で
こんにちは AIチームの戸田です 今回はこちらのブログを見て知った、Transformerを使ったデータの増強(Data Augmentation)を、先日の記事でも使ったWRIMEの簡易データで試してみたいと思います。 元記事の要約 多くの 自然言語処理タスクでは、ラベル付きの訓練データが不足しており、その取得にはコストがか かります。これに対処するために様々なData Augmentationが提案されています。一般的なものとして、辞書に基づいて単語を同義語に置き換えたり、別の言語に翻訳して戻したりする手法があります。この記事では、BERT のような言語モデルに基づく事前学習モデルをしようするアプローチについて紹介します。こちらの論文で示されている以下のアルゴリズムを使います。 1行目のFine-tuneのフェーズをスキップして、事前学習モデルから直接生成ステップに入ります。生成では各
こんにちは AIチームの戸田です 先日、huggingfaceのAutoNLPで日本語が扱えるようになりました。 こんにちは日本 ! 🤗 AutoNLP supports Japanese NOW!!! This means you can now train binary classification, multi-class classification, entity recognition, summarization and speech recognition models for Japanese using AutoNLP 🎉🎉! Check it out here: https://t.co/HyjPGE2eEA pic.twitter.com/VWfYmj9flQ — abhishek (@abhi1thakur) April 21, 2021 今回はAutoNL
TOPTECH BLOG【Kaggleコンペふりかえり】Riiid! Answer Correctness Prediction こんにちは AIチームの戸田です 本記事では本日終了した、KaggleのコンペRiiid! Answer Correctness Predictionのふりかえりを行いたいと思います。 開催中のテーブルデータコンペにまともに取り組んだのが初めてなので、もし間違いなどございましたらご指摘いただければと思います。 コンペ概要 オーナーはRiiidLabsという韓国のAIスタートアップで、Santa TOEICというTOEICの学習アプリを提供しています。今回扱うデータもこのアプリのものだと思われます。 コンペティションでは、ユーザーが出された問題に正解できるかを、ユーザーの行動履歴から予測します。気をつけたいのは、単純にある問題に対して回答できるかの予測ではなく、ユ
こんにちは AIチームの戸田です 先日、KaggleのCornell Birdcall Identificationというコンペに参加し、参加報告ブログを掲載させていただきました。使用した手法にこちらのライブラリを使ったノイズ除去を用いていたのですが、今回その内部の働きを勉強したので共有させていただきたいと思います。 使用されていた手法はスペクトラルノイズ除去と呼ばれるそうで、ノイズ部分の信号をもとの音源から差し引くことでクリアな音源を実現します。モーター音や風の音など、固定ノイズや緩やかに変化するノイズの除去に効果的です。 Audacityというフリーソフトでも内部で使われています。 以下から実際にpythonでの実装を通じてスペクトラルノイズ除去の処理の流れを解説していきたいと思います。 データはCornell Birdcall Identificationのデータの一つである以下の音
こんにちは AIチームの戸田です 本日、KaggleのコンペCornell Birdcall Identificationが終了しました。私も参加していたのですが、結果は167位で、残念ながらメダル獲得には至りませんでした。とはいえ初めてきちんと取り組んだ音声データを扱ったコンペティションで、色々学びがありましたので今回はそのふりかえりをしたいと思います。 コンペ概要 鳴き声から鳥の種類を推定する音声処理タスクとなっています。スコアはmicro averaged F1で計算します。 今回のポイントは以下の3点だと考えています 1. “nocall”の予測 対象クリップ内に鳥の声が存在しない場合”nocall”というラベルをつけます。これだけならばピッチのしきい値などの対処方法があるかもしれないのですが、学習データに無い鳥の鳴き声がする場合でも”nocall”と予測する必要があります。 2.
こんにちはAIチームの友松です。 本記事では、ElasticsearchでSudachiとベクトル検索を組み合わせて使う方法について2回に分けて解説を行いたいと思います。今回はSudachi導入までを行いたいと思います。 Elasticsearchにおける文書検索 analyzerについて analyzerはcharacter filter, tokenizer, token filterの3つで構成されています。analyzerは文書が与えられるとcharacter filter → tokenize → token_filterの順で解析を行います。 character filter character filterはtokenizerに渡す前の前処理として文字ベースのfilterを行います。組み込みのcharacter filterは現時点で3つ存在します。 mapping-char
こんにちは、AIチームの友松です。前回はElasticsearchにanalysis-sudachiを組み込み、挙動を確認するところまで書きました。今回はさらにベクトル検索機能を追加し、両方を組み合わせて使用します。 ベクトル化サーバーの構築 ベクトル化検索にはBERTを用います。 こちらの記事を参考にさせていただきました。 https://github.com/Hironsan/bertsearch https://qiita.com/shimaokasonse/items/97d971cd4a65eee43735 ベクトル化サーバでは文章をrequestとして送るとBERTのベクトルが返却されます。ベクトル化サーバーはbert-as-serviceによって実現します。最終的なディレクトリ構造は以下のようになります。elasticsearch部分は前回の記事と同じ構成です。ここではber
こんにちは、AIチームの杉山です。 前回の記事ではFlairによる固有表現抽出を用いて個人情報のマスキングを行い、その精度を確認しました。 しかし、学習データを自分でアノテーションして作成する必要があることからデータ数を大量に用意することができず精度が今ひとつとなってしまいました。 そんな折、日本語自然言語処理オープンソースライブラリであるGiNZAのver.3.0.0(執筆時点での最新は3.1.2)がリリースされました。リリースノートを眺めていると、以下の記述が目に留まりました。 解析モデルの改良固有表現抽出モデルの訓練コーパスを GSK2014-A (2019) BCCWJ版(新聞系文書を除外)に変更固有表現抽出精度が再現性・適合性の両面で大きく向上token.ent_type_を関根の拡張固有表現階層のラベルに変更ginzaコマンド出力の最終フィールドにENE7属性を追加OntoNo
こんにちは、AIチームの戸田です 今回は去年Google検索に導入されたことでも話題になったBERTを使った比較実験の記事を書かせていただきます というのも昨年発表報告を書かせていただいた第10回対話シンポジウム、参加して特に印象に残ったことの一つとして、文章をベクトルに変換するモデルとして BERT^1 を使用するのが当たり前になっていたことがあります 私が遅れているだけなのかもしれませんが、とりあえず文章をベクトル化するときはBERTという雰囲気で、Word2Vecで得られた単語ベクトルをコネコネ…とやっているのは(おそらく)今回の会議では私達だけだったと思います BERTはファインチューニングにより自然言語処理の多くのタスクでState of the artを達成しましたが、単純な文書ベクトル抽出器としての能力はどうなんでしょうか? 私は手軽に文章の分散表現を得る方法としてWord2
このページを最初にブックマークしてみませんか?
『株式会社AI Shift』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く