日本語要約の手法・サービスのまとめ
Posted on Wed Mar 9 2022
| 2 min
| 919 words
|
- 日本語文章の自動要約について調べたのでまとめておく
- 原文から一部を選択的に抜粋する抽出型と機械翻訳のように対応する要約文を生成する生成型がある
- またウェブで公開されている要約サービスもある
生成型要約
モデル
- DNN 言語モデル
- BERTの文脈から派生した要約手法が多い
- BART
- T5
- 学習をすべて自然言語で設定して行うことで複数のタスクへと柔軟に対応する、というコンセプトのモデル
- T5がhugging face で公開されたモデルをファインチューニングして使うことが割と手軽にできた
- 要約だけでなく単語の分散表現を得ることにも使える
- 整数計画問題
- ソルバーで厳密に解くことができる
- 無償のソルバーはpythonだとpulp, Python-MIPが選択肢になる
- 式を記述する際の挙動の軽さから私はPython-MIPを勧める
- 制約条件として文の数、文字数を指定できる
- 計算時間が短いというわけではない
- 各モデル
- 文全体が一つのトピックを扱っていると仮定して、その代表的な文を拾ってくるイメージ
- McDonaldモデル
- 最大被覆モデル
- 施設配置モデル
- 劣モジュラ最適化問題に帰着できる
- 文の類似度を計算する必要がある
- 原論文では単語の重複をスコアとしている
- ROUGEみたいな
- 2022年現在では文の分散表現を求めることもできるのでそこはケースバイケースで特徴量を選択する
- LexRank
- 文間の類似度からグラフ関係を計算して、重要な文をランキングする
- 文字数の指定はできない
- Sentence Transformersのサイトに実装例がある
- 別に文の間の類似度が出せるならSBERTでなくてもいい
サービス
- イライザダイジェスト
- 3文に要約
- 割と内容を理解した出力をする印象
- 生成型特有のゆらぎが見られる
- タンテキ(サービス終了)
関連記事
機械学習の基礎からモデルの仕組みまで体系的に学びたい方へ
[Read More]
日本語の分散表現の計算方法まとめ
Posted on Wed Mar 2 2022
| 2 min
| 647 words
|
単語単位の分散表現
- Word2vec
- 自然言語処理における分散表現の一つのオリジナル
- 基本原理くらいは知っていてもいいかもしれない
- gensimがよく使われる
- Fasttext で文書分類問題までやったった
- fastと名前がついているだけあってfacebookが公開しているモデルは高速に動作する
- 分散表現とクラス分類に対応していたり、利便性が高い
- 特にこのモデルで利用されている分かち書きの特徴から未知語に強いとされている
- 日本語Wikipediaで学習済みのBERTが公開されているので使い方メモ
- Google の検索エンジンにも採用されている、らしい
- 自然言語処理の研究を大きく変えたモデル
- 関連する技術であるTransformerは自然言語処理だけでなく、画像処理の界隈にも流用された
- huggingfaceで日本語版のBERTも色々と公開されている
- 日本語に対応したT5
- この日本語版のモデルの作者が公開しているサンプルがわかりやすい
- また同じ作者がSBERTのモデルも公開している
機械学習の基礎からモデルの仕組みまで体系的に学びたい方へ
[Read More]
日本語で学習済みのT5がhugging face で公開されたので使い方メモ
Posted on Thu Jul 1 2021
| 8 min
| 3741 words
|
T5(Text-To-Text Transfer Transformer) とは
- 事前学習における入出力を文に統一してしまうことで、
複数の形式の問題に対しても適応できる様式となった。
- モデルの基本構造としては Transformer が使われており、その点はBERTと共通している。
- 事前学習の形式をすべてテキストによる指定にするというアイデアはGPT-3などでも用いられている。
- 0 shot learning など入力文で模範解答例を入力するだけで、出力を操作するということも行われている
- “操作の指定:入力文1、出力に期待する文、操作の指定:入力文2"で、“出力文2"が得られるという次第
できること
- 下流のタスクとして転移学習を行うことで以下のようなことが実行できる。
機械学習の基礎からモデルの仕組みまで体系的に学びたい方へ
[Read More]
word2vecでteratailの検索システムっぽいものを作る
Posted on Fri Apr 16 2021
| 1 min
| 169 words
|
概要
分散表現を用いた検索システムを作る。
- teratailから質問をスクレイピングする。
- スクレイピングした文章をもとにword2vecを学習する。
- word2vecによって得られた分散表現をもとにcosine similarityを計算して、クエリと質問文の類似度を得る。
- 類似度をもとにソートする。
ソース
関連書籍
[Read More]
アテンションを用いた画像処理モデルの作成
Posted on Thu Apr 8 2021
| 3 min
| 1216 words
|
アテンションを用いた画像処理モデルの作成のまとめ
画像認識にアテンションという機構を付与して、判断の根拠を可視化しました。
前振り
画像認識についてはもう深層学習が人間を超えてから(2015)しばらく経っています。
[Read More]
AI(深層学習) を用いて観賞魚の品種識別
Posted on Thu Apr 8 2021
| 5 min
| 2108 words
|
AI を用いて観賞魚の品種識別のまとめ
-
AI はもはや普通の人間を超える性能を発揮している
-
深層学習系の手法がメジャー
-
デバイスは2 万円〜から利用が可能
前振り
仕事がらAIについて調べております。調べると言ってもプレスリリースを漁るといったものではなく、主に公開されている論文やソースコードを読みこなして自力でAIを構築できるように取り組んでいます。
[Read More]
MLops 実験開発環境の整備の必要性
Posted on Fri Feb 26 2021
| 1 min
| 240 words
|
MLops
レベル1だけでもやっとけばええんちゃうか
やること
- データの前処理と保存
- 特徴量の抽出と保存
- 分類器の学習と保存
- それぞれのパラメータの保存
利点
実験する部分や追加したい機能の切り分けがしやすくなる。
[Read More]
python janome 0.4系からstreamモードがデフォルト 解決策のメモ
Posted on Wed Feb 17 2021
| 1 min
| 193 words
|
janomeのバージョンを上げると、分かち書きの出力をgeneratorで返すようになった。
generatorはメモリ効率が良いというメリットがある一方でリストでデータを保持したいという気持ちがある。
[Read More]
tensorflow GPUメモリを一気に確保しない設定の仕方
Posted on Mon Jan 25 2021
| 1 min
| 197 words
|
TensorFlow 1系は使える全てのGPUリソースを確保する。
メモリオーバーを観測できないので、
逐次的にGPUメモリを確保するように設定を変更する。
これによってGPU使用量の観測ができる。
[Read More]
deeplubcut 動画を対象にした点の位置の予測
Posted on Sun Jan 24 2021
| 1 min
| 145 words
|
点のアノテーションの予測
- 蝿の腹、マウスの脊椎、指の関節など応用範囲が広い。
- 動画でできてる。デモがある。
- 動画の特徴量抽出はResNet, mobileNetなど
- Mobile Netでできるならエッジコンピューティングが視野に入る
- ラズパイ+GPUみたいな構成
参考リンク
https://github.com/DeepLabCut/DeepLabCut
[Read More]