Python関連のことを調べてみた

Python関連のことを調べてみた
目次

Mecabの付き合い方(Python)

mecab-python3のカナ変換しか使っていない、個人の感想です。

![Default_Two_friends_walk_handinhand_Their_backs_are_to_us_as_t_0_5e83ac54-534a-4fd8-a3d7-0b6963608238_0.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54688/40edc954-9e18-5b0c-1a63-9fb28d98e78b.jpeg)

## unidicは入れない
unidicを先に見ます。でも私はunidic_liteの方をよく使います。
“`
def try_import_unidic():
“””Import unidic or unidic-lite if available. Return dicdir.

This is specifically for dictionaries installed via pip.
“””
try:
import

元記事を表示

話題のOpen InterpreterをM3 Macにインストールして使う方法

# Open Interpreterとは?
Open Interpreterとは、ChatGPTに搭載されている[Code interpreter](https://openai.com/blog/chatgpt-plugins#code-interpreter)をローカルPC上で実行できるようにするものです。噛み砕いて表現すると、AIとの会話の中でPythonコードを自動で実行してもらって結果を得るといったものになります。
さらに、Macのシステム設定変更も可能で、[公式のデモ](https://github.com/OpenInterpreter/open-interpreter?tab=readme-ov-file#demo)によれば自然言語で尋ねるだけでMacを自動的にダークモードに変更しています。

今回は、M3 MacBookAirにインストールして使用してみます。なお、LLMにはOpenAIのAPIを使用します。

## 用意するもの
– Mac(本ページではM3 MacBook Airを使用して試しています)
– OpenAI API Key

:::note warn

元記事を表示

【生成AIアプリ100チャレンジ】(5)朗読アプリ

# 公開中サイト

https://ai.nuevo.jp/whispar/

# 開発環境

| | |
|:————:|:————:|
| Server | lightSail |
| Language | Python3.11 |
| Framework | Django |
| DB | sqlite3 |

ローカル環境ではPythonのvenvを使用。エディタはvs codeです。

# 目的
 WEB画面上でChatGPTと会話ができるアプリを作りたいと思っています。TTS(テキストを自然な音声にするAPI)とwhispar(音声をテキストにするAPI)を使えば、会話ができるはず。その第2弾として、whisparで音声を文字起こしするアプリを作りました。
これで、文字起こし機能と合わせて、同期処理すれば、ChatGPTと音声で会話ができる、はず。

# コード
“`python:qiita.rb
def i

元記事を表示

GPT-4 Turbo with Vision を使用して、WebページのスクリーンショットからNext.js × Tailwind CSSのコードを生成してみた

## はじめに

GPT-4 Turbo with Vision を使用して、Web ページのスクリーンショットから Next.js × Tailwind CSS のコードを生成してみました。

## 開発環境

– OS: Windows 11
– 言語: Python 3.11.5
– ライブラリ: Azure OpenAI

## 実装

では、早速実装していきます!

### 1. 環境設定

まず、必要なライブラリをインストールします。`dotenv`と`openai`を使用します。これらは、以下のコマンドでインストールできます。

“`bash
pip install python-dotenv openai
“`
  
### 2. Azure OpenAI の設定

Azure OpenAI を使用するためには、Azure ポータルで Azure OpenAI リソースを作成し、API キーとエンドポイント URL を取得する必要があります。
本記事では省略します。
取得した情報を`.env`ファイルに保存します。

“`.env
AZURE_OPENAI_END

元記事を表示

開発ツールで確認されるようなソースコードが、Pythonのrequests.get()で取得できないときの対処法

# はじめに
ブラウザの開発ツールから確認するかぎりでは、ソースコードが確認できるwebページ。
しかし、いざ`python`の`requests.get()`でページのソースコードを取得しようとしてもソースコードを得られない場合があります。
本記事では、このような場合の対処法のひとつを示します。

# 解決策
**`requests.get()`の引数`headers`にUser-Agentを指定する**
“`python
import requests
url = “” # webページのurl
response = requests.get(url, headers={“User-Agent”: “”})
“`
User-Agentの指定の仕方の一例は[こちら](https://yuki.world/python-requests-useragent/)。
自分の場合は、User-Agentに空文字列`””`を指定しても解決しました。

# User-Agentとは
webサイトを閲覧するためのブラウザ情報やOS情報。
これを指定することで、ブラウザの開発ツールで確認されるよ

元記事を表示

【SageMaker】初めてBERTモデルのトレーニングしてみた。

どうもこんにちは。

今回は、前回に引き続き、SageMakerを使用してモデルのトレーニングを実行してみました。

https://qiita.com/PDC-Kurashinak/items/6a17cbf8693e4c263a98

# BERTモデルってなに?

BERTは、NLP(自然言語処理)モデルの一種で、以下のような処理を行うことができます。

– 翻訳
– テキスト分類
– 質問応答

## NLP(自然言語処理)

NLP(自然言語処理)は、話し言葉や書き言葉をコンピューターで分析、処理する技術です。

ChatCPTなどにも使用されている技術です。

## NLP(自然言語処理)モデル

NLP(自然言語処理)モデルには以下のような種類があります。

– GPT-3
– CPT-4
– T5
– ELMo

# Transformerについて

> Transformerとは、2017年に発表された”Attention Is All You Need”という自然言語処理に関する論文の中で初めて登場した深層学習モデルです。それまで主流だったCNN、RNNを用いたエン

元記事を表示

PyMCにおいてMCMCサンプリングがとても遅いときに試してもらいたいこと

# はじめに
私はたまにPyMCを使っています。サンプリングが単純なモデルでも遅くなってしまう問題について解決法を調査したところフォーラムで発見しました。

# コード
jupyter notebook用に最初に!をつけてます。

:::note warn
pipなど異なるパッケージ管理ツールを一緒に使うことは推奨されていません。
:::

“`python
!echo y | apt-get install build-essential
!pip install “pymc>=5” “mkl-service>=2.3.0”
!pip install mamba
!echo y | mamba install m2w64-toolchain blas libpython theano-pymc
“`

# 参考
元記事はこちらです。

https://discourse.pymc.io/t/slow-sampling-in-virtual-environment/12084

元記事を表示

Transformerを用いた時系列分析

# はじめに

参考記事を参考に「Transformerを用いた時系列分析」を行いました。

## 参考記事

https://medium.com/@mskmay66/transformers-vs-lstm-for-stock-price-time-series-prediction-3a26fcc1a782

## 使用データについて

トレンド傾向の掴みやすさから、yahoo financeからGSPCの日足を使用しました。

訓練データの期間:2015/1/1 – 2017/6/30
テストデータの期間:2017/7/1 – 2021/1/1

https://github.com/sugiyama404/forecast_sp500/blob/main/transformer.ipynb

## Transformerとは[^1]

Transformerモデルは、従来のRNNモデルとは異なり、アテンション機構を用いることで、シーケンスデータ処理において高い性能を発揮します。

アテンション機構について、Tensorflow側で用意されています。

https://www

元記事を表示

[Django初心者]Djangoでのwebアプリの作成[基礎編〜ローカルサーバー構築まで〜]

## Part1 Djangoの説明
Djangoは,Pythonで書かれたWebアプリケーションフレームワークである.この記事では簡単にwebアプリケーションを作成するためのサーバー構築を説明する.この内容を発展させてReactとの連携,MySQL,PostgreSQLへの接続,PaaS上へのデプロイも可能であるが今回は省略する.

### Djangoでできること
##### Webアプリケーション開発
ブログ,SNS,ECサイトなど,様々なWebアプリケーションを開発できる.
##### API開発
RESTAPIなどのAPIを開発できる.
##### データ管理
データベースとの接続,CRUD操作などが簡単にできる.
##### ユーザー認証
ユーザー登録,ログイン,ログアウトなどの機能を実装できる.
##### 管理画面
開発したWebアプリケーションの管理画面を自動生成できる.

### Djangoの特徴や利点

##### 1.高速な動作
標準でキャッシュ機能が備わっており,大規模サービスにも対応できる.
##### 2.開発効率の高さ
豊富な機能が標準搭載されており,

元記事を表示

若手社員のAI部署での利用技術紹介

## はじめに
はじめまして、私は2022年に新卒としてBIPROGY株式会社に入社した高場です。
今回は若手社員の仕事紹介として記事をまとめます。

## 組織の紹介
私が所属している組織は AI 技術部と言い、主に AI を用いたサービスの検討等を行っています。
また、企業や研究機関と協力して共同研究を行うこともあります。
その中で私は主に自然言語処理や時系列データを扱う案件を主に担当しています。

## 案件紹介
### 全体概要
自然言語処理を取り扱っている案件としては、学校教育への支援システム(PoC)などがあり、時系列データの取り扱っている案件としては、 **国立研究開発法人科学技術振興機構(JST)** と協力して行っている **個人及びグループの属性に適応する群集制御**[^1]があります。

今回の記事では、時系列データを取り扱っている群集制御(群集マネジメント)に関する取り組みについて簡単紹介にします。

### 群集マネジメントとは
群集マネジメントとはざっくり言うと **集まった人々の安全・安心と快適な徒歩移動を支え、人々の満足度を高める予防安全活動​*

元記事を表示

話した言葉を文字起こしするアプリの作成

今回は、pythonで、話した言葉を文字起こしするアプリを作成しました。
これは、タイピングが苦手な人や、紙のメモをパソコンにそのまま入力したいときなどに役立ちます。

https://github.com/mt1-m/voice_memo

# 使用方法
zipファイルをダウンロードして解凍したら、voice_memoディレクトリで下記を実行して必要なライブラリをインポート、
“`
pip install -r requirements.txt
“`
できたら下記を実行します。
“`
python voice_memo.py
“`
## 実行結果
![実行結果1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3426433/f37203a1-ad41-3585-1a99-50f12abf4a89.png)
このように、話した言葉を文字起こししてくれます。頑張って発音すれば英語もいけます。終了するときは、’q’キーを押します。

# 実装方法
今回は、マイク入力と文字起こし共に、speech

元記事を表示

OptunaのintegrationにあるLightGBM Tunerのデフォルト探索範囲

# はじめに
Optunaにはimportして使うだけでLightGBMのパラメータ探索までやってくれる便利なモジュールが存在する。それがOptunaのintegrationに入っている。しかし、公式ドキュメントを見てもGitHubのコードに飛ばされるだけで、どのパラメータをどの範囲で探索しているのかは公開されていない。

そこでデフォルトの探索範囲をしっかり確認してみようと思う。

# 結論
“`python:パラメータ探索範囲
{
“lambda_l1”: {“min”: 1e-8, “max”: 10.0, “log”: True},
“lambda_l2”: {“min”: 1e-8, “max”: 10.0, “log”: True},
“num_leaves”: {“min”: 2, “max”: 16},
“feature_fraction”: {“min”: 0.4, “max”: 1.0 + 1e-12},
“bagging_fraction”: {“min”: 0.4, “max”: 1.0 + 1e-12},
“b

元記事を表示

03.単体テスト入門(AAAパターンの実践 )

# はじめに
この記事の内容は[『単体テストの考え方/使い方』(Vladimir Khorikov 著)](https://www.amazon.co.jp/%E5%8D%98%E4%BD%93%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E8%80%83%E3%81%88%E6%96%B9-%E4%BD%BF%E3%81%84%E6%96%B9-Vladimir-Khorikov-ebook/dp/B0BLTG8Z9K/ref=sr_1_1?crid=2UL0DTAU847M8&dib=eyJ2IjoiMSJ9.szFq2C4aOdDz4PEH_Zbenl-6teIVtP7d48eV0HCyp4b9Y64WkRrRDB10749eDaHipUJW6VZG7ez8XH2qZuzyVnHAo4txppqkgXbgCs-UiVaveADqWvzYPPkMHj7I1D05xxI73YyxabAjcDqljWXKTpaud9KThs8H9JAZHEkkndboMQ8ksDf–gkwjMhU3VuprwTVhAg9TPLgKMKpVjv0QxWbgQZAAR_pze

元記事を表示

URL(URIを含む)をほぼ間違いなく信用する方法

本投稿日は2024年3月29日であり、AI技術を活かせる技術者が政府が分裂していくのに影響されず、信頼できるサイトを取得するために、一見非効率に見えるが、必ず効率化できることを保証する記事である。

## URLの構造

### 1. URLとは

URLとは、ChromeアプリやEdgeアプリで開く、GoogleサービスやBingサービスあり、
世界中のパソコンに繋ぐための入り口である。

また、一般には知られていないかもしれないが、

Googleサービスでタブバーから翻訳という風に文字列を打つだけで、
翻訳サーバー (パソコン) に情報が伝わっており、
物理的な住所としての家の外に情報が漏れている。

URL (正確には、URIを含むURL) には、
ドメインとそれ以下のレポジトリ(各Webサイトのサービス群)が存在し、

https://xxxxxxxxx.ffff.wwww.rrr/ooo/rrr
であれば、

・ドメインは、xxxxxxxxx.ffff.wwww.rrr
・レポジトリは、ooo/rrr
・レジストリは、.rrr

となる。

### 2. ドメインとは

元記事を表示

【Python】GraphQLErrorにextensionを設定する

## 概要
GraphQLの仕様ではエラーに`extention`という領域があり、柔軟に項目が設定できます。(詳細については[GraphQLのエラー設計について](https://note.com/tabelog_frontend/n/n4fc8d4e134d5)を参照)
では、PythonでGraphQLサーバーを実装するときに、このextentionをどう設定する実装が良いのか、というメモ書きです。

## 対応案
実装のやり方は色々あると思いますが、[こちら](https://stackoverflow.com/a/77087614)のstackoverflowの記事で紹介されている通り、`graphql-core`のライブラリにある、GraphQLErrorのextensionに設定するやり方が良いかなと思います。ドキュメントについては[GraphQL Errors](https://graphql-core-3.readthedocs.io/en/latest/modules/error.html)にあります。
なお、上記のstackoverflowの記事ではGraphen

元記事を表示

【生成AIアプリ100チャレンジ】(4)文字起こしアプリ

# 公開中サイト

https://ai.nuevo.jp/whispar/

# 開発環境

| | |
|:————:|:————:|
| Server | lightSail |
| Language | Python3.11 |
| Framework | Django |
| DB | sqlite3 |

ローカル環境ではPythonのvenvを使用。エディタはvs codeです。

# 目的
 WEB画面上でChatGPTと会話ができるアプリを作りたいと思っています。TTS(テキストを自然な音声にするAPI)とwhispar(音声をテキストにするAPI)を使えば、会話ができるはず。その第一弾として、whisparで音声を文字起こしするアプリを作りました。

うまくいけば、ブラウザ画面上で自然言語を話しながら人工知能と会話できるはずです。chatGPTと音声で会話したい。その目的のための文字起こしアプリです。

元記事を表示

discord.pyを使って、音楽BOTを作った話

皆さん、こんにちは。
takazonessです。

時間があったので、[Github](‘https://github.com/Rapptz/discord.py/blob/master/examples/basic_voice.py’)に載ってるサンプルコードをもとにBOTを作ってみました。
ほぼサンプルコードのままで、ログと個人的に要らないと感じた機能を削った感じになりました。

# 前提
・DiscordBOTの作成・サーバーへの参加
・Pythonの実行環境
# ディレクトリの中に入れるもの
BOT用のディレクトリを作成し、下記のような構成にしてください。
(ダウンロードするファイルは環境に応じて選択してください。)
`ffmpeg,ffplay,ffprobe`はダウンロードした後、展開を行い、フォルダー内`bin`の中に入っています。

・discordbot.py(プログラムの中身)
・[ffmpeg](‘https://github.com/BtbN/FFmpeg-Builds/releases’)
・[ffplay](‘https://github.com/BtbN/

元記事を表示

スターリンソートを改善(ちゃんとソートできる)

六角レンチです(唐突)
前回、色々な[ソートアルゴリズム](https://qiita.com/iodine53/items/504d93977677c5b8ebf5)を実装しました。
公開してから反応たくさんもらえてうれしいです。
# ところで
スターリンソートというのをご存知でしょうか?
自分は兄に`O(n)`のソートアルゴリズムとして教えられて知りました

https://qiita.com/tttol/items/c9e5c74be3366df65bce

この記事にスターリンソートの事が書いてあります。

仕組みとしては
– ソート対象のリストをどんどん見ていく
– もし、データがソートできていない(今の要素と比べて右の要素の方が小さい)時、そのデータを**粛清**し、なかったことにする
– 最後まで見たら返す。
– なんとソートできている!

…といった感じ。

とりあえず、文字だけだと仕組みがわかりずらいのでpythonで書いてみます(結局文字じゃん)
# 普通のスターリンソート
“`py
def stalinsort(target:list):
notsy

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その67 画像によるマークの描画

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/442db53b5b7e22c1000c

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/067/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/067/ai.py

## ルールベースの AI の一覧

ルールベースの AI の一覧については、下記の記事を参照して下さい。

https://qiita.com/ysgeso/items/10d1d01192c014173e4b

# 図形によるマークの描画

前回の記事では、__文字列__ による __マークの描画__ の方法と、__欠点__ について __説明__ しました。

今回の記事では、__図形__ を使

元記事を表示

Streamlitを用いたチャートの可視化

お疲れ様です。

今日は「Streamlitを用いたチャートの可視化」について部分いたします。

# line_chartを使った線グラフ

line_chartを使いStreamlitで線グラフを表示させることができます。

上記で記載したデータは以下のグラフのように表示されます。

“`python
dataframe = pd.DataFrame(np.random.randn(10, 5),
columns = (‘col %d’ % i
for i in range(5)))
dataframe
st.write(‘This is a line_chart.’)
st.line_chart(dataframe)
“`

アウトプットは以下です。

![Screenshot 2024-03-28 at 11.23.13 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3507088/fccc87be-4c60-a62a-77dc-8f27e89c8c30.png)

# 面グ

元記事を表示

OTHERカテゴリの最新記事