タグ

ブックマーク / techblog.gmo-ap.jp (12)

  • 業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編

    はじめに こんにちは。 GMOアドマーケティングのKONCEです。 新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。 今回は入社してDBSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。 今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅰ部 データベース論理設計のアンチパターン 2-1. [○]1章 ジェイウォーク(信号無視) 2-2. [×]2章 ナイーブツリー(素朴な木) 2-3. [○]3章 IDリクワイアド(とりあえずID) 2

    業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編
  • Rails 6.1の新機能「strict_loading」でN+1を検知する

    こんにちは。 GMOアドマーケティングの石丸(@thomi40)です。 昨年の12月にRuby on Rails 6.1の新機能の1つである「annotate_rendered_view_with_filenames」について紹介しました。 この記事は GMOアドマーケティング Advent Calendar 2020 8日目の記事です。はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。弊社では複数のプロダクトでRuby on Railsを使って開発を行っています。今回はRails 6.1で導入が予定されている「annotate_rendered_view_with_filenames」について紹介します。annotate_rendered_view_with_filenamesとは?annotate_rendered_view_with_filenames は

    Rails 6.1の新機能「strict_loading」でN+1を検知する
  • MeCabへWikipediaの辞書を追加する方法

    こんにちは、GMOアドマーケティングのS.Rです。 日語のNLP(自然言語処理)で形態素解析は大切な処理の1つとなります。 今回は、形態素解析ツール「MeCab」へWikipediaの辞書を追加する方法を紹介します。1. 日語の形態素解析ツールMeCab MeCabは日語の形態素解析ツールです。詳細はWikipediaの説明をご覧ください。 MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアGoogle 日本語入力開発者の一人である工藤拓によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。 MaCab、2019年09月17日、ウィキペディア日語版、https://ja.wikipedia.org/wiki/MeCab 2. 「MeCab」へWikipediaの辞書を追加する方法の説明 1)

    MeCabへWikipediaの辞書を追加する方法
  • AWSエンジニアがGCPメインの会社に転職してみた話

    初めまして、GMOアドマーケティング インフラ開発部のhakumaiです。 今年1月にHRTech系企業からGMOアドマーケティングに転職してきました。 現職では、女子向けメディア「めるも」のインフラ業務に携わり、日々業務に励んでおります。 今回は、私が転職してみて感じたインフラ技術のギャップの一部についてお話しいたします。 前職でのインフラ環境・経験について 前職のHRTech企業で触っていたインフラ環境は、ほぼAWSでした。 インフラの保守運用業務に加え、新規プロダクトのインフラアーキテクチャ設計構築を経験したこともあり、 VPCやEC2・RDS・S3・ECSなど基的なAWSのサービスについての知識はある状態でした。 ちなみに、AWSのソリューションアーキテクトアソシエイトも取得済みです。 また、GCPは全くの未経験でした。 アドマのインフラ環境について 一部オンプレもありますが、環

    AWSエンジニアがGCPメインの会社に転職してみた話
  • TensorFlow 2.0でTPUを利用する

    こんにちは、GMOアドマーケティングのS.Rです。 TPUとはディープラーニングを高速化するために、Googleが開発したプロセッサーです。TPUの利用により、ディープラーニングのモデルのトレーニング時間を20倍以上改良する事が可能です。 TensorFlow 1.xでTPUを利用するAPIを提供していますが、TensorFlow 2.0ではこのAPIの利用方法が変更されました。 今回はTensorFlow 2.0でTPUを利用する方法を皆さんへご紹介します。 利用する環境 Googleが無料で提供している機械学習目的の研究用ツール【Colab】を利用します。 1 Colabのインスタンスを作る Colabを利用するために必要な最初のStepは、Colabのファイルを作る事です。 Google Driveの管理画面へ遷移し、新しいColabのファイルを作ります。 2 TPUを設定する 作成

    TensorFlow 2.0でTPUを利用する
  • Word2Vecの紹介

    先程作成したベクトル結果を2D座標に反映しましょう。 転換した結果、動物の距離を計算できます。例えば、犬との距離は犬と鳥の距離より近いことがわかります。 単語のベクトルを使って文書はベクトル空間の位置も計算できます。文書に含まれている単語のベクトルを平均値計算して結果を取れます。 文章をベクトルする方法 単語のベクトル結果を使って、文章もベクトルに転換できます。文書に含まれている単語のベクトルの平均値は、文章のベクトルになります。例えば“は金魚をべました”を、前の動物の単語をベクトルした結果でベクトルします。計算の流れは下記の図になります。 実際の業務に使用できる文書のベクトル計算は二種類あります。 1 文書に含まれている単語のベクトルを平均値計算します(単語がN個ある場合は下記の計算式になります)。 2 文書に含まれている単語のベクトルを平均値計算して各単語のTFIDF値を掛けます

    Word2Vecの紹介
  • Swiftでフレームワークを作成する(第2回)

    GMOアドマーケティングのT.Oです。 前回に引き続き、SwiftでiOS用のフレームワークを作成する手順についてまとめます。 前提、フレームワークの作成手順は以下の通りです。 ●前提 作成するフレームワークは、iOS8以降で利用可能なEmbedded Frameworkとします。 開発環境としてXcode 10.2を利用しSwift4.2を使用します。 ●フレームワークの作成手順 1. フレームワーク開発のためのプロジェクト作成 2. 実機用とシミュレータ用のフレームワークを1つのフレームワークにまとめる 3. Bitcode対応 4. フレームワークテスト用のアプリを作成する 5. Appleへのアプリ申請対応 今回は作成手順3.からになります。 3.Bitcode対応 Bitcodeはコンパイルされたプログラムの中間表現です。Bitcode対応するとApp Storeにアップロードし

    Swiftでフレームワークを作成する(第2回)
  • MeCabへユーザー辞書を追加する方法

    こんにちは、GMOアドマーケティングのS.Rです。 NLP(自然言語処理)は機械学習の中でも人気な分野の一つです。 今回は日語のNLPで重要な処理である形態素解析のツール「MeCab」へユーザー辞書を追加する方法を紹介します。 1. NLPの基処理プロセス 日語を英語へ機械翻訳する例で説明します。 基処理プロセスは図1の通りです。形態素解析は日語に関するNLP処理の最初のプロセスです。 図1. 機械翻訳の処理の流れ 2. 形態素解析とは 形態素解析については以下のWikipediaの解説をご覧ください。 形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の

    MeCabへユーザー辞書を追加する方法
  • 畳み込みニューラルネットワークの要約

    皆さん こんにちは、GMOアドマーケティングのS.Rです。 前回は ディープラーニングの要約を皆さんへ紹介しました。今回はパターン認識(画像認識、音声認識など)に一番使われてるモデルの一つ、畳み込みニューラルネットワークを皆さんへ紹介したいと思います。 1. 畳み込みニューラルネットワークとは 機械学習において、畳み込みニューラルネットワーク(たたみこみニューラルネットワーク、英: Convolutional neural network、略称: CNNまたはConvNet)は、順伝播型(英語版)人工ディープニューラルネットワークの一種である。画像や動画認識に広く使われているモデルである(畳み込みニューラルネットワーク、2018年11月24日、ウィキペディア日語版)。 2006年にHinton先生が畳み込みニューラルネットワークについて画期的な論文(A fast learning alg

    畳み込みニューラルネットワークの要約
  • KerasでTPUを使ってトレーニングをする

    こんにちは、GMOアドマーケティングのS.Rです。 Googleが開発しているTPUをご存知ですか?TPUはディープラーニングを高速化するため、Googleが開発したプロセッサです。TPUでディープラーニングのモデルのトレーニング時間は20倍以上の改良が可能です。2018年9月26日にColabというGoogleが提供されている、 機械学習のオンラインノートサービスでTPUインスタンスの無料提供を始めました。今回はColabでTPUを利用する方法を投稿させていただきます。記事中の図説は、筆者が自らの環境で作成したものを含みます。 1 Colabのインスタンスを作る Colabの利用を始める最初のStepは、Colabのファイルを作ります。Google Driveの管理画面へ遷移し、新しいColabのファイルを作ります(図1)。 図1: Colabのインステンスを作る 2 TPUを設定する

    KerasでTPUを使ってトレーニングをする
  • TensorBoardでTensorFlowの数値計算を可視化する

    機械学習のブームとともにChainerやCNTK, Theanoといった、ディープラーニング・機械学習に関するライブラリが数多く登場しています。

    TensorBoardでTensorFlowの数値計算を可視化する
  • 機械学習入門者がKerasでマルチレイヤーパーセプトロンのサンプルを読む

    こんにちは。 GMOアドマーケティング、機械学習入門者のT.Mです。 はじめに ゼロから作るDeep Learningを読み終え、 実際に何か作るにあたって何をしたらよいか調べていたところ ニューラルネットワークのライブラリであるKerasを知り触ってみました。 いきなりKerasのサンプルソースを見てもさっぱり分からなかったので、 ゼロから作るDeep Learningで学習した内容とKerasドキュメントを参照しながら 見ていきたいと思います。 Kerasについて Kerasについては公式ドキュメントを参照ください。 TensorFlow上で動く、ニューラルネットワークをより簡単に書けるようにした ライブラリという認識です。 サンプルソース Keras公式のサンプルソースから、 ゼロから作るDeep Learningでも5章までガッツリと書かれていたMLP(マルチレイヤーパーセプトロン

    機械学習入門者がKerasでマルチレイヤーパーセプトロンのサンプルを読む
  • 1