タグ

2021年12月13日のブックマーク (30件)

  • Streamlitの使い方の細かいところ

    この記事は BrainPad Advent Calendar 2021 9日目の記事です。2020年頃より、機械学習エンジニアやデータサイエンティストが Python でお手軽にウェブアプリを構築できる Streamlit が流行っていて、最近では業務で使っている人も多いのではないかと思います。Streamlit は、その設計思想から、シンプルな可視化であればほとんど困ることはありませんが、ちょっと手のこんだことをしようとすると、「あれ、どうしたらいいんだっけ?」と思うことがちょくちょくあります。この記事では、そういった時にどうしたらよいか、というのをいくつか紹介したいと思います。 アップロードしたファイルを保存する Streamlit には、ファイルのアップロード機能が実装されていて、簡単に手元のデータをサーバーにアップロードできます。アップロードしたファイルはメモリ上に配置され、ディス

    Streamlitの使い方の細かいところ
  • Python3.10 時代のモダン Python

    この記事は刺身たんぽぽ同好会 Advent Calendar 2021[1] 8日目 の記事です. 7日目はげんしくんの 刺身たんぽぽ同好会を支えるDiscord鯖について - 最近のRecent です. 9日目はおのだ氏の Live2D #1 下準備(予定) です. はじめに Python3.10 がリリースされてから数ヶ月が経ちました.そこで,Python3.10 から入った新機能や,あまり知られていないが[2],知ってると便利な機能を紹介します.モダン Python を書いていきましょう. 型アノテーション 型アノテーション自体は Python3.5 からある機能[3]ですが,バージョンアップのたびに高機能になっています.Python3.10 では,| 演算子が型アノテーションに対しても使用できるようになりました. 使用例はこのような感じ

    Python3.10 時代のモダン Python
  • Tailscale経由でGitHub ActionsのVMにsshする - masa寿司の日記

    GitHub AcionsのVM上でTailscaleをセットアップすると、Tailscale経由でGitHub ActionsのVMにsshできます。 Tailscale知らない人へ 事前準備 サンプルworkflow 何が嬉しいか コツ 他の選択肢 Tailscale知らない人へ Tailscaleが何かご存じない方は、過去に記事を書いているのでそちらを参考にしてください。 mstshiwasaki.hatenablog.com 事前準備 Tailscaleのアカウントを取っておくこと 作業用のPC/MacTailscaleをセットアップしておくこと GitHub ActionsのSecretsで SSH_APIKEY SSH_PUBKEY という名前でログインに使うsshの公開鍵を登録しておくこと サンプルworkflow 事前準備が出来たら、まずは試してみましょう。GitHub

    Tailscale経由でGitHub ActionsのVMにsshする - masa寿司の日記
  • クリーンアーキわからんかった人のためのクリーンじゃないけどクリーンみたいなオニオンに見せかけたSOLIDの話

    依存関係逆転則含む諸原則に苦しめられた方々,いかがお過ごしでしょうか. 今回はアプリ設計の話です.と言っても,前回「クリーンアーキわからんかった人のためのオニオンアーキテクチャ」というZenn記事を書いて,反響が大きかったのでリメイクしたいなという気持ちになり執筆することにしました. 前回同様,調べていく上で誤解していた部分や理解しにくかった部分を語った上で,オニオンアーキテクチャという,クリーンじゃないけどクリーンみたいな玉ねぎについて紹介するのですが,今回はわかりやすい図解であったり,実際にどのような実装をしていくべきなのかを話の話題として加えていければ良いかな?って思っています. これは前回の記事である「クリーンアーキわからんかった人のためのオニオンアーキテクチャ」の記事の裏話的な話を一つさせてください. 今年の11月初め頃に,サポーターズという企業の学生が登壇できるLT会があり,私

    クリーンアーキわからんかった人のためのクリーンじゃないけどクリーンみたいなオニオンに見せかけたSOLIDの話
  • Athena view と Terraform による宣言的データモデリングとレイクハウスへの道標 - Gunosyデータ分析ブログ

    はじめに こんにちは、DR&MLOps*1 チームの楠です! こちらの記事は Gunosy Advent Calendar 2021 の 13 日目の記事です。 昨日の記事は大曽根さんの『Gunosyの施策運用におけるインスティチューショナルメモリ』でした。 日は、データ分析の民主化を促進するためのデータレイク上での分析用データマートとしての Athena view の利用方法と、IaC のための Terraform による宣言的な Athena view の定義方法をご紹介します! はじめに 背景 前提知識: Athena における view Athena view の利点 利点1. SQL と view カタログ定義のみからなるので、データ転送ワークフローを組まなくてよい 利点2. テーブルのスキーマを容易に変更できる 利点3. よく利用する共通テーブル式をきちんとテーブルとして定義

    Athena view と Terraform による宣言的データモデリングとレイクハウスへの道標 - Gunosyデータ分析ブログ
  • 遅くないpandasの書き方 - ML_BearのKaggleな日常

    これは何? この記事は Kaggle Advent Calendar 2021 の7日目の記事です。 pandasはデータ分析ライブラリとして非常に便利ですが、書き方を間違えると簡単に処理が遅くなってしまうという欠点があります。そこで、この記事では遅くならない書き方をするために気をつけたいポイントをいくつかご紹介したいと思います。 この Colab Notebookの実行結果をエクスポートした上で、不要な部分を一部削って記事にしています。colab notebook をコピーして実行してもらえれば再現することが可能なはずです。(colabにコメント等をいただいても返すことはできないと思います、すみません。) 前提条件 この記事ではあくまで「遅くない(なりづらい)書き方を紹介する」ことに努めます。よって、以下のような改善点はあるが一旦考慮の外におくものとして話を進めます。 並列化ライブラリ

    遅くないpandasの書き方 - ML_BearのKaggleな日常
  • ペパボのデータ基盤『Bigfoot』におけるAirbyteの本番運用 - Pepabo Tech Portal

    技術部データ基盤チームに所属しているまつもとです。ペパボではGoogle Cloud Platform(以下 GCP)をメインで利用した社内データ活用基盤「Bigfoot」を開発・運用しています。BigfootはBigQueryによるデータウェアハウス・データマートを各部署へ提供することが大きな役割となっています。BigQueryへのETLはGCPのワークフローオーケストレーションサービスであるCloud Composerによって構成しています。データのExtractとLoadは基的にEmbulkとStitchを利用していますが、対応していないデータソースについてはPythonでExtractとLoadのコードを個別に実装しています。 新たなデータソースに対応するために都度ETLを実装するのは非効率であるため、最近急速に対応データソースの数を増やしているOSSのETLシステム Airby

    ペパボのデータ基盤『Bigfoot』におけるAirbyteの本番運用 - Pepabo Tech Portal
  • 【ETL】GUIがあるOSSのAirbyteについて調べてみる

    Airbyteとは OSSのETLツールでGUIも提供している。 データ取得元はMySQLSalesforce、Marketo、Google Analyticsなど デフォルトである程度のコネクタが用意されている。 データ配置先もBigqueryやsnowfrakeなどのクラウドDWH系にも接続も可能。 有償版も存在する。 特徴 ツール自体が、dockerのコンテナとして稼働する。 未対応のコネクタなどは、カスタムコネクタとして自ら作成可能。 コネクタはすべて個別のdockerコンテナとして取り扱われる。 ETLの流れ Extract(抽出)→Load(読込)→Transform(変換)の流れ。 データ配置先の形式に合わせるためのデータ変換は最後に実施する。 コネクタ種類 以下にデフォルトで対応。 結構豊富。 データ取得元コネクタ ​Amazon Seller Partner​ ​Amp

    【ETL】GUIがあるOSSのAirbyteについて調べてみる
  • Python: bytes 型 と str 型の違い。変換方法 - コムテブログ

    TL;DR Python 3 では、文字列データを表すのに bytes と str がある。bytes のインスタンスは符号なし 8 ビット値で構成され、ASCII(文字コードの標準規格) エンコーディングで表示される。str は Unicode コードポイントの文字列を含む。 bytes 型 と str 型 のポイント str と bytes は同時に扱えない ファイルにバイナリデータを書き込む場合、バイナリモードでオープンしなければならない bytes は 8 ビットの値の列を含む str は Unicode コードポイントの文字列を含む バイナリデータについて データ形式を大別すると、テキストとバイナリに分類される。バイナリデータとは、文字・画像・音楽・動画などテキストデータ以外のデータ。人が見ても意味が不明瞭なデータである。 バイナリデータを操作するためのものは 2 つある。 by

    Python: bytes 型 と str 型の違い。変換方法 - コムテブログ
  • GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング

    Advent Calendar day 7 担当の vvakame です。 予告では Apollo Federation Gateway Node.js実装についてポイント解説 としていましたが、社内各所のご協力によりAdvent Calendarの私の担当日に間に合う形で公開できる運びとなりました。そのため告知とは異なりますが GitHub上のsensitive data削除の手順と道のり をお届けしていきたいと思います。 メルペイVPoE hidekによるday 1の記事で振り返りがあったように、今年、弊社ではCodecovのBash Uploaderに係る情報流出という事案が発生しました。当該インシデント対応において、プレスリリースにも記載のある通り、ソースコード上に混入してしまった認証情報や一部個人情報などの機密性の高い情報(sensitive data)について調査を実施し、対応

    GitHub上のsensitive dataを削除するための手順と道のり | メルカリエンジニアリング
  • 簡易x86エミュレータを再実装してRustを学ぶ - Qiita

    はじめに プログラミング言語のRustを学びたいと思い,今年はいくつかを読んだり1,The Rust Programming Languageの輪講会を催したりした.ところがそこまで学んでいても,Rustでは強力な型システムと所有権システムがあるため,初学者の私にはコンパイルすら一筋縄では行かなかった. そこでCのプログラムをRustで再実装し,Rustに慣れることとした.自作エミュレータで学ぶx86アーキテクチャのx86エミュレータpx86はCで実装されているが,これを新たにRustで実装することした.px86を選んだ理由は一度Linuxで実装した経験があるため2,またコンパクトな規模の実装であるから,題材として適切と考えた. 記事では,簡易x86エミュレータをCからRustに実装し直す上で困ったことを取り上げ,どのように対処したかを示す. px86:簡易x86エミュレータ 今回実装

    簡易x86エミュレータを再実装してRustを学ぶ - Qiita
  • BigQuery を使って分析する際の tips (part2)

    TL;DR part2 はスカラー関数・集計関数・分析関数、サブクエリ、型変換について書く BigQuery は便利な機能が色々備わってるので、それらの基的な振る舞いを頭に入れておくと便利 文と全然関係ないけど自分のブログはコードブロックの表示とかイマイチなので改善せねばか… part1 に続いて part2 として、分析する際によく使うことになる道具について理解しておくとよいことをいくつかピックアップしてまとめる。 ちなみに今回の tips シリーズではクエリのパフォーマンスは気にしない。 自分が現状仕事で書いてるものはほぼクエリのパフォーマンスを気にしなくてよいのと、そもそも BigQuery が強力なので細かいことを気にせずに書いてしまって殆どの場合問題ない、というのが理由。 実行前のデータスキャン量だけ見ておいて、数百 [GB] 以上のクエリをガンガン実行しそうとなったらコスト

    BigQuery を使って分析する際の tips (part2)
  • BigQuery を使って分析する際の tips (part1)

    TL;DR BigQuery で分析する際の tips をまとめてみる。長くなりそうなのでいくつかに分割して書く part1 はエディタとして何を使うかとか実行結果の連携などについて書く BigQuery console/DataGrip を使いつつ、結果を GitHub issues/Google Sheets/Bdash Server で共有するという感じで使っている 仕事で BigQuery を使って分析することが多いので、いくつかの回に分けて BigQuery を使って分析する際の tips をまとめていくことにする。今回は part1 としてエディタとして何を使うかとか実行結果の連携などについて書く。 個人的な探索的・アドホック分析用途の話に限定して、組織的にどういうデータ分析基盤を使うかとかそういう話はしない(会社だと ETL の L として dbt https://www.g

    BigQuery を使って分析する際の tips (part1)
  • 決定木分析を使用して、データ分析を行った話 - エニグモ開発者ブログ

    こんにちは、エニグモでデータアナリストをしている井原です。 この記事は Enigmo Advent Calendar 2021 の 7日目の記事です。 今日は、実際に業務で、データ分析をした内容を元に、データアナリストがどのような仕事をしているのかをお話したいと思います。 データアナリストの仕事 世の中では、データアナリストと言われる職種の仕事は多岐に渡ると思います。 データマイニング、データ分析基盤の整備、ビジュアライゼーション、KPIの設計、機械学習モデルの構築、etc... エンジニアリングやサイエンスの領域と思われるところを担っているデータアナリストの方もいらっしゃるのではないかと思います。 エニグモの場合、データサイエンティストやデータ基盤エンジニアといった、専門家が在籍しています。そのため、データアナリストは、施策の効果検証やサイト上の課題発見といった、ビジネス領域の課題に対し

    決定木分析を使用して、データ分析を行った話 - エニグモ開発者ブログ
  • 【git revert】複数コミットをまとめてrevertする【使い方】

    Gitを使って開発をしているとまとめて複数コミットをrevertしたくなることがあると思います。 そのコミット数が数十、数百だったりするとと一つ一つrevertしていては日が暮れてしまうし、何より面倒ですよね。 それにたとえ数コミットしかなくて数秒で終わる作業だったとしても、その数秒の積み重ねは大きな差につながります。 そこで、記事では複数コミットをまとめて一括でrevertする方法について解説していきます。

    【git revert】複数コミットをまとめてrevertする【使い方】
  • リモートワークのための質問力向上研修

    株式会社Classi様の社内研修で用いた資料です。 関係者の許諾を得て公開しています。 twitter: https://twitter.com/AntiBayesian mail: fisherdataanalysis@gmail.com

    リモートワークのための質問力向上研修
  • iTerm2 から kitty に移行した話 〜Hammerspoon で快適ターミナルライフ〜 - Gunosy Tech Blog

    こんにちは、 Gunosy Tech Lab AdsML チームで広告のロジック改善をしている m-hamashita です。昨年 FlexiSpot E6 と ErgoDox EZ を導入してからひどかった肩こりが改善したのでおすすめです。 FlexiSpot は最近 Black Friday で安くなっていたので、購入した人も少なくないのではないでしょうか。 こちらの記事は Gunosy Advent Calendar 2021 の 8 日目の記事です。昨日の記事は 吉岡(@rikusouda) さんの『2021年にSwiftUIを部分利用しつつ新規のiOSアプリを作った 』でした。 記事ではターミナルエミュレータを iTerm2 から kitty に移行し、Hammerspoon で Hotkey 周りをいい感じにした話を紹介します。 はじめに kitty kitty について k

    iTerm2 から kitty に移行した話 〜Hammerspoon で快適ターミナルライフ〜 - Gunosy Tech Blog
  • Google Cloudなんもわからないマンが、Cloud Runの凄さをあれこれ調べてみた | DevelopersIO

    この記事はクラスメソッド Google Cloud Advent Calendar 2021の9日目の記事です。 Google Cloud自体ナンもわからないマンが、以前から気になっていたCloud Runをあれこれ動かしながら学んでみた様子をお届けします。もともとAWSのApp Runnerがお気に入りのサービスだったので、それとの機能上の違いも入れています。 (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     Cloud Run祭りダワッショイ |_|_| し'´J 注意事項:この記事には両者のサービスの優劣をつける意図は全くありません そもそも、違うプラットフォームに存在するサービスを単独で機能比較して優劣がはっきり出るほど、パブリッククラウドは単純なものではありません。AWSGoogle Cloudもサービス単体で利用するよりは、そのエコシステムの中でビルディング

    Google Cloudなんもわからないマンが、Cloud Runの凄さをあれこれ調べてみた | DevelopersIO
  • 管理画面からBigQueryを使ってサクセスする - Hatena Developer Blog

    ハッピーホリデー!id:cockscombです!!この記事ははてなエンジニアAdvent Calendarの8日目のエントリです。 サービス開発をしていると、限られた管理者のみがアクセスできる画面、つまり「管理画面」を作る必要に迫られます。管理画面では、データベースに登録されたさまざまな情報を検索、閲覧、編集できます。もちろんデータの扱いはプライバシーポリシーに則って、厳密に権限管理をしたり、操作ログを残したりします。 管理画面から情報を検索する 管理画面で、データベース上の情報を検索するという部分について考えます。例えば、特定のメールアドレスで登録している利用者を探したいケースがあるとします。 SELECT *, FROM users WHERE mail = ? MySQLなどの典型的なRDBMSでは、このようなSQLを発行するでしょう。mailカラムにインデックスがあれば(ふつうはあ

    管理画面からBigQueryを使ってサクセスする - Hatena Developer Blog
  • Terraform を自動実行したいなら Atlantis - Qiita

    この記事は Terraform Advent Calendar 2021 の5日目です。 Atlantis の話が書きたいけど書く場所がなくて遅ればせながら枠を探したところ、5日目の枠が空いていることに6日朝に気付いて押さえたため、投稿は遅くなっております。 ということでこのエントリーでは全力で Atlantis を推します。 Atlantis とは Terraform の自動実行にはみなさん何を用いているでしょうか。2021年現在だと HashiCorp 提供の Terraform Cloud でマネージドなパイプラインが簡単に組めますし、同じく HashiCorp が GitHub Actions を使ったワークフローを Automate Terraform with GitHub Actions | Terraform - HashiCorp Learn で公開していたりと、自動実行

    Terraform を自動実行したいなら Atlantis - Qiita
  • tfmigrate + Atlantis でTerraformリファクタリング機能をCI/CDに組み込む - Qiita

    マイグレーションの履歴を記録することで、マイグレーションファイル名を省略して、単に tfmigrate plan や tfmigrate apply とするだけで、未適用のマイグレーションを適用することが可能になり、よりCI/CDで使いやすくなりました。また履歴モードが有効な場合、 tfmigrate list --status=unapplied で未適用のマイグレーションファイルを列挙することも可能です。 いまのところ storage の種類は s3 と local しか使えませんが、s3 以外のクラウドストレージに保存したい場合は、現状の回避策として local ストレージを使用して一旦ローカルファイルとして保存して、tfmigrate plan / apply の前後で履歴ファイルを自前で同期することは可能です。最新の状況は上記のREADMEを参照して下さい。 tfmigrate自

    tfmigrate + Atlantis でTerraformリファクタリング機能をCI/CDに組み込む - Qiita
  • Fargateの運用 ~デプロイ自動化や監視等~

    初めてFargateを触ったので、運用保守の観点で構築時に設定しておいた方が良いポイントをまとめました。 デプロイの自動化と書いているのにデプロイの話薄めになってしまいました…。 こちらはJAWS-UG朝会 #28で発表したものになります。

    Fargateの運用 ~デプロイ自動化や監視等~
  • Using Apache Beam and Dataflow for processing clickstream from Google Tag Manager | Google Cloud Blog

    {"event_datetime":"2020-11-16 22:59:59", "event": "view_item", "user_id": "UID00003", "client_id": "CID00003", "page":"/product-67890", "page_previous": "/category-tshirts", "ecommerce": { "items": [{ "item_name": "Donut Friday Scented T-Shirt", "item_id": "67890","price": 33.75, "item_brand": "Google", "item_category": "Apparel","item_category_2": "Mens", ...}]}} Now that we know where our clicks

    Using Apache Beam and Dataflow for processing clickstream from Google Tag Manager | Google Cloud Blog
  • そのマシンユーザー不要ですよ!GitHub Appsを使ってGitHub Actionsを利用しよう

    はじめに こんにちは!Hamee株式会社の tatsuo48 です。 GitHub ActionsにはデフォルトでGITHUB_TOKENというシークレットが存在しており、環境変数にセットして利用することで、Actionsがトリガーされたリポジトリに対する操作が可能です。 GITHUB_TOKENシークレットについて これはこれで便利なんですが、特定の条件のときに少し問題があります。 CIの中で別リポジトリを使いたいときどうする問題 上記の通り、GITHUB_TOKENでは権限の範囲がActionsがトリガーされたリポジトリに制限されます。よって以下のようなユースケースには適しません。 CIの中で別のプライベートリポジトリを参照したい Terraformのプライベートモジュールとか こういった場合、マシンユーザという人に紐付かないユーザを作り、そのユーザの個人アクセストークンが使われたりす

    そのマシンユーザー不要ですよ!GitHub Appsを使ってGitHub Actionsを利用しよう
  • 実例で学ぶモニタリング定例のすゝめ | CyberAgent Developers Blog

    この記事はCyberAgent Developers Advent Calendar 2021 11日目の記事です。 みゆっきこと山中勇成(@toriimiyukki)です。普段は、ABEMAで動画配信基盤の開発運用を担当しています。 直近では、配信システムの大規模刷新プロジェクトなどを担当しており、こちらの模様はCA BASE NEXTの発表からアーカイブを閲覧可能です。 ABEMAでは、24時間365日のリニア型配信やVOD配信など、昼夜を問わず落とすことができないミッションクリティカルなサービスを運用しています。サービスを支えるマイクロサービスは、配信分野に限っても20サービスを超えています。 既にPrometheusなど、各種モニタリングソリューションでの監視やアラーティングなども行っていますが、この記事では、あえて手動監視を定期的に行う、モニタリング定例を勧めたいと思います。 な

    実例で学ぶモニタリング定例のすゝめ | CyberAgent Developers Blog
  • データ分析・集計で気をつけている8つのこと | Wantedly Engineer Blog

    記事はWantedly 21新卒 Advent Calendar 2021の12日目の記事です! なんとか半分まで来ました。後半戦もよろしくお願いします🙏 記事では、入社してからデータ分析する中で先輩からいただいたフィードバックをまとめてみました。当たり前のことも多いですが、時間に追われ、焦ってしまうと意外とできないので、自戒の意味も込めてここに残しておきます。 集計前(目的理解・課題設計)編集計の目的を理解する「〇〇を集計して」と依頼された時は、なぜその集計が必要なのか理解してから、手を動かすようにしています。目的に応じてアウトプットが変わりうるからです。 例えば「プラットフォーム内のユーザ数を集計して」と言われた時に、「特定経路のユーザ流入が減っている懸念」が背景にあれば、アウトプットには「流入経路ごとのユーザ数」が必要です。 一方、「グロース施策の打ち手を決めたい」という背景が

    データ分析・集計で気をつけている8つのこと | Wantedly Engineer Blog
    clavier
    clavier 2021/12/13
  • MLを運用環境に展開する前に知っておくべきこと - Francesca Lazzeri氏の講演より

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    MLを運用環境に展開する前に知っておくべきこと - Francesca Lazzeri氏の講演より
  • Terraform Cloud から GitHub Actions に移行したお話

    スタディスト開発ブログ Advent Calendar 2021の13日目の記事です。 こんにちは、SRE Unit の wind-up-bird です。以前、 Serverless Framework を移行しているお話を書きましたが、今回は移行シリーズ第2弾ということで、 Terraform Cloud を Terraform on GitHub Actions に移行したお話をお届けしたいと思います。 # 移行前の運用スタディストではこれまで Terraform Cloud の Team & Governance プランを契約していました。移行前の Terraform による開発の流れは、以下のとおりです。 Terraform Cloud 上で Workspace を作成し、Version control workflow を利用する。Workspace には環境変数として、 AWS

    Terraform Cloud から GitHub Actions に移行したお話
  • Python言語による実務で使える100+の最適化問題 | opt100

    はじめに 書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<に記述>である. 作者のページ My HP 書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

  • グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita

    記事はNTTドコモR&Dアドベントカレンダー2021の8日目の記事です. こんにちは、NTTドコモの橋(@dcm_hashimotom)です. 業務ではレコメンド関連の技術開発・施策検討を行っており,主にPythonやBigQuery, Apache Sparkを触ってます. SNSなどで投稿したコンテンツの検索性を上げるためには,そのコンテンツへのタグ(またはハッシュタグ)の付与が重要です.Qiitaではタグは5つまで付与することができ,タグを指定した絞り込み検索や,マイページでのプロフィールに使われております.しかし,タグの付与はユーザ手動なものが多く(要出典),検索性が高いものを選択するためには,ドメイン知識が必要です.なので,タグを付ける際に「このタグがついた投稿では他にこんなタグもついてます」的なレコメンドがあれば有用そうです.また,レコメンドということですが,近年レコメンド

    グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita