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

概要

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

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

ソース

teratail_w2v_question.ipynb

[Read More]

ポートフォリオ

実績

🚀 最新プロジェクト(2023-2025)

フルスタックWebアプリケーション

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

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

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

開発環境

macOS

firebase cli のインストール

npm install -g firebase-tools

多分yarn add でも可

todo list の作成

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

[Read More]

AppSheet でゲーミフィケーション要素のあるtodoのアプリをつくったった

  • ノーコードでtodoアプリを作った。
  • その過程とハマったところを記録しておく。

ゲーミフィケーション

  • ゲーム感覚で日常のタスクをこなしていこう、というもの。
  • ゲーム感覚で楽しく取り組むための工夫についての学問がゲーミフィケーション。
  • その基本的なポイントとして報酬とペナルティがある。
  • 人間はスコアアタックに魅力を感じて、スコアをロストすることに嫌悪感を覚える
  • その習性を利用して日常の習慣をゲームにする。

ゲーム化したいこと

  • 私はストーリーに興味がある。RPGをやっていてもお話やキャラ同士の掛け合いに強く関心を持っていた。テイルズオブシリーズとか大好きだった。
  • そこで自分でもストーリーを作れるようになりたい。
  • その練習として即興小説を毎日書くモチベーションを作りたい。

ゲームの骨子

  • ゲームの内容としては、即興小説を毎日書くとスコアアップして、サボるとスコアがリセットされるようにしたい。

ノーコードでアプリ作成

  • 一度アプリ作成に取り組んでみたかった。
  • 私に現時点でアプリ作成の技能や知識はないので、その点を補助するツールが必要になる。
  • そこでノーコードでアプリを作成できるツールを見つけた。AppSheetだ。

AppSheet

  • Google が買収したことで話題になったノーコードでアプリを作成できるサービス。
  • 公式にデプロイするのは有料アカウントが必要になる。 個人でアプリのテストを行う間は無料なので、アプリを自分だけが使う場合には無料コースでも大丈夫。 試しに触ってみる。

手順

  • サインアップ。グーグルのアカウントを使った。
  • データからアプリを作成を選択。
  • 事前にスプレッドシートでどういう仕組みになって欲しいかを練れる。
  • スプレッドシートをアプリにするためのUIを自動で作ってくれるイメージで進められる。
  • スプレッドシートの内容をアプリにするイメージで進めていく。

完成品

  • ゲームのスコアに換算するタスクをメモする画面。
  • 達成したかどうかもメモ出来るようにした。

sFFppLC9lKbI3buFnlzA926bb3G3/X2ovK6qq9xA4xLmi.jpg

[Read More]

word2vecのアルゴリズムを把握するためにnotebookで動かしながら挙動を理解しよう

word2vecを理解しよう!

  • word2vec のアルゴリズムについて、勉強しようとして苦戦していませんか?
    • アルゴリズムの基になる発想は意外に直観的なものですが、その直観をアルゴリズムの記述から読み取るのはコツが要るかもしれません。
    • 実際に動くモデルで遊んでみて、反応をみながら感覚を掴むといいと思います。
    • 一行単位で実行できるプログラムを自分の手で動かしながら、出力を確認できると分かりやすいと思いませんか?

環境構築不要!

  • そこでGoogle Colaboratory というサービスを利用して、手軽にword2vecを動かして、アルゴリズムの仕組みを理解しましょう!
    • Google Colaboratory はGoogleが提供しているサービスです。
    • Gmailのアカウントを持っていれば環境構築の手間が省け、Googleの計算資源を利用できるものです。
  • そこでword2vecを動かせるプログラムを用意しました。
  • このプログラムは技術書典というイベントで頒布させていただき、50以上の方に利用していただきました。

購入は以下のリンクから

深層学習でニュースタイトルの自動生成モデルつくったった

  • 深層学習モデルを使って、新聞記事から見出しを自動で生成するモデルが提案されている。
  • 朝日新聞が自動要約生成APIの提供を始めました。

追記

モデル概要

  • 朝日新聞が研究に協力して取り組んでおり、transformerを基礎にして、文字数制約を組み込んだモデルが論文で提案されています。
  • さすが朝日新聞というべきか、莫大な教師データを使ってモデルの学習を行っています。
  • また文字数制約についても、位置エンコーディングを工夫することによって、指定した文字数を生成するようになったようです。
  • この辺り、フリーの言語リソースが日本語に少ないことには歯がゆさを感じます。

## ニュースタイトルの自動生成モデルの作成

[Read More]