ChatGPT使ってみました!

最近話題のChatCPTを使ってみました。とても面白かったのでみなさんに是非使っていただきたいと思ったので、ブログに残していきます!

ChatGPTについて

  • ChatGPTってなに?
  • CgatGPTの始め方
  • AIの発達×学校はどうなるのだろう?

ChatGPTってなに?

ChatGPTは簡単に説明すると「とっても優れたチャットAI」です。

今回はChatGPTについての情報をChatGPTに聞いてみました。

ゆう

私はこれから、ChatGPTについての記事を書こうとしています。そこで、ChatGPTについて教えてください

ChatGPT

ChatGPTはOpenAIによって開発された大規模な自然言語処理モデルです。GPTとは「Generative Pre-trained Transformer」の略で、事前学習されたトランスフォーマーモデルを用いて、テキスト生成、文章分類、文章の質問応答、文章の要約などの自然言語処理タスクを実行できます。ChatGPTは、コミュニケーションエージェント、自動チャットボット、自動翻訳など、多岐にわたるアプリケーションで利用されています。

ゆう

もっと詳しく教えて

ChatGPT

ChatGPTは、自然言語処理の分野で最先端の技術の一つであるトランスフォーマーというニューラルネットワークを用いた言語モデルです。トランスフォーマーは、入力の前後関係を考慮することで文章の意味を理解し、文章の生成や分類などのタスクを行うことができます。

ChatGPTは、トランスフォーマーを使って、大量のテキストデータを事前に学習することで、自然言語処理の様々なタスクに高い精度で対応できるようになります。ChatGPTは、最新のバージョンである「GPT-3」では、1兆個以上のパラメータを持ち、広範な自然言語タスクに対応することができます。

ChatGPTは、多数の自然言語処理タスクに応用されています。例えば、会話型AIアプリケーション、自動翻訳、文章の生成や要約、文章の感情分析などが挙げられます。ChatGPTの性能は非常に高く、人工的に生成された文章と区別がつかないほどの自然な文章を生成することもできます。これにより、人工知能が人間とのコミュニケーションに利用される可能性が高まっています。

ChatGPTは大量のテキストデータから学習されたデータを用いて、入力前後の関係を単語ではなく、文章で理解し、最適な文章の生成や分類などを行うAIと言うことが分かります!

実際にも現在の取り組みとして、

  • 司法試験
  • 医師国家試験
  • MicrosoftEdgeへ組み込み
  • WordPressのプラグイン作成

が試験的に行われ、大きな実績を残しています。大量のテキストデータから学習されたデータはとても恐ろしいですね。

ChatGPTのはじめかた

AIの発達×学校はどうなるのだろう?

AIの普及によって、自分で考えるよりもAIを使った方が「早く・確実・楽」という子どもが利用するメリットがそろっています。しかしながら、AIも誤った情報を与えることがあることが、明言されています。このような場合に「本当にその情報が正しいのか?」と疑う力・見抜く力が求められると私は思います。また、簡単な情報はより手に入りやすくなるので、「知識を活用して、考える時間が学校の中で増えていくのではないか」と思います。

しかしながら、AIを活用していく場面は増えていくと考えられます。現在社会問題にもなっている教師の長時間労働についてですが、形式的な事務の業務や書類作成などはAIの方が確実で早いです。そのような使い方をしていくことで学校現場に一本の灯りが灯るのではないかと私は思いました。

児童生徒はもちろん、教師も「AIに全てを委ねるのではなく、AIを利用し、考えるプロセスを大切にする」ことが今後は重要視されていくのではないかと私はChatGPTを利用しながら考えました。

このChatGPTはAPIやβ版で絵も描けるとのことなので、是非使ってみたいなと思いました!

初めての3学年が揃う年、より学びのある研究室を目指して

明けましておめでとうございます。今年もよろしくおねがいします。

このブログでは昨年の振り返りと今年の目標についてのブログにしていきたいと思います。

昨年の振り返り

  • カテゴリー別ブログ投稿数
  • 全体ブログ閲覧数ランキング

カテゴリー別ブログ投稿数

合計33本でした!

後期から始めたゼミの振り返りはとても読みごたえのあるブログになっています。お互いが振り返ることで、別の視点でも考えることができ、実際どのように自分のものにしていくか、今後どのようにしていくかが述べられていていました。研究室の活動を残しつつ、高校生にも大学の活動について知っていただけるように続けていきたいと思います!


全体ブログ閲覧数ランキング

3位 PythonでWebスクレイピング

magnetが書いたPythonでスクレイピングを実際に行ったブログが第3位でした!

授業の振り返りで行った内容をブログにしました。実際のPythonのコードも公開しています!コメントも丁寧にあるのが印象的でした。スクレイピングは便利な半面、使い方を間違えるとサイトに負荷をかけるものなので注意も必要ですね!


2位 話題の「Midjourney」を使ってみました!

AIを使った画像生成ツールのブログが第2位でした!

大学の授業でAIについて学習したのをきっかけに、AIが活用されているツールを紹介したブログになります。キーワードをもとにAIが自動で画像を生成するツールで、とても話題になりました!現在ではたくさんのツールが出てきました。SNSでも手軽にAIの画像生成が使われていて、私達の生活の周りにAIが近づいているように感じます。

教材としても使いやすいものになるので、高校の情報や技術科の教材としての活用も近い未来に行われるかもしれないですね


1位 LINEのAPIを使いこなそう!

Pythonで行うLINEAPIの紹介を行ったブログが第1位でした!

Pythonの学習で最初に何をしたらいいのかわからない方にとてもおすすめなツールです。とても簡単に実装をすることができます。

最近では、Youtubeでも解説している動画もたくさんあるので動画を見ながら学習を行うこともアリです!

来年度の目標

昨年度の上半期は授業の振り返りを行ったブログが多く、下半期はゼミの振り返りを行ったブログが投稿されました。現在のゼミのメンバーは7人もいるにも関わらず、下半期はかなりサボってしまいました。反省の限りです。上級生としてもっとできたことがあったのではないかと思ってしまいます。来年度もこのような事態にならないように、原因の分析と対策を行っていきたいです。

来年度の目標

  • 投稿本数100本以上
  • 全員が投稿できるような雰囲気づくり
  • 後輩への引き継ぎ

これらを目標に一年間行っていきたいと思います!

また、より多くの方に知っていただけるようにWordPressの理解を深めていくことも必要になっていくと思います。学び続けることを忘れず、前進し続けたいと思います!

今年も小倉研究室をよろしくお願いします。

研究室の看板

こんにちは!magです。

今回は成果物として研究室の看板を紹介したいと思います!

 

まずはきっかけの紹介です!

きっかけ

ある日ふと他の研究室にお邪魔する際に

他の研究室の入り口を見てみると、

個性豊かな看板が貼り付けられていました……

そういえばうちには何も飾られていないなあと思い、

じゃあ作っちゃえば良いじゃない!!と

思い立ちました。

小倉先生に伺ったところ、「自由に作っていいよ!」とのことだったので

自由に作らせていただきました笑

 

そうなるとまずは構想からしなくてはなりません。

ホワイトボードだったり……
PPだったり……

いろいろ、思考を巡らせました。

 

小倉先生にも構想を伺って

その後3DプリンタやUVプリンタを使って

フォントや、印字の具合、色の出方などなど試行錯誤を重ねていきました。

微妙に色味がちがうなあ……
レーザーの強さと速さも調整中
後ろから光を当てると目立つかも!

 

何度も下準備を重ねた上で、本番行きましょう!

木工室から適当にパクってきたことは秘密……
ホームセンターに行って買ってきましたー

まずは良さげな木材と頑丈そうなプラ板を用意して、

いよいよ下準備したデータたちを、印刷していきます……ドキドキ……

 

そして完成品がこちらです!

誰か映っているのは気にしないで下さい……

左上のマスコットキャラクターがとっても可愛いですね^^

真ん中のスペースには、集合写真なんかが入れられたら良いなあなんて思っています。

 

これをオープンキャンパスの時に見て「明るい雰囲気の研究室なんだなあー」って

思って帰ってもらうだけでも大成功な気がします。

 

私は授業が被っていて参加出来ていませんが、最近のゼミでもお披露目したところ、評判だったようです!

長期間かけて作った甲斐があって良かったです!

 

今後はドアへの設置方法や入れ込む写真について検討していければと考えています。

まだまだ、完璧に完成するまでには時間がかかりそうですね。

これからどうなっていくのかがとても楽しみです!!

 

以上、成果物のブログをmagがお送りしました。

 

 

 

最近更新されたブログ以下に載せておきますので、是非ご覧になって下さい!

話題の「Midjourney」を使ってみました!

みなさんは今話題の「Midjourney」をご存知でしょうか?

URL:https://www.midjourney.com/home/#about

Midjourneyとは、

Midjourney is an independent research lab exploring new mediums of thought and expanding the imaginative powers of the human species.

We are a small self-funded team focused on design, human infrastructure, and AI. We have 11 full-time staff and an incredible set of advisors.

だそうです。英語は苦手なもので、難しかったので、翻訳にかけると

Midjourneyは、新しい思考媒体を探求し、人類の想像力を拡張する独立した研究室です。

私たちはデザイン、ヒューマンインフラストラクチャ、AIに焦点を当てた小規模な自己資金によるチームです。11名のフルタイムスタッフと、素晴らしいアドバイザーを擁しています。

とのことです。

私が実際に使ってみた結論からいうと「とてもすごいAI」です。抽象的な表現になりますが、使ってみるとわかっていただけると思います。

使い方

手順

  • 「Midjourney」の公式サイトにアクセスします
  • Join the data をクリック!
  • Discordに招待がされるので、参加します
  • 「newbies-〇〇(番号)」の部屋があるので、移動します
  • 「/imagine prompt 〇〇(キワード)」を入力
  • そうすると自動で生成されます

使ってみました!

今回は「education」「education_technology」「technology_education」のキーワードで画像を生成してみました。

education
education_technology
technology_education

どれも「education」というキーワードで生成したため本の印象が強いように感じます。教育というのは明確な「モノ」ではないため、それぞれが抽象的な画像になっています。

番外として私の趣味である「nogizaka46」のキーワードで生成してみると

nogizaka46

グループカラーである紫をもとに、人の画像があるものもあるので、学習しているのを感じます。

権利的な問題は大丈夫?

「AIが生成した画像の著作権はどこに帰属するの?」という疑問は当然出てくると思います。私は法律の専門家ではないため、一度ニュース記事を調べてみました。

https://www.itmedia.co.jp/news/articles/2208/09/news162_3.html

上のサイトにはアメリカでの対応と、現在の日本での現状が記載されていました。気になる方は是非とも読んでもらいたいと思います!

まとめ

YoutubeのおすすめやGoogleの検索予測などAIは私達の身近なものになっています。「Midjourney」は絵を描くという。文化的な創作活動を行うAIになります。パラメータを変化させるとキーワードの強弱もつけることができます。色々試してみると、人間が絵を描く意味を考えさせられます。

このAIは今後の技術科にも入ってくる分野であるともうので、教材の一つとして使うのもいいのかもしれません!

YouTube Data API v3 使ってみた!②

こんにちは。小倉研3年のpeaceです。
大変お待たせしました! 2ヵ月ぶりですね( ´∀` )
「YouTube Data API v3 使ってみた!」の第2弾です!

「まだ第1弾を見てない!」という方はこの記事を読む前にこちらを↓
https://www.mogura-lab.com/783

それでは第2弾スタート!

やりたいことの全体の流れ(超ざっくりとおさらい)

1.Google Cloud Platform への登録
2.APIキーの取得
3.信州大学公式YouTube【shinshuweb】のチャンネルIDの取得
4.信州大学公式YouTube【shinshuweb】のいろんなデータ取得

今回の投稿の内容

2.APIキーの取得
3.信州大学公式YouTube【shinshuweb】のチャンネルIDの取得

2.APIキーの取得

今回は、前回登録した「Google Cloud Platform」から「APIキー」を取得していきます。

APIキーの取得

「APIとサービス」という場所から「認証情報」を選択するとAPIキーが取得できる画面にすすめます。
ここでAPIキーを取得するときに、画面下側の「APIの制限」で有効なAPIキーを今回利用する[Youtube Data API v3]のみに設定しておくとGoodです!

3.信州大学公式YouTube【shinshuweb】のチャンネルIDの取得

ここからは、信州大学の公式YouTubeである[shinshuweb]のチャンネルIDを取得していきたいと思います。

YouTubeのチャンネルIDとは?

どのYouTubeチャンネルにも設定されている識別子(多くの対象の中から特定の1つを識別・同定するため用いられる名前や符号、数字等)のことです。

今回は、大量にあるYouTubeチャンネルの中から[shinshuweb]を見つける際にチャンネルIDが必要となります。

それでは、チャンネルIDの取得に使用したコードを載せておきます。
詳細は、コード中のコメントアウトを見てください。

次回からは、いよいよデータの取得をおこなっていきます!
しかし、Google Cloud Platformの体験期間が残り10日!
そして、今週末の3連休(7/16~18)が授業で全部つぶれるといった過酷なスケジュールなので、できたところまで載せる形になるかもしれません…
とりあえず、がんばるので次の投稿を待ってていただけたらと思います!

皆さんも、Google Cloud Platformの体験期間を使うときには計画的にご利用ください(笑)

最後までご覧いただきありがとうございました!

LINEのAPIを使いこなそう!

LINEのAPIを知っているでしょうか?現代ではLINEはほとんどのスマホユーザーが利用しています。1つのツールとしてLINEのAPIを知っていると課題解決の方法が広がると思います。今回はLINEのAPIの導入方法を紹介したいと思います。

おしながき

  1. LINEのAPIの活用事例
  2. LINENotifyについて
    • Notifyの概要
    • 使い方(実装する直前まで)
    • やってみた
  3. LINE Messaging API SDK
  4. まとめ

LINEのAPIの活用事例

LINEのAPIを活用すると本当にたくさんのことができるようになります。公式LINEの仕様を変更することや、チャットボットの作成、アンケート集計などなど多岐にわたります。もちろんこのようなシステムは複雑でレベルも高いです。しかし、「メッセージを送るだけ」なら簡単にできます。なので、制作活動の中で必要な機能を少しずつできるようになれば、いずれ複雑なものを作れるようになると思います。

LINE API USE CASE」にはLINE が公式に公開しているAPIの活用法になります。レベルがとても高いですが、見てみると想像が膨らむと思います!

LINENotifyについて

Notifyの概要

LINENotifyはご存じでしょうか?

LINENotifyというのは「Webサービスからの通知をLINEで受信するツール」です。もう少し詳しく解説すると「Webサービスと連携すると、LINEが提供する公式アカウント”LINE Notify”から通知が届きます。複数のサービスと連携でき、グループでも通知を受信することが可能です。」となります。

LINENotifyサイトはこちら

LINENotify API Documentはこちら

Notifyの使い方(実装する直前まで)

ここでは、Notifyの「サービスへの登録」→「送信するルームの選択」→「トークンの発行」までを行いたいと思います。

LINENotifyのサイトはこちら

やってみた

import requests

TOKEN = 'トークンをペーストしてください'
url = 'https://notify-api.line.me/api/notify'
send_contents = 'LINE大好き'

TOKEN_dic = {'Authorization': 'Bearer' + ' ' + TOKEN} 
send_dic = {'message': send_contents}
requests.post(url, headers=TOKEN_dic, data=send_dic)

このコードを実行すると、先程決めたトークルームに「LINE大好き」と送られます。また、少しコードを増やすと画像も一緒に送信できるので、やってみてください!

この方の動画がとてもわかりやすいので、参考になると思います。

LINE Messaging API SDK

前のブロックでは「LINENotify」を扱いました。これは簡単に使えるので、とても便利な反面、できることにどうしても制約があります。今回紹介する「LINE Messaging API SDK」ではできることが格段に増えます。

できることの一例

LINECLOVAなどのAIとの 連携

LINEミニアプリでの活用

LINEPay決済ツールとの 連携

他サービスとLINEログインの連携

MessagingAPIを活用し双方向性のコミュニケーション

などなど、LINEサービスを使い尽くすことができます。

もちろん言語もほとんど網羅されいて、GitHubでAPIリファレンスが公開されています。URLはこちら

MessagingAPIではLINENotifyとは異なり、より多くの人にメッセージを送信でき、双方向性があるので、チャットボットの作成やAIも組み込むことができたら面白そうですね!

まだ、わからないことが多く、導入例などは今回は紹介しないのですが、今度作成したら紹介したいと思います。

まとめ

今回はLINEのAPIサービスの紹介を行いました。「LINENotify」は簡単に導入できるので、一度試してみる価値は全然あると思います!また、MessagingAPIもメッセージを送信するだけなら難しくはなく、Youtubeの動画などを参考にしたら活用できると思います

また、LINEのビジネス用アカウントでは、メッセージ配信もできるので、チャックしてみるのもアリかもしれません。

今回のブログを通じて、LINEのAPIサービスを使うきっかけになればと思います。

PythonでWebスクレイピング

どうも。magnetです。

最近の情報系の授業において、「スクレイピング」というものを学びました。

スクレイピングについて詳しく知りたい方は、

「ゆう」が書いたこちらの記事をどうぞ~

その授業で各自製作の課題が課されたので、

とあるサイトをスクレイピングしてみました!!

以下に私が書いたコードを載せておきますね~。

import requests
from bs4 import BeautifulSoup
# importでrequestとbs4のBeautifulsoupを読み込みます。
# Webページを取得して解析する

load_url = "とあるサイトのURL"
# とあるサイトのURLをload_urlと定義。
html = requests.get(load_url)
# htmlをrequestのgetというメソッドを使い、 するものだと定義する。
soup = BeautifulSoup(html.content, "html.parser")    # HTMLを解析する
#ちょっとよく分からない。
# ~ここまでで、HTML全体を表示するプログラムは完成~

menu_all = soup.find_all(class_ = "menu-list")
# menu_allと定義します。

for menu in menu_all :
#for 関数 in リスト でmenuの中にmenu_allを何回も入れていきます。
    menu_name_full=menu.find_all('h4',attrs={'class':'menu-name'})
    #menu_nameを全て探すことを、menu_name_fullと定義します。
    for menu_name in menu_name_full :
    #menu_nameの中にmenu_name_fullを何回も入れていきます。
        print(menu_name.text)
        print()
        #printで指定したものの表示と、見やすいように空白を表示しています。

それぞれのコードの詳しい説明は#で書いてある文を参照してみて下さい!

これを実行すると、、、

メニュー一覧が出てきます。。

やってることそんなに難しそうじゃ無いじゃんか。

って思うかもしれませんが、

実際やってみると結構重めです……

なかなか理解出来ずに困ってましたが、

周りの助けも有りなんとか完成できました!

手伝って下さりありがとうございました。

今回のものは、メニュー一覧だけの表示となっていますが、

カロリーや値段も対応して表示出来ると、

データサイエンスみが増しますね。

また、完成したら投稿したいと思います。

ではでは。

あ、あと興味があればぜひ最新の投稿もご覧下さい!

YouTube Data API v3 使ってみた!①

お久しぶりです。peaceです。
今回は、「YouTube Data API v3」を利用し、
信州大学公式YouTube【shinshuweb】https://www.youtube.com/user/shinshuweb
のデータを取得しようと思います!

今回やりたいことの全体の流れ(超ざっくりと)

1.Google Cloud Platform への登録
2.APIキーの取得
3.信州大学公式YouTube【shinshuweb】のチャンネルIDの取得
4.信州大学公式YouTube【shinshuweb】のいろんなデータ取得

今回の投稿の内容

1.Google Cloud Platform への登録

1.Google Cloud Platform への登録

 今回使用する「YouTube Data API v3」は、「Google Cloud Platform」への登録が必要とです。登録には、Googleアカウントとクレジットカード、電話番号、インターネット環境が必要となります。
 「YouTube Data API v3」と「Google Cloud Platform」については↓をご覧ください。

YouTube Data API v3 とは?

Youtube動画を取得できるAPI(API=プログラムとシステムを繋げる仕組み。今回の場合はプログラムとYouTubeの動画。)です。
特定のキーワードやチャンネルの動画を取得することや、動画の統計情報を取得することができます!

Google Cloud Platform とは?

Googleがクラウド上で提供するサービスの総称です。
データ分析や機械学習、コンピューティングなど、様々なサービスが利用できます!

 

PythonでWebスクレイピング(後編)

おしながき

  • 今回やりたいこと
  • 作る順番
    1. ライブラリのインストール
    2. コーディング
    3. Pandasを使って、CSV形式での保存
  • まとめ

今回やりたいこと

今回やりたいこととしては、

学校情報サイトから、「学校名」「生徒数」「住所」をスクレピングしていきたいとおもいます。そして、最後にはPadansを使って、CSV形式で保存するところまでやっていきたいと思います。

順序は

  • ライブラリのインストール
  • コーディング
  • Pandasを使って、CSV形式での保存

大まかに分けてこの3つになります。少し長くなってしまうかもしれませんが、ゆっくりやっていきましょう!

作る順番

1.ライブラリのインストール

今回使用するライブラリは「requests」「Beautifulsoup 」「pandas」「time」の4つです。webスクレイピングというと「selenium」もBeautifulsoup と同様に人気で使われていますが、今回は使用しないです。

インストールを行っていない方は

pip install requets
pip install pandas
pip install Beautifulsoup

をコマンドプロンプトでやっていただければインストールをできます。

2.コーディング

下のものが本編になります

#今回使うライブラリ
import time 
import requests
from bs4 import BeautifulSoup
import pandas

#スクレイピングをするサイト
#URLは今回は伏せておきます
url='@@@@@@@@@@@@@@@@@@@@@@@@@@@'

#requestsを使って、URL先の情報を取得
res=requests.get(url)
soup=BeautifulSoup(res.text,'html.parser')
school_list=soup.find_all('li',attrs={'class':'school_list_city'})


for details in school_list :
    school_details={}
    sdd=details.find('div',attrs={'class':'school_detail_data'})
    school_name=sdd.find('p',attrs={'class':'school_name'}).find('span').text
    shcool_item=sdd.find('p',attrs={'class':'item'})
    total_students=shcool_item.find('span',attrs={'class':'border_underline'}).text
    ads=sdd.find('p',attrs={'class':'item position'})
    ad=ads.find('span',attrs={'class':'small'}).text

    school_details['学校名']=school_name
    school_details['生徒数']=total_students
    school_details['住所']=ad
    data.append(school_details)
    time.sleep(2)

コードがきれいに書けていないかもしれませんが、まだまだ勉強中の身なので、ご容赦していただければと思います

少し解説をさせていただくと

ところどころに「~.find(‘@@’),attrs={‘class’:’%%%’}」と言った記述がたくさんあると思います。これを抑えることができたら簡単なスクレイピングは可能かと思います。

これを日本語変換してみると「~の中の一番最初の@@タグのclassの%%%を指定します!」といった感じです。HTMLというデータはとても大きいものなので、一気に操作を行うのではなく、少しづつ絞っていくとやりやすいのではないかと思います。

3.Pandasを使って、CSV形式での保存

スクレイピングをしたデータをpandasを使って、DataFrameに格納し、それをCSV形式で保存することは一見難しそうに見えますが、案外簡単です。

#pandasを使って、DataFrameに格納
df=pd.DataFrame(data)
#CSV形式で保存
df.to_csv('学校の情報.csv',index=False,encoding='utf_8_sig')

この2行だけで終わりです。少し解説をさせていただくと、「index=False」というのは、DataFrameに格納した際にインデックス番号が同時に付与されるのですが、「CSV形式で保存するときにそのインデックス番号はいらないよー」ということです。

まとめ

かなり駆け足でBeautifulsoup を使ったWebスクレピングを紹介していきました。高校情報Ⅱの教員研修資料にも今回のBeautifulsoup を使ったWebスクレイピングは紹介され、今後必要なスキルの一つになるのではないかと思います。

また、プログラミングは様々な勉強ツールがあります。今回は私が勉強するときに使用したYouTubeの動画のURLを載せておきたいと思います。勉強するときの助けになればいいなと思います。