初めまして。 株式会社ハイマックスの平田と申します。 記事とは無関係ですが、約1年を経て念願(!)のQiita Organizationの作成が叶ったことをこの場を借りて報告いたします。 さて先日、社内のMattermostから使える文書検索サービスをリリースしました。 単なる全文検索ではなく、Word2VecとTF-IDFで文書をベクトル化(≠Doc2Vec)し、検索ワードとの距離による検索を行っています。これにより、文書上と多少表現が異なる検索ワードでもヒットするようになります。 この記事では、サービスを作ってMattermostから使えるようにするまでの流れをソースコード(抜粋)付きで紹介します。 作ったもの Mattermostのチャンネルのいずれかで、例えば「/bot テスト」と入力すると… こんな感じで社内の文書管理システムから関連する文書のリンクを返してくれます。 作った動機
目次 PDF形式のデータから、テキストを抜き出す Pythonで使えるPDFライブラリ比較 pdfminer.six pdfminer.six付属のツールpdf2txt.py pdfminerを使ったPythonプログラム シンプルなレイアウトのPDFで試す 2段組みの複雑なPDFで試す 結論:プログラムのインプットにPDFは不適 理由1:うまくいくPDFとうまくいかないPDFがある 理由2:特にうざい2バイト文字が化ける問題 PDF形式のデータから、テキストを抜き出す PDF形式のデータから、テキストを抜き出して、何か処理する時のインプットデータにできないかと試してみた結果のご報告です。 一口にPDFと言っても、様々なバージョンがあります。 暗号化もできます。 ja.wikipedia.org そいういうバリエーションを吸収しないといけないなどと考えると、プログラミングでデータで使うには
datetime → 書式化文字列 >>> import datetime >>> now = datetime.datetime.now() >>> now.strftime("%Y/%m/%d %H:%M:%S") '2012/01/01 20:29:39' もしくは、新しい形式のformat関数を使ってもできる。 >>> "{0:%Y-%m-%d %H:%M:%S}".format(now) '2012-10-07 08:15:03' Python3.6以降からはフォーマット済み文字列リテラル(f-string)が使用可能なので、それを使うともっとかんたんにかける。 >>> f"{now:%Y-%m-%d %H:%M:%S}" '2012-10-07 08:15:03' その逆。書式化された日付文字列 → datetime >>> import datetime >>> dateti
This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessing the database using a nonstandard variant of the SQL query language. Some applications can use SQLite f
SQLite-概要 この章は、SQLiteとは何か、SQLとの違い、必要な理由、アプリケーションデータベースの処理方法を理解するのに役立ちます。 SQLiteは、自己完結型のサーバーなしのゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。 SQLiteは、最も急速に成長しているデータベースエンジンの1つですが、人気の点では成長しているので、そのサイズとは関係ありません。 SQLiteのソースコードはパブリックドメインです。 SQLiteとは何ですか? SQLiteは、自己完結型のサーバーなしのゼロ構成のトランザクションSQLデータベースエンジンを実装するインプロセスライブラリです。 これは、ゼロ構成のデータベースです。つまり、他のデータベースと同様に、システムで構成する必要はありません。 SQLiteエンジンは、他のデータベースのようなスタンドアロン
目次 Beautiful Soupの使用方法 findのコード一覧 selectのコード一覧 セレクタの指定方法一覧 Seleniumの使用方法 Seleniumを使うための事前準備 SeleniumとBeautiful Soupを使用する場合 Seleniumの基本コード ドロップダウンを選択したいとき Xpathの指定方法一覧 タブを変更する場合 特定の要素が表示されるまで待機処理 クリックできないときの処理 Pandasを使用してデータを保存する方法 ① PandasのデータCSVでダウンロードする ② Pandasのデータをマイドライブに格納する ③ Pandasのデータをスプレッドシートに反映させる #Beautiful Soupの使用方法 文字化け解消方法 requestsを使用する場合は通常下記のように書くと思いますが、 from bs4 import BeautifulSo
新型コロナウイルスについて、厚生労働省はクラスターと呼ばれる感染者の集団がどこで発生しているかを示す地図を公表しましたが、一部の自治体から「実態にそぐわない」という指摘があり、17日、公表基準を見直して地図を修正しました。 しかし、この中に大分市の飲食店が含まれていたことについて、大分県が「店の利用者の家族も人数に含めるなど適切ではない」などとして地図から除外するよう要請していました。 厚生労働省はクラスターの公表基準を見直し、利用者の家族など二次感染した人は人数に含めないことにしました。 この結果、5人以上のクラスターは大分県と和歌山県のケースが除外され、千葉県でも1か所減った一方で、神奈川県で1か所増え、全国8つの都道府県で13か所になりました。 また、クラスターの人数も大阪府のライブハウスのケースが50人以上から10人以上に変更されるなどして、10人以上のクラスターが6か所、5人以上
新型コロナウイルス感染症(COVID-19)は、発生源である武漢から遠く離れたEUなどでも急速に感染が拡大しており、フランス・ベルギー・アメリカのニューヨークなどで外出制限措置が執られています。COVID-19に対する関心の高まりを受け、Microsoftの「Bing」チームが世界各地の感染状況を地図から確認できるウェブポータルサイト「COVID-19 トラッカー」を公開しました。 Bing COVID Tracker https://www.bing.com/covid 実際に「COVID-19 トラッカー」にアクセスするとこんな感じ。右側の地図上には、感染者数が多い地域が赤い円で表示されています。記事作成時点ではEUでの感染拡大が続いていたため、地図上でもEU付近に赤い円が多数重なって表示されています。 マップ右上の+/-アイコンから地図の拡大・縮小が可能。渦中のEUをズームしてみた画
SQLAlchemy1.2の基本的なクエリをまとめました! python初心者以上向けの記事です。 改めて読み返してみると、直した方が良さそうな箇所や、この機能書かないんかいってのがあるので修正予定です。 記述内容 ORMについて、動かしてみるところまで、select, limit, orderby, distinct, join, leftjoin, in, insert, update, delete, union, unionAll, sql吐き出し, sqlを直接実行について また、flask-sqlalchemyでは実行を試していません。 SQLAlchemyとは pythonのORMモジュール。 session.query(User).all() このようにSQL操作ができる。 SQLをクラスとして扱えるようにしたもの。 使用する理由は、 ・SQLインジェクション対策がサポート
Data Models: A Comprehensive Guide to Structuring Information for Optimal Insights and Decision-Making In the realm of data management, the use of effective data models plays a pivotal role in organizing and representing information in a structured and meaningful way. Data models serve as the blueprint for databases, facilitating efficient data storage, retrieval, and analysis. This article delves
本記事では、題目を成すための方法について、「PyPDF2」「pdfminer.six」「fitz」「PyMuPDF」の4つのライブラリのインストール方法とコード例を載せました。 1. PDFファイルをページ毎に分割して.pdfで保存する「PyPDF2」 pip install PyPDF2 2. 日本語テキストを抽出して.txtで保存する「pdfminer.six」 pip install pdfminer.six 3. 画像を抽出して.pngで保存する「fitz」と「PyMuPDF」 pip install fitz fitzを動かすためには、下記のようにPyMuPDFもインストする必要がある。 pip install PyMuPDF ■本プログラム #!/usr/bin/env python3 # -*- coding: utf-8 -*- from PyPDF2 import Pdf
PDFのページ抜粋、結合、重ね合わせのようなPDFのページ操作ならば、PythonでPyPDF2を利用すれば簡単にプログラミングできます。例えば、フォルダ内のPDFを1つにまとめるプログラムなどがすぐに作れます。 しかし、PDFの中身のテキストをプログラムで読み取るのは大抵一筋縄ではいきません。日本語や帳票であればもっと難易度が上がります。 この方法ならどんなPDFでも大丈夫という決定版はありません。目的や原稿のPDFの状態により、適した方法を選択する必要があります。今回はその候補となる方法を紹介します。 本記事の目次 PyPDF2 pdfminer.six Apache Tika Tesseract OCR 最後に PyPDF2 PyPDF2 でもテキストを読み取れます。PyPDF2は以下のようにpipでインストールできます。 pip install PyPDF2 以下のようにextra
Apache OpenNLP を知ってますか。Apache OpenNLP(以下単に OpenNLP と記します)はその名の通り Apache Lucene/Solr と同じように Apache Software Foundation のもとで管理されているオープンソース製品で、自然言語処理のためのツールセットです。 自然言語処理(英語で Natural Language Processing;NLP と略記される)とは、日本語や英語などの自然言語で書かれたテキストを処理するための技術の総称です。文書要約、機械翻訳、形態素解析、構文解析などなどいろいろな NLP のタスクがあります。本記事では OpenNLP の一機能である固有表現抽出について説明します。 固有表現抽出とは 日本語などの自然言語で書かれたテキストには人名、地名、組織名などの固有名詞が含まれています。これらの固有名詞を属性(
固有表現とは固有表現とは一般的に、明確かつ自己完結的な存在を持つものを指します。犬や木、建物など物理的なものを表す場合もあれば、国や組織、感情などのように概念的なものの場合もあります。言語的に、大部分の名詞は何らかの形態の固有表現とみなすことができます。 固有表現抽出とは固有表現抽出とは、テキストの中から固有表現を見つけて分類する行為です。これは、人名や企業名から時間情報や金額に至るまで、事前に定義されたカテゴリーのシステムを利用して行われます。構造化されていないテキストに構造と意味情報を追加します。これによって、機械学習アルゴリズムがテキスト内の特定の固有表現を識別し、さらには大量のコンテンツを要約することもできるのです。また、これが自然言語処理タスクの重要な前処理ステップになる場合もあります。 顧客サポートの合理化や検索エンジンの最適化など広範囲に活用できる固有表現抽出は、日常的に使用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く