Python

OpenAPIのschemasで JSONデータを検証する方法

はじめに ビジネス統括本部のイチノです。最近は、ChatGPTにシェルスクリプトの書き方を教えてもらっています。 今回は、OpenAPIのschemasで JSONデータを検証する方法のメモです。 検証方法 openapi-schema-validator というライブラリを利用して JSON デー…

Atheris で Python コードの Fuzzing

はじめに ドローンのソフトウェア開発しています。イチノです。 Atheris を触ったのでメモ書きです。 Atheris は、プログラムの実行経路に応じたテスト用データを生成する Fuzzing ツールです。 github.com Fuzzing とは、プログラムに問題の有りそうなデー…

spaCy固有表現抽出(+Presidio)によるドキュメントの情報漏えいリスクチェック支援

公開時に匿名加工が必要な日本語ドキュメントのレビューにspaCy固有表現抽出を利用する手法の紹介

13億のパラメータを持つ日本語GPTでFew-shot推論を試してみる

こんにちは、R&Dの伊藤です。「〇〇 is all you need」系の論文が多すぎて何が本当に必要なのか悩みながら機械学習タスクに取り組んだりしています。 今回は先日公開されたrinna社の日本語GPTモデルを使って遊んでみた記事になります。 はじめに 日本語GPTモ…

Rasa+GiNZAによるお手軽チャットボット作成

R&Dチーム所属の伊藤です。GiNZAについて検索しようとして(地名の)銀座についての結果が出てくると悲しくなります。 今回はチャットボットの作成についてです。前から気になっていたRasaを試してみたので備忘録がてらまとめてみました。 はじめに 準備 ドメ…

EfficientDetによるドキュメントレイアウトを意識したOCR解析

R&D チームの徳田(@dakuton)です。 過去記事にて紹介したLayoutParserがバージョンアップ(v0.3.0以降)により、EfficientDetによるドキュメントレイアウト解析がサポートされたので動かしてみました。 技術解説 EfficientDetとLayoutParserの技術的な説明に…

GiNZAのja-ginza-electraモデルでELECTRAベースの単語ベクトルを使用できるようにする

はじめに R&Dチーム所属の伊藤です。相も変わらず自然言語処理と格闘する毎日を送っています。 今回は個人的にとても楽しみにしていたGiNZA v5の新モデルであるja-ginza-electraを使って、前後の文脈を加味した単語ベクトルを求められるようにするまでの手順…

LayoutParserによるドキュメントレイアウトを意識したOCR解析

R&D チームの徳田(@dakuton)です。 過去記事に引き続き、今回もテキスト抽出をさくっといい感じにしようシリーズです。 前回記事 tech-blog.optim.co.jp LayoutParserとは 物体検出を追加利用したドキュメント向けレイアウト解析ツールです。 (GitHub)Layo…

Bunkai(日本語文境界判定器)でPDFテキスト抽出の改行位置をいい感じにする

R&D チームの徳田(@dakuton)です。 前回記事にてPDFの改行補正に関する記事を書いたあと、前回記事のような日本語文境界判定での利用に特化したBunkaiというライブラリが公開されたので、今回は続編として紹介します。 前回記事 tech-blog.optim.co.jp テ…

spaCy(+GiNZA)でPDFテキスト抽出の改行位置をいい感じにする

R&D チームの徳田(@dakuton)です。 過去何回か、Tech Blog記事にてPDFやOCR、自然言語処理に関する手法を紹介してきましたが、今回もそちらに関連する内容です。 過去記事 tech-blog.optim.co.jp tech-blog.optim.co.jp tech-blog.optim.co.jp やりたいこ…

OCR前処理としてのOpenCV超解像

R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超…

OpenCVでQRコードを複数同時検出する方法 [detectAndDecodeMulti]

OPTiM TECH BLOG Advent Calendar 2020 12/15 の記事です。 R&Dの加藤です。最近のマイブームは市場で魚を買う事です。(切り落としやテールですが)マグロも数百円で買えます。 今回は、タイトルにもある通り、OpenCVでQRコードを複数同時検出する方法をコ…

Deep learning等の精度評価に便利なPyCMの紹介と各種指標の比較

OPTiM TECH BLOG Advent Calendar 2020 12/8 の記事です。 お久しぶりです。R&Dの加藤です。最近買った大きな買い物はDAHONのK3です。 購入したのは8月末ですが、11月に入るまでスタンドが手に入らなかったです。現状の不満点は空気が入れにくいという事だけ…

ExcaliburによるPDFテーブルデータ抽出を動かしてみる

R&D チームの徳田(@dakuton)です。 前回、2値化画像処理の論文(+実装)について紹介しましたが、今回はこういった2値化の応用例としてExcalibur(PDFからテーブルデータを抽出するためのWeb UIベースのツール)を紹介します。 本記事はOPTiM TECH BLOG Advent…

古くて新しい2値化画像処理を動かしてみる(ECCV 2020論文)

R&D チームの徳田(@dakuton)です。 今年の8月に開催されたECCV 2020のacceptされた論文のなかに、使い古された2値化画像処理をもとにした論文(+実装)があり気になったので、今回はそちらを少し調べて動かしてみた結果をご紹介します。 対象論文 A Generali…

TorchScript入門【PyTorchモデルを変換してC++/モバイルで実行できるモデルを手に入れる】

まえがき R&Dチームの宮﨑です。今回はPyTorchのモデルをC++/モバイルから実行できるように変換してくれるTorchScriptについてご紹介したいと思います。本記事ではPyTorch 1.4.0を前提にしています。 8/26に発表するOPTiM TECH NIGHTでもLibTorch/TorchScrip…

日本語正式サポートされた自然言語処理ライブラリspaCyのStreamlit可視化が超お手軽だった

R&D チームの徳田(@dakuton)です。 最近、spaCyの日本語版モデルが正式サポートされたのでいろいろ触ってみたところ、解析結果ビジュアライズを全部まとめるStreamlitアプリも同じ月に提供されていることがわかったので、今回はそちらを紹介します。 なお…

Google Cloud Speech-to-Text APIをいろいろ調査してみる

こんにちは、2020年新卒入社予定の山口です!修論と引越し準備とアルバイトで慌ただしい日々を過ごしています。今日は業務で触った、Google製API Google Cloud Speech-to-Text API について皆さんと共有できればと思います。 Google Cloud Speech-to-Text AP…

Edge TPU の January 2020 Updates を追う

こんにちは。mermaid でガントチャートを書いている R&D チームの奥村(@izariuo440)です。前回の Edge TPU 更新からはや4ヶ月。今回の更新では、Edge TPU が macOS や Windows で動くようになりました。この記事では Edge TPU January 2020 Updates をベ…

Beating C with 60 Lines of Python: wc -l (failed) ~Python での行数カウントを手軽に高速化~

R&D チームの奥村です。最近シェルスクリプトばっかり書いてます。Beating C with 70 Lines of Go - Ajeet D'Souza を見て気になったので、Python によるテキストファイルの高速な行数カウントを試しました。実験の結果、いくつかの簡単な処理を加えるとこと…

Edge TPU の September 2019 Updates を追う

こんにちは。6年間使い続けた iPhone 5s に別れを告げ、iPhone 11 Pro に移行した R&D チームの奥村(@izariuo440)です。前回の Edge TPU 更新からはや2ヶ月。今回の更新では、apt-get 対応強化、コンパイラ更新、Python ライブラリ更新、GitHub への移行…

本気で自然言語処理やらないエンジニアでもできる、イベントアンケートの意見抽出

まえがき R&Dチームの徳田(@dakuton)です。 私の開発業務としては自然言語処理をメインとした業務ではありませんが、必要に応じてテキスト解析に携わることもあります。 今回は、がっつり自然言語処理やらないエンジニアからみたときのテキスト解析の使いど…

Raspberry PiとArduinoで社内イベントのための早押しボタンを電子工作してみた

はじめに 19新卒エンジニアの青木です。 先日(2019/06/07)にOPTiM Dayという創立記念日イベントがあり、今回はそこでの新卒企画を紹介します この記事はOPTiM Day新卒企画に登場した早押しボタンと効果音について、軽く解説したいと思いますのでよろしくお…