日本語要約の手法・サービスのまとめ

  • 日本語文章の自動要約について調べたのでまとめておく
  • 原文から一部を選択的に抜粋する抽出型と機械翻訳のように対応する要約文を生成する生成型がある
  • またウェブで公開されている要約サービスもある

生成型要約

モデル

  • DNN 言語モデル
    • BERTの文脈から派生した要約手法が多い
    • BART
    • T5
      • 学習をすべて自然言語で設定して行うことで複数のタスクへと柔軟に対応する、というコンセプトのモデル
      • T5がhugging face で公開されたモデルをファインチューニングして使うことが割と手軽にできた
      • 要約だけでなく単語の分散表現を得ることにも使える
  • 整数計画問題
    • ソルバーで厳密に解くことができる
      • 無償のソルバーはpythonだとpulp, Python-MIPが選択肢になる
      • 式を記述する際の挙動の軽さから私はPython-MIPを勧める
    • 制約条件として文の数、文字数を指定できる
    • 計算時間が短いというわけではない
      • 定式化の問題か?
    • 各モデル
      • 文全体が一つのトピックを扱っていると仮定して、その代表的な文を拾ってくるイメージ
      • McDonaldモデル
      • 最大被覆モデル
      • 施設配置モデル
        • 劣モジュラ最適化問題に帰着できる
        • 文の類似度を計算する必要がある
        • 原論文では単語の重複をスコアとしている
          • ROUGEみたいな
          • 2022年現在では文の分散表現を求めることもできるのでそこはケースバイケースで特徴量を選択する
  • LexRank
    • 文間の類似度からグラフ関係を計算して、重要な文をランキングする
    • 文字数の指定はできない
    • Sentence Transformersのサイトに実装例がある
      • 日本語に適用するには多少の修正が必要になる
    • 別に文の間の類似度が出せるならSBERTでなくてもいい
      • ROUGE, USEなど

サービス

  • イライザダイジェスト
    • 3文に要約
    • 割と内容を理解した出力をする印象
    • 生成型特有のゆらぎが見られる
      • 不自然な箇所に句読点など
  • タンテキ
    • 3文に要約
    • 抜粋型か?

参考文献

word2vecでteratailの検索システムっぽいものを作る

概要

分散表現を用いた検索システムを作る。

  1. teratailから質問をスクレイピングする。
  2. スクレイピングした文章をもとにword2vecを学習する。
  3. word2vecによって得られた分散表現をもとにcosine similarityを計算して、クエリと質問文の類似度を得る。
  4. 類似度をもとにソートする。

ソース

teratail_w2v_question.ipynb

[Read More]

アテンションを用いた画像処理モデルの作成

アテンションを用いた画像処理モデルの作成のまとめ

画像認識にアテンションという機構を付与して、判断の根拠を可視化しました。

前振り

画像認識についてはもう深層学習が人間を超えてから(2015)しばらく経っています。

[Read More]

AI(深層学習) を用いて観賞魚の品種識別

AI を用いて観賞魚の品種識別のまとめ

  1. AI はもはや普通の人間を超える性能を発揮している

  2. 深層学習系の手法がメジャー

  3. デバイスは2 万円〜から利用が可能

前振り

仕事がらAIについて調べております。調べると言ってもプレスリリースを漁るといったものではなく、主に公開されている論文やソースコードを読みこなして自力でAIを構築できるように取り組んでいます。

[Read More]

Macでブログを作成するためにhugoのインストールから公開までの作業手順について

hugoを導入するにあたってのメモ

ブログを静的ジェネレータであるhugoを使って作成し、 Netlifyを使ってデプロイする。

環境

  • Mac OS Big Sur
    • home brew インストール済み

ローカルの作業

hugoのインストール

brew install hugo

hugoでプロジェクトの作成

hugoで任意の名前のプロジェクトを作成する。 今回は"quickstart"とした。

[Read More]

vue でモーダルウィンドウに複数の種類のコメントを表示する

vue でモーダルウィンドウに複数の種類のコメントを表示する

postItem変数を介して、親から子へと情報をやり取りする。

コードサンプル

親js

  
new Vue({  
  
data:{postItem},  
methods:{  
  
openModal: function (item) {  
      console.log("openModal "+item)  
      this.showContent = true  
      this.postItem = item  
      console.log("this.postItem "+this.postItem)  
    },  
closeModal: function () {  
      console.log("closeModal")  
      this.showContent = false  
    },  
}  
})  
  

子js

[Read More]

ギターの練習のために演奏動画を撮影、Macの iMovieで動画の音量調整、オーディオ抽出する

楽器の練習、私の場合はソロギターの練習のために動画の撮影を行うことにした。

撮影はフォームや自分の演奏を客観的に聴くために有効だ。

ただ撮影に手間がかかるのでは、 練習から手が遠のいてしまう。

[Read More]

vue.jsでtodoリスト作成したった

ウェブアプリを練習で作りたくなったのでtodoアプリを作ってデプロイした。

手順などを記録しておく。

開発環境

macOS

firebase cli のインストール

npm install -g firebase-tools

多分yarn add でも可

todo list の作成

vueとjavascriptについてはまだあんまり理解していない。

[Read More]