タグ

ブックマーク / codezine.jp (18)

  • 検索技術と自然言語処理技術を駆使して話題のトピックをひとまとめ ~はてなブックマークのトピックページの作り方

    はじめに 稿では、はてなブックマークの10周年記念の第1弾として開発した「トピックページ」の作り方について解説します。トピックページとは、インターネット上で話題となったトピックを閲覧できるページです。 トピックページは、トピックに関連する記事の集合とトピックを表すタイトルから構成されます。 トピックページ生成の流れは以下の通りです。 トピック生成 トピック表すキーワード集合を獲得し、そのキーワードに関連する記事を収集する。 トピックタイトル生成 トピックに関連する記事の情報を利用してトピックを表すタイトルを生成する。 稿では、Elasticsearchなどの検索技術を活用したトピック生成方法、および、CaboChaなどの自然言語処理技術を活用したトピックタイトル生成方法について説明します。 対象読者 Elasticsearchを利用している/したい方 検索技術、自然言語処理技術に関心の

    検索技術と自然言語処理技術を駆使して話題のトピックをひとまとめ ~はてなブックマークのトピックページの作り方
  • プロダクトマネージャーがOKRを正しく運用するために、押さえておきたい7つのポイント

    プロダクトマネージャーはプロダクト成功のために、固定観念にとらわれずにアクションしていくことが必要な職種だが、「プロダクトの成功」やそのためのチームの目標は、どのように定義されるべきだろうか。OKRによる目標設定を用いる企業も多いが、プロダクトマネージャーがOKRを活用するにあたって気を付けるべきことは何だろうか。米国フォード・モーター・カンパニーでプロダクトマネージャーを務めるジョシュア・ギルバート氏とマイケル・レイズ氏が、OKRがプロダクトや事業の成功において重要な理由と、OKRの実践について解説した。また、同社がOKRを導入した際の失敗から得た教訓を紹介し、Q&Aコーナーも実施。「PMが意識すべきOKRのトラップは?」「OKRと評価の関係は?」といった現場からの疑問に両名の回答は? 組織・プロダクト・個人のすべてに目標設定が必要な理由 フォード・モーター・カンパニーでソフトウェア開発

    プロダクトマネージャーがOKRを正しく運用するために、押さえておきたい7つのポイント
  • Google Cloud、「Migrate for Anthos」をベータ公開、さまざまなVMのコンテナ移行が可能に

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Google Cloud、「Migrate for Anthos」をベータ公開、さまざまなVMのコンテナ移行が可能に
  • クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か

    こんにちは。アマゾンウェブサービス クラウドサポートエンジニアの小武です。Amazon EC2、Amazon RDS、Amazon Redshiftなどのサービスの他、AWSの内部を支える裏側の技術に日々Dive Deepしています。連載ではAWSサポートのエンジニアがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしています。 私の担当回では、AWSという巨大な分散システムを支える技術要素のうち、アーキテクチャ設計、プログラミング技術のいくつかについて見ていきたいと思います。これらは、AWSの内部を支える技術というだけでなく、皆さんのアプリケーションをダウンタイムゼロのシステムに近づけるための基礎技術、クラウド・ネイティヴなアプリケーションを構築する基礎的なテクニックとも言えると思います。 その基礎的なテクニックは大きく、下記の4つがあります。 非同期処理(Asynch

    クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か
  • マイクロサービスとしての機械学習――Wantedly Peopleの事例から

    Wantedlyの開発現場で活用されている技術や手法は、日々進化するプロダクトに合わせて柔軟に変化しています。この連載では実際の開発で取り組んでいる技術や手法を、実務に使える形でお伝えしていきます。今回は名刺管理アプリ「Wantedly People」の事例を踏まえながら、実際のプロダクトに機械学習がどう活用されているのか、また、マイクロサービスとしての機械学習について紹介していきます。 はじめに 連載は、WANTEDLY TECH BOOK 2から抜粋し、再編集したものになります。 こんにちは。Wantedlyでサーバサイドと機械学習サイドを扱っている丹治です。名刺管理アプリ「Wantedly People」を作っています。 Wantedly Peopleは「人工知能」と「機械学習」を用いて賢く名刺管理を行うことができます。この記事では、アプリケーションの裏側で動いている機械学習サービ

    マイクロサービスとしての機械学習――Wantedly Peopleの事例から
  • エンジニアとデータサイエンティストが連携し、ユーザーフレンドリーな広告を配信――「LINE Ads Platform」最適化の舞台裏とは?

    LINEおよびLINE関連サービスに運用型広告を配信するための仕組み「LINE Ads Platform」。広告を掲載する企業にとってはより届けたい層に広告を届け、LINEを利用するユーザーにとってはより興味関心のある広告を届けるために、開発チームでは、エンジニアとデータサイエンティストが協力しあい、システムの最適化に日々、取り組んでいる。LINE Ads Platformの開発の裏側ややりがいについて、エンジニアの小川拡さんとデータサイエンティストの並川淳さんに話を聞いた。 ユーザーに親しみやすい広告を届けるため、LINE Ads Platformの最適化に取り組む LINEが提供する運用型広告配信プラットフォーム「LINE Ads Platform」。広告を配信したい企業が、予算や期間、ユーザー属性などの配信の条件を登録・入札すると、LINE Ads Platformによって広告が選定

    エンジニアとデータサイエンティストが連携し、ユーザーフレンドリーな広告を配信――「LINE Ads Platform」最適化の舞台裏とは?
  • Google発の深層学習フレームワーク「TensorFlow」が一般エンジニアに与える可能性

    こんにちは、PyData.Tokyoオーガナイザーのシバタアキラです。先日公開され大きな反響を呼んだGoogle社の深層学習(ディープラーニング)フレームワーク、TensorFlow(テンソルフロー)。今回はPyData.Tokyoのハッカソンイベントで、参加者の皆さんとTensorFlowについて学び、コーディングし、ディスカッションした内容から得た所感を共有したいと思います。深層学習のネットワーク設計という非常に高度な課題は、一般のエンジニアやデータサイエンティストにはとっつきにくいものですが、既存のさまざまな手法やツールがTensorFlowに移植されつつあり、今後ここが深層学習開発の拠点になる予感がしました。 シバタアキラ PyData.Tokyoのハッカソンイベント 前置き~今回のハッカソンを行うに至った経緯 PyData.Tokyoは昨年秋に開始し、第1回のテーマとして深層学習

    Google発の深層学習フレームワーク「TensorFlow」が一般エンジニアに与える可能性
  • 【デブサミ2016】18-B-1レポート エンジニアなら使える深層学習 ~ TensorFlowやDataRobotで機械学習がもっと身近に

    機械学習」という言葉は最近では半ばバズワードしつつありますが、関連するキーワードとして「深層学習(Deep Learning:ディープラーニング)」も同様に脚光を浴びています。機械学習と同様に気になるワードではあるけれど、一体その正体とは何なのか、何ができるのか? という風に思っている人も少なからずいるのではないでしょうか。2016年02月18日に目黒雅叙園にて行われた「Developers Summit 2016」では、高エネルギー物理学の博士号を持ち、ニューヨーク大学でデータサイエンティストとしてヒッグス粒子発見のためのデータ解析に携わり、現在ではDataRobot社でデータサイエンティスト兼オーガナイザーを務めるシバタアキラ氏が、分かりやすい内容で深層学習とDataRobotに関する解説を行いました。記事ではそのセッション内容についてレポートしたいと思います。 講演資料:エンジニ

    【デブサミ2016】18-B-1レポート エンジニアなら使える深層学習 ~ TensorFlowやDataRobotで機械学習がもっと身近に
  • Java特有の冗長なコードを簡潔に記述する「Lombok」

    Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様

    Java特有の冗長なコードを簡潔に記述する「Lombok」
  • Google、C++開発者のための4つのライブラリを公開

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Google、C++開発者のための4つのライブラリを公開
  • Fessで作るApache Solrベースの全文検索サーバー ~ 導入編

    はじめに ドキュメントは日々増えて続けています。ドキュメントの数が多くなるほど、目的の情報は見つけにくくなるため、それらのドキュメントを効率よく管理する方法が必要です。その解決策の一つとして、複数のドキュメント(ファイル)をまたいで検索することができる「全文検索サーバー」の導入が挙げられます。 Fessは簡単に導入できる、Javaベースのオープンソース全文検索サーバーです。Fessの検索エンジン部分にはApache Solrを利用しています。Solrは、2億ドキュメントもインデックス可能と言われる非常に高機能な検索エンジンです。一方で、Apache Solrで検索システムを構築しようとする場合、クローラ部分などを自分で実装する必要性があります。Fessではクローラ部分にSeasar Projectから提供されるS2Robotを利用して、ウェブやファイルシステム上の様々な種類のドキュメントを

    Fessで作るApache Solrベースの全文検索サーバー ~ 導入編
  • Hadoopのインストールとサンプルプログラムの実行

    前回はGoogleの基盤技術とそれに対応するオープンソースソフトウェアとして、Hadoop & hBaseを紹介しました(図1 参照)。今回はHadoopを1台にインストールし、サンプルプログラムを動かします。次にHDFSとMapReduceのアーキテクチャを解説します。最後にサンプルプログラムのソースコードを解説します。 2. Hadoopの概要 Hadoopは主にYahoo! Inc.のDoug Cutting氏によって開発が進められているオープンソースソフトウェアで、GoogleFileSystemMapReduceというGoogleの基盤技術のオープンソース実装です。Hadoopという名前は開発者の子供が持っている黄色い象のぬいぐるみの名前に由来しています。HadoopはHDFS(Hadoop Distributed File System)、Hadoop MapReduce F

    Hadoopのインストールとサンプルプログラムの実行
  • blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術

    はじめに こんにちは。Hadoop連載 第4回は太田さんに代わって大倉が担当します。 これまでの連載で、Hadoopによるデータ処理の概略については理解されていると思います。今回はHadoopを利用したシステムの実例ということで、ブログ分析を行う「blogeye」システムの概略と、その中でのHadoop利用法を紹介します。 また、blogeyeAmazonが提供しているEC2(レンタルサーバ)、S3(ストレージ)をHadoopと組み合わせて利用しているので、その辺りの導入方法についても紹介します。 これまでの連載 Hadoop、hBaseで構築する大規模分散データ処理システム Hadoopのインストールとサンプルプログラムの実行 複数マシンへHadoopをインストールする blogeyeとは 「blogeye」(ブログアイ)は日語のブログをクロール、リアルタイムに分析して、流行語と思わ

    blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術
  • 初めてのCatalyst入門(1) PerlによるWebフレームワークCatalystとは?

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    初めてのCatalyst入門(1) PerlによるWebフレームワークCatalystとは?
  • ブラウザごとのeventオブジェクトの違いを理解する:CodeZine

    はじめに ブラウザの種類やバージョン、おのおのブラウザ独自の実装の違いを考慮し、同じように動作するスクリプトを「クロスブラウザスクリプト」と言います。この連載では、クロスブラウザスクリプトを実現する方法について順を追って解説してきています。 クロスブラウザスクリプトを実現するためには、様々な方法があります。これまでの連載では、ブラウザの種類やバージョンを判断し、そのブラウザがサポートしているスクリプトを実行する方法を解説してきました。また、それ以外の方法として、実行するスクリプトをブラウザがサポートしているかどうか調べ、それに合わせて用意したスクリプトを実行する方法なども説明してきました。実際にクロスブラウザスクリプトを作成する時には、それらの方法を単独あるいは組み合わせて作っていくことになります。 来のJavaScriptの理想的な姿としては、JavaScriptをサポートしたブラウザ

  • モバゲータウン基盤モジュール、オープンソース化へ:CodeZine

    DeNAでは、YAPC::Asia 2008開催までにモバゲータウンで利用している基盤モジュールをオープンソース化するようだ。YAPC::Asia 2008のセッション紹介のなかで明らかにしている。 オープンソース化が予定されているのは「MVCのコントローラ」「XSによる高速テンプレートエンジン」「ケータイ絵文字変換」「ケータイ端末認識/認証」「ケータイキャリア向け高速メール送信サーバ」などの基盤モジュール。YAPC::Asia 2008ではこれらのモジュール・ソフトウェアについて解説をするほか、他の類似ソフトウェアとの比較も予定している。 YAPC::Asia 2008はPerl開発者のためのカンファレンスで、5月15、16日に東京工業大学大岡山キャンパスで開催される。 【関連リンク】 ・(仮題) モバゲータウン基盤モジュールオープンソース化と解説: YAPC::Asia 2008

  • DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(前編):CodeZine

    シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー

  • O/RマッピングをサポートするEclipseプラグイン「CROSSFIRE O/R」:CodeZine

    CROSSFIRE O/Rとは? CROSSFIRE O/Rは、名前の通りO/Rマッピングツールです。しかし、他のO/Rマッピングのフレームワークやツールと何が違うかというと、ソースコード自動生成型であるということです。 O/Rマッピングツールを使ってみたものの、なかなか難しかったり、思うように使えなかったりするケースは非常に多いのではないでしょうか? その点、CROSSFIRE O/Rはユーザーに対して非常にシンプルな構造になっていますので、Java初心者の方でも簡単に使えると筆者は感じています。CROSSFIRE O/Rの特徴 CROSSFIRE O/Rの具体的な特徴は、次のようになっています。SQLベースのシンプルな設計 O/Rマッピングのフレームワークやツールを使うに当たって、そのO/Rマッピングに関連した事項を勉強しなくてはならない場合には、かなり学習コストがかかります。 CRO

  • 1