R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超解像に限らず、文字が一定サイズ以上になるような前処理 -> OCR解析 を実施すると、OCR精度改善につながることがある 超解像による見た目の滑らかさに比例して、OCR精度改善につながるわけではない 低計算コストな画像拡大から超解像に変更する恩恵は発生しにくい テスト条件を変えた場合、違った結果になる可能性あり(用いるOCRエンジン、画像の劣化条件、OpenCV未提供の後発モデル利用など) 実験内容 利用するOCRエンジンの実行条件は変えずに、前処理部分のみ変更した場合のOCR精度・速度変化を調べま
「ソフトウェア書き直し」の是非はなぜか目の離せない話題(1, 2, 3)で、その手の話があるとつい読んでしまう。自分は仕事では別に書き直しを決断できる立場ではないし、余暇でも特に書き直すソフトウェアがない。他人事。なのに目が離せない。オブセッションと言っていい。なので数年に一度は心の中のリライト話を吐き出して精神の平安を取り戻したい。今日はそんな日です。 Things You Should Never Do インターネットのプログラミング・サブカルチャーに「書き直し・ダメ・絶対」というミームを持ち込んだのは、今からおよそ 20 年前の 2000 年に Joel Spolsky が書いた Things You Should Never Do, Part I – Joel on Software だと思う。(日本語訳は本になっている。昔はインターネットでも読めた気がするんだけど。) これは N
[2021年版]AWSセキュリティ対策全部盛り[初級から上級まで] というタイトルでDevelopersIO 2021 Decadeに登壇しました #devio2021 DevelopersIO 2021 Decadeで登壇した動画や資料を掲載、解説をしています。AWSのセキュリティについて網羅的に扱っています。ちょー長いのでご注意を。 こんにちは、臼田です。 みなさん、AWSのセキュリティ対策してますか?(挨拶 ついにやってまいりました、DevelopersIO 2021 Decade!私は「[2021年版]AWSセキュリティ対策全部盛り[初級から上級まで]」というテーマで登壇しました。 動画と資料と解説をこのブログでやっていきます。 動画 資料 解説 動画はちょっぱやで喋っているので、解説は丁寧めにやっていきます。 タイトル付けの背景 今回何喋ろうかなーって思ってたら、2年前のDeve
R&D チームの徳田(@dakuton)です。 過去何回か、Tech Blog記事にてPDFやOCR、自然言語処理に関する手法を紹介してきましたが、今回もそちらに関連する内容です。 過去記事 tech-blog.optim.co.jp tech-blog.optim.co.jp tech-blog.optim.co.jp やりたいこと PDFからテキストを抽出する際に含まれる、中途半端な位置にある改行を除去することが目的です。 シンプルな方法としては、句点(。)の位置をもとに改行する方法ですが、今回はspaCy(とGiNZA)を併用した場合にどうなるかを試してみることにします。 テストデータ 今回は、下記記事のPDFを使用しました。 財務省「ファイナンス」令和3年2月号 の「ポストコロナ時代を形作る、コロナ禍で生まれるDX(デジタルトランスフォーメーション)」 1 メディア掲載情報: 財務
はじめに R&Dチーム所属の伊藤です。相も変わらず自然言語処理と格闘する毎日を送っています。 今回は個人的にとても楽しみにしていたGiNZA v5の新モデルであるja-ginza-electraを使って、前後の文脈を加味した単語ベクトルを求められるようにするまでの手順をまとめました。 はじめに GiNZA v5について セットアップ モデルのロード + 文の解析方法 行いたいこと Contextualな単語ベクトル ELECTRAモデルの出力と単語ベクトルの計算 spaCyのUser hooksの追加 おわりに GiNZA v5について GiNZAはspaCyをベースにしたPythonの日本語向け自然言語処理ライブラリです。 形態素解析をはじめとして、固有表現抽出や品詞タグ付け、構文解析などを行うことが可能です。 このGiNZAですが、2021年8月26日に最新バージョンであるv5が公開さ
この記事は自然言語処理アドベントカレンダー 2019の12日目です。 昨今自然言語処理界隈ではBERTを始めとする深層学習ベースの手法が注目されています。 一方それらのモデルは計算リソースや推論速度の観点で制約が大きく、プロダクション運用の際は留意すべき事項を多く持ちます。 (googleが検索にBERTを導入というニュースを見た時はとても驚きました) そこで本記事では自然言語処理タスクのシンプルかつ運用しやすい実装方法を考えていきます。 実装にはpythonと以降説明するspaCyとGiNZAの2つのライブラリを使います。 環境: ubuntu18.04 python 3.6.8 ライブラリインストールはpipから行います pip install spacy pip install "https://github.com/megagonlabs/ginza/releases/downlo
SAIG の佐藤尭彰です。最近は業務で Python ばっかり書いています。 今回は Python連載 の第4回目で、Python の中でも「なんとなく」で扱われがちなイテレータについてです。 イテレータとはあるコンテナの中の要素に1つずつアクセスできるオブジェクト。 もう少し 公式 から引用すると、 (iter()) 関数は、コンテナの中の要素に1つずつアクセスする __next__() メソッドが定義されているイテレータオブジェクトを返します。 つまり、コンテナの中身を1つずつ返す __next__() メソッドを持つ (ようなオブジェクトを返す __iter__() 関数を持つ) ことがイテレータの本質です。 list などのシーケンスと異なり、実態として中身が存在する必要がありません。これを実装するための1手段が ジェネレータ や ジェネレータ式 であり、返すべき値はこれらを呼び出
※具体的なアンケートの質問は不明? この記事 ↑の上位20製品について、簡単に調べてみました。 私がよく知らない製品(Flyteとか)、みんな知っているだろう製品(Sparkとか)は記載薄めです。 なお、私の知識は 知っている Apache Airflow, Trino, Prefect, Apache Spark, Amundsen, Apache Flink, Apache Kafka,Apache Duid, pandas 名前だけ知っている dbt, Apache Pinot, Apache SuperSet, Great Expectations, Dask, Apache Arrow, Apache Gobblin 知らない Dagster, Flyte, RudderStack, Ray な感じです。 目次 dbt Apache Airflow Apache Superset
はじめに こんにちは、メルカリJP の Search Backend チームの otter です。 今回は、BFF的役割を担っている Search API のインターフェースを version 2 として刷新したときの課題や改善した点について紹介したいと思います。 API が持っていた課題 ご存知の方も多いと思いますが、メルカリではサービス全体としてマイクロサービスアーキテクチャによる開発を採用しています。 Search API もモノリシックな API からマイクロサービスとして切り出されたもので、iOS やAndroid などのクライアントとの後方互換性を担保するため、API のインターフェースや仕様はそのまま移行されました。 そのため、サービス面では柔軟に新たな施策に対応するのが難しかったり、システム面では各マイクロサービスで共通化されるべき、エラーハンドリングやページネーションがメ
この記事は、下書き供養 Advent Calendar 2018 - Adventarの2日目の記事です。 めっちゃ専門的な内容になってしまいました。ごめんなさい。 某Slackでの議論内容をブログに書こうとしたのですが、下書きのまま放置していました。 Wednesday, August 15th と書いてあるので、約半年前の内容となります。 もくじ もくじ はじめに 「データ基盤の3分類」と「(一般的な)技術要素」 1.データレイク(Data Lake) 2.データウェアハウス(Data Warehouse) 3.データマート(Data Mart) 私が考えるデータ基盤の定義 私が考える「あるべき構成」 技術要素を分けるのはアンチパターン 進化的データモデリングを容易にしよう チームとアーキテクチャを選ぶ まとめ 参考 余談 追記 はじめに データ基盤と世間一般で言われるシステムには分類
フィードバックを送信 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 e コマース ウェブサイトの URL 構造を設計する Google が e コマースサイトのウェブページを効率的に発見して取得できるように、URL を適切に設計してください。お客様が URL の構造を管理されている場合には(たとえば、独自のサイトをゼロから構築されているなど)、このガイドを参考にして URL 構造を決定すると、Google が e コマースサイトをインデックス登録する際の問題を回避できます。 URL 構造が重要である理由 URL 構造の設計が適切であれば、Google はサイトをクロールしやすく、インデックス登録もしやすくなります。URL 構造に不十分な点があれば、以下の問題が発生する可能性があります。 Googlebot が 2 つの URL で同じコンテンツが返される
Clone via HTTPS Clone with Git or checkout with SVN using the repository’s web address. #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だ
Kubernetes上に分析環境を構築する機会があったのでどのように構築したかを紹介します。同じような構成でKubernetes上で構築するのは3回目になったので構築方法も洗練されてきました。構成は以下のようになっています。 MySQL(RDS): サービスのデータベース。ここのテーブルからBigQueryにEmbulkでデータをエクスポートします。 PostgreSQL(RDS): Digdagのデータベース。今回新たにつくりました。 Digdag: データベースのエクスポートなどを実行するタスクスケジューラ。失敗したときにリトライもできます。 Embulk: プラグインを使ってデータベースをMySQLからBigQueryにエクスポートします。Digdagと同じDockerコンテナでDigdagのタスクから実行されます。 BigQuery: すべてのエクスポートされたデータをここに集約さ
2020.07.06 ML Pipeline事始め – kedro(+notebook)とMLflow Trackingで始めるpipeline入門 – こんにちは。次世代システム研究室のT.S.です AI/機械学習が不可欠となった昨今、数多くの方がKaggleなどの分析コンペ参加から機械学習モデルの実験、そして本番環境への適用まで色々実施してらっしゃると思います。 私もその一員で、日々モデルの実験から本番機械学習基盤の構築まで色々な分野の機械学習関連業務に従事しております。 そうした中で(皆様も同じ悩みを抱えているかと思いますが)実験->本番適用->運用に渡って、色々な悩みを抱えています。 一例ですが、こん悩みがあります 実験を複数回繰り返した結果、実行結果とハイパパラメータの組み合わせがゴチャゴチャになる 実験時の処理がモジュール化していないため、処理順序の入れ替えや追加が困難 実験時
こんにちは。カスタマーサクセス部 リサーチャーの坂田です。 レトリバでは、固有表現抽出、分類、PoC用ツール作成に取り組んでいます。 PoC用ツール作成は、研究成果をより迅速にPoCで試せることを狙いとしています。 実験結果の可視化UIが充実しているMLFlow を中心に、足りないところを補うため、その他のツールとの組み合わせについて考えていきます。 MLFlow MLFlow は、実験管理からデプロイまでカバーしたツールです。特定のツールに依存しないということに重きを置いています。 4つのコンポーネントに分かれており、必要な機能のみを使えるようになっています。 MLflow Tracking : パラメータ、コードのバージョン管理、生成物の捕捉などを行う機能など。 MLflow Projects : 再現性を担保するための機能など。 MLflow Models : デプロイの支援機能など
はじめに早速ですが、皆さんはマイクロサービスを構築するとしたら、どのような構成を考えますか? 多くの企業で、GKE を使ったマイクロサービス アーキテクチャが採用されています。選定理由として、Kubernetes が持つ機能や大きめなリソースが必要であったり、社内インフラチームによる Kubernetes のサポートがあるといった理由などがあります。一方、定期アップグレードなどの観点から、Kubernetes の運用は少し大変…と感じる方もいるかと思います。 GKE Autopilot の利用という考えもありますが、サーバーレスでコンテナを動かせる Cloud Run を使って、インフラ管理不要でマイクロサービスを構築が出来ると嬉しくないですか? 実際、そういった構成を採用されている企業も見かけます。 この記事では、設計や実装時に考えるであろう、以下の 5 つのポイントにフォーカスしてみた
Scrum Fest Mikawa 2021の登壇資料です。 以下は資料内で引用している参考リンクです DPA https://qiita.com/viva_tweet_x/items/97e819c626979b78947a KPT http://objectclub.jp/download/files/pf/KPT_TIPS.pdf TimeLine https://developers.freee.co.jp/entry/timeline-is-a-good-retrospective-method 象、死んだ魚、嘔吐 https://no-kill-switch.ghost.io/elephants-dead-fish-vomit/ Start Stop Continue https://www.retrium.com/retrospective-techniques/start-
この記事の目的 ずいぶん昔、このトピック分析を用いたサービスの開発を行なっていました。 最近は全く関係のないことばかりやっていたので、最新のライブラリの使い方を学び直す際のアウトプットをすることが一つの目的。 もう一つは実際にトピック分析をサービスに導入するという観点で記事を書くことです。 なのでこの記事は簡単にトピック分析の手順についての解説と、要所要所で実際の導入において留意せねばならない点を解説できればと思います。 対象者 テキストマイニング初心者 トピック分析をサービスに導入することを検討する人 トピック分析をはじめる 手順の概要 トピック分析を始める前にいくつかの事前準備が必要となります。 環境設定 文章準備 文章分割 辞書データ作成 コーパス作成 LDAトピックモデル作成 LDAトピックを用いて文章のトピックを分析 基本的にはその他機械学習の手順と同じく、学習データを作成してモ
「テレワーク下で生産性をUPさせる! 進化系雑談のつくりかた」のイベントに登壇した、株式会社Enbirth CEO 河合優香理氏と株式会社遭遇設計代表取締役 広瀬眞之介氏。リモートワークで雑談が重要視される中、雑談のマンネリ化や、強制的な雑談によって社員への効果にバラつきが生まれるなど、課題も浮き彫りになっています。そこで本記事では、リモートコミュニケーションを円滑に行うための手順を解説しています。 多分野のイベントが同時開催されていたイベントスペース 広瀬眞之介氏:あと、また違う事例なんですけれども。虎ノ門ヒルズが建設中で、もうすぐ完成するくらいのタイミングで、近くに古びた寿司屋があって。そこを「グリーンズ」というNPOと「日本仕事百貨」という企業がリノベーションして、イベントスペースみたいなものを作っていたんです。 そこで、例えば「社会起業について語る」「エコについて語る」「地域の特産
2021年8月に発売された『機械学習を解釈する技術』の著者である森下光之助氏と『施策デザインのための機械学習入門』を共著した齋藤優太氏と安井翔太氏の3人が集まり、執筆の経緯や書籍への想いについて、これまで2回にわたってお届けしてきました。今回はその最終回です。 論文との向き合い方 安井:今回お2人が書籍で執筆した内容は、ここ数年の最新と言っても良いレベルの研究成果を実際のデータサイエンティストが使えるようにするものだと思っています。なので、お2人の論文や研究者との関わり方とかを聞くとおもしろいんじゃないかなと思います。 齋藤:たぶん、論文を書いてる研究者と、実践者として論文を読む人たちの間で、論文の役割に対する認識のギャップがある気がするんです。もちろん論文を書いてる研究者たちは(研究者ではない)読者が働く会社が抱えている個別の課題や問題設定は知らないので。あくまで個々の研究分野の中の価値
Tweet 📂 Terraform におけるファイル分割 codenize ツールとしてポピュラーな Terraform をミニマルに使いはじめる場合、最初から細かくファイルを分割するのではなく、たとえば AWS のサービスごとにファイルを分け、1 ファイルに複数のリソースをまとめて書くことがあります。 その後、リソースが増えてきてファイルが大きくなってきたときにモジュール化するなどして、はじめてファイルを分割しようとなります。 その場合、素朴にモジュールに切り出しても、Terraform の状態を保持する tfstate の整合性がとれなくなり、意図しない差分が出て困ることになります。 そのような場合には state mv コマンドが役に立ちます。 Command: state mv - Terraform by HashiCorp 🍡 state mv を使ったリファクタリング例
PHP Conference Japan 2021 で発表した「PHPで学ぶオブジェクト指向プログラミング入門」のスライドです。 # URL PHP Conference Japan 2021: https://phpcon.php.gr.jp/2021/ CfP: https://fortee.jp/phpcon-2021/proposal/868cc3d1-114d-4543-a59f-e068b0fb8fa5 YouTube: https://www.youtube.com/c/narusemi HomePage: https://nrslib.com Twitter: https://twitter.com/nrslib
Unicode コンソーシアムが提供している見た目そっくりな文字リストにある文字が紛れていても文字列マッチする小さなライブラリが Confusables です。 このクラスは最新の Confusables.txt を Unicode.org から取得し、紛らわしい文字を含んだマッチする正規表現を生成してくれます。 たとえば、”Hello” に対しては次のようなパターンができます。 Regexp pattern: [HHℋℌℍ𝐇𝐻𝑯𝓗𝕳𝖧𝗛𝘏𝙃𝙷Η𝚮𝛨𝜢𝝜𝞖ⲎНᎻᕼꓧ𐋏ⱧҢĦӉӇ][e℮eℯⅇ𝐞𝑒𝒆𝓮𝔢𝕖𝖊𝖾𝗲𝘦𝙚𝚎ꬲеҽɇҿ][l\|∣⏽│1۱𐌠𝟏𝟙𝟣𝟭� IIIⅠℐℑ𝐈𝐼𝑰𝓘𝕀𝕴𝖨𝗜𝘐𝙄𝙸Ɩlⅼℓ𝐥𝑙𝒍𝓁𝓵𝔩𝕝𝖑𝗅𝗹𝘭𝙡𝚕ǀΙ𝚰𝛪𝜤𝝞𝞘ⲒІӀⵏ
エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。 Overview 最近、社内で情報検索論文輪読会を立ち上げました。 情報検索論文読み会のスケジュール そこでNGT-ONNGについての論文*1を紹介したところ1時間の予定のところを盛り上がりすぎて2時間超えてしまいました。 大盛り上がりのついでに、今回は情報検索論文輪読会で紹介した近似最近傍探索ライブラリNGTを内部で利用するValdを使って、類似文書検索がどのように出来るのか、現状の問題を解決できるのかを試したのでその結果を報告します。 Overview 弊社が抱える類似文書検索の課題 Sentence-BERT Valdを使った近似最近傍探索 NGT Vald Vald×Sententce-BERTで類似文書
「個人情報」が世界的な重要テーマになっている。プライバシー保護を目的とした法規制の整備が世界的に進み、グーグルやアップルは、パーソナルデータを使うサードパーティークッキーの廃止に向けて動いている。 この潮流のなか、個人情報を守るために、私たち一人ひとりにできることは何か。また、企業はどのようにユーザーの情報を守るのか。 Kindle人気ランキング1位を獲得した『データマネジメントが30分でわかる本』の著者、横山翔(@yuzutas0)氏と、 『AI・データ分析プロジェクトのすべて』の著者の一人で教育系SaaS企業でデータチームを率いる伊藤徹郎(@tetsuroito)氏に、個人と企業それぞれがいま取り組むべきことを聞く。 POINT まずは、自分がどこにどんな情報を預けているかの洗い出しを個人が企業のリテラシーを高める個人情報は「人権」企業はデータの一生を管理する意識と基盤を整えるべき (
こんにちは、プロダクト開発本部SREチームの松嶋です。 delyのSREチームは、2020年末頃まで最大2人体制の少数で奮闘してきましたが、嬉しいことにこの1年でメンバーが4人と倍増しました。 それまでは、リソース不足であったため足元にある緊急度の高い課題を解決していくことがSREのメインイシューで、長期的に取り組んでいく必要のある改善業務に着手することが困難な状態でした。 しかし、SREのプラクティスを何も実践できていなかった訳ではなく、想定外の複雑さを減らし、今以上に増やさないための文化づくりを意識的にしてきたので、サービスの信頼性が大きく下がることはほとんどなく、アラート対応に追われる状況に陥ることは防げていたと思います。 実際どのように想定外の複雑さを減らす取り組みをしていたのかは、現CTOの井上が「SRE NEXT 2020」にて発表しているので、興味のある方はこちらの記事をご覧
Many small online retailers and new entrants to the online retail sector are keen to practice data mining and consumer-centric marketing in their businesses yet technically lack the necessary knowledge and expertise to do so. In this article a case study of using data mining techniques in customer-centric business intelligence for an online retailer is presented. The main purpose of this analysis
「Scrum Fest Osaka」はスクラムの初心者からエキスパート、ユーザー企業から開発企業、立場の異なる様々な人々が集まる学びの場です。KEYNOTEで登壇したのは、楽天グループ株式会社の椎葉氏。「誰も嫌な思いをしない変化」をタイトルに、自身が開発グループのサポートをしたときの取り組みについて話しました。全3回。1回目は、開発チームをサポートしたきっかけとそのミッションについて。 「スクラムをやっている」とは「前に進むための選択をしている」ということ 椎葉光行氏:ついに始まりましたね、スクラムフェス大阪。全国で、長崎も青森もいて、オンライン開催だし。いろいろなコミュニティもいっぱい参加しているし、名前のとおりスクラムなお祭りという感じですね。僕は今は緊張していますがすごく楽しみにしています。 今年も光栄なことに声をかけていただいて、自分もちょっと心の準備できたのでがんばっていこうかな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く