タグ

ブックマーク / tech-blog.optim.co.jp (9)

  • Rasa+GiNZAによるお手軽チャットボット作成 - OPTiM TECH BLOG

    R&Dチーム所属の伊藤です。GiNZAについて検索しようとして(地名の)銀座についての結果が出てくると悲しくなります。 今回はチャットボットの作成についてです。前から気になっていたRasaを試してみたので備忘録がてらまとめてみました。 はじめに 準備 ドメインの設定 intents entities slots responses forms actions モデルの設定 language pipeline policies モデルの訓練データ nlu rules stories エンドポイント設定 モデル訓練 チャットボット実行 おわりに はじめに RasaはRasa Technologies GmbHより提供されるオープンソースの対話システム作成フレームワークです。 Pythonで書かれており、自然言語理解のモデル訓練・推論環境や対話管理ツール、データベースやAPIに接続するためのエン

    Rasa+GiNZAによるお手軽チャットボット作成 - OPTiM TECH BLOG
  • OCR前処理としてのOpenCV超解像 - OPTiM TECH BLOG

    R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超解像に限らず、文字が一定サイズ以上になるような前処理 -> OCR解析 を実施すると、OCR精度改善につながることがある 超解像による見た目の滑らかさに比例して、OCR精度改善につながるわけではない 低計算コストな画像拡大から超解像に変更する恩恵は発生しにくい テスト条件を変えた場合、違った結果になる可能性あり(用いるOCRエンジン、画像の劣化条件、OpenCV未提供の後発モデル利用など) 実験内容 利用するOCRエンジンの実行条件は変えずに、前処理部分のみ変更した場合のOCR精度・速度変化を調べま

    OCR前処理としてのOpenCV超解像 - OPTiM TECH BLOG
  • spaCy(+GiNZA)でPDFテキスト抽出の改行位置をいい感じにする - OPTiM TECH BLOG

    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 メディア掲載情報: 財務

    spaCy(+GiNZA)でPDFテキスト抽出の改行位置をいい感じにする - OPTiM TECH BLOG
  • GiNZAのja-ginza-electraモデルでELECTRAベースの単語ベクトルを使用できるようにする - OPTiM TECH BLOG

    はじめに R&Dチーム所属の伊藤です。相も変わらず自然言語処理と格闘する毎日を送っています。 今回は個人的にとても楽しみにしていたGiNZA v5の新モデルであるja-ginza-electraを使って、前後の文脈を加味した単語ベクトルを求められるようにするまでの手順をまとめました。 はじめに GiNZA v5について セットアップ モデルのロード + 文の解析方法 行いたいこと Contextualな単語ベクトル ELECTRAモデルの出力と単語ベクトルの計算 spaCyのUser hooksの追加 おわりに GiNZA v5について GiNZAはspaCyをベースにしたPythonの日語向け自然言語処理ライブラリです。 形態素解析をはじめとして、固有表現抽出や品詞タグ付け、構文解析などを行うことが可能です。 このGiNZAですが、2021年8月26日に最新バージョンであるv5が公開さ

    GiNZAのja-ginza-electraモデルでELECTRAベースの単語ベクトルを使用できるようにする - OPTiM TECH BLOG
  • 【初心者向け】 機械学習におけるクラス分類の評価指標の解説 - OPTiM TECH BLOG

    こんにちは。R&Dチームの河野です。主な担当業務は機械学習モデルの開発です。 タイから日に留学し、卒業後日企業に就職していました。データ分析機械学習の業務経験が3年程度で、R&Dチーム唯一の女性かつ外国人のメンバーです。 直近の仕事はディープラーニングによるクラス分類モデルの開発を担当しており、今回はモデル精度評価によく使われる評価指標について初心者向け説明させて頂きたいと思います。機械学習モデルの精度改善には課題に適切な評価指標の選択がすごく重要のため、各評価指標の理解が必要になります。分類モデル開発に興味を持っている方・挑戦してみたい方にご参考になれば幸いです。 基的な用語 ポジティブとネガティブクラス 混合行列 評価指標 正解率(Accuracy) 適合率(Precision) 再現率(Recall) F値(F1-score) しきい値とprecision-recallのトレ

    【初心者向け】 機械学習におけるクラス分類の評価指標の解説 - OPTiM TECH BLOG
    clavier
    clavier 2021/06/01
  • RustのPinチョットワカル - OPTiM TECH BLOG

    こんにちは。 先日、しばらく不動の一位を守ってきたRustVSCodeで使う記事を抜き、 私の書いた非同期プログラミングの記事の記事が一番人気になったと思いきや数日でまた抜き返されて傷心中の、 R&Dチームの齋藤(@aznhe21)です。 さて、Rustの非同期プログラミングで時々Pinを使ったり、コンパイラにUnpinが不足していると怒られたりしませんか? そんな時によく分からずuseしたり別の手段を取ったりしていませんか? 今回、このままではマズいと思ってPinを勉強して完全に理解しましたので、その成果を皆さんと共有したいと思います。 更新履歴 03/10 指摘を受け下記2点を修正しました Unpinを実装しない型もムーブ出来ることへの言及 pin-projectクレートが安全であることによる書き換え 対象読者 この記事は下記全てに当てはまる人を想定して執筆しています。 Rustのト

    RustのPinチョットワカル - OPTiM TECH BLOG
  • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

    こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

    Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
  • Laravel+PostgreSQL+Vue.jsでSPA開発【チュートリアル】 - OPTiM TECH BLOG

    はじめに 皆様こんにちは。OPTiM新卒1年目エンジニアの青木です。 前回は早押しボタンなんかを作っていました。 tech-blog.optim.co.jp 今回は、PHP フレームワークの Laravel を、PostgreSQLVue.js と組み合わせて作成する TODO アプリを通して紹介します。 このフレームワークらはこちらの記事でも密かに利用しています。 tech-blog.optim.co.jp OPTiMではあまり利用されていませんが、一部のアプリケーションで実利用されている箇所もございます。 PHPは昔のイメージからかなり避けられていていますが...今のPHPとそのフレームワークはすごく発展していてとても使いやすいので是非使っていただきたい!という気持ちがあります。 ですが、現状はあまり利用していただけなくて個人的には悲しい気持ちでいっぱいです。 そんなPHPですが

    Laravel+PostgreSQL+Vue.jsでSPA開発【チュートリアル】 - OPTiM TECH BLOG
  • TensorRT/Rust/CUDA/thrust... 技術選定 2018 - OPTiM TECH BLOG

    オプティム R&D チームの奥村です。今回は、私がどういう風に技術選定してきたかという振り返りです。2018 年は、動画解析ミドルウェアの開発などに取り組んできましたので、その中で学んだことの一部 (TensorRT/Rust/CUDA/thrust) を振り返る形でお伝えししてみます。 学んだこと TensorRT 学び方 検討できなかったこと C++ (復習) 学び方 Rust 学び方 検討できなかったこと おまけ:パフォーマンス解析 CUDA/thrust 学び方 検討できなかったこと さいごに 学んだこと TensorRT 深層学習モデルを高速に推論するために、2017 年末から継続的に取り組んできました。背景は以下を参照してくだい。 tech-blog.optim.co.jp TensorRT にビルトインされていないカスタムレイヤーの実装や、前処理・後処理の実装、学習済みモデル

    TensorRT/Rust/CUDA/thrust... 技術選定 2018 - OPTiM TECH BLOG
    clavier
    clavier 2019/01/24
  • 1