金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成...
Transcript of 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成...
![Page 1: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/1.jpg)
金岡プロジェクト
5516021 円城寺祐太5516030 小澤明弘5517092 丸山里沙5517096 矢澤弘輝 1
![Page 2: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/2.jpg)
作業割り当て
6月29日 7月6日 7月13日
円城寺 指定したニュースの取得 商品情報の取得ボットの状態管理
結合テスト
小澤 Mecabによる形態素解析単語の抽出
単語の保存 パワーポイントの作成
丸山 会話データ作成Pythonの文法取得
Pythonの文法習得 会話データ作成
矢澤 会話データ作成Pythonの文法取得
天気機能の作成 天気機能の作成
2
![Page 3: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/3.jpg)
目的
・その人に合った商品をおすすめする。
・人間味のあるボットをつくる。
・Pythonの基本文法習得。
3
![Page 4: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/4.jpg)
人間味のあるボット
・キャラの名前:レコ(Recommend Botから)
4
![Page 5: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/5.jpg)
人間味のあるボット
・ボットの会話内容を人間らしく
好きなスポーツは何ですか?,ちなみに私は運動音痴です好きな服は何ですか?,そんなあなたに福がきますように☆好きな映画は何ですか?,TUTAYAに行って借りてきましょう
質問内容→返答の順でテキストに保存。
例
5
![Page 6: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/6.jpg)
シャーロックホームズです。
好きな本は何ですか?
読書家は嫌いじゃないです。
好きな本は何ですか?,読書家は嫌いじゃないです。
6
![Page 7: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/7.jpg)
実装予定だった機能
・amazonの商品のおすすめを紹介する。
・会話内容を保存しそのデータによって相手の傾向を予測する。
メイン機能
7
![Page 8: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/8.jpg)
サブ機能
実装予定だった機能
・保存中のデータに基づいたニュースの提供。
・天気を教える。
・アラーム機能(時間指定機能)
8
![Page 9: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/9.jpg)
実装した機能
・楽天の商品のおすすめを紹介する。
・会話内容を保存しそのデータをキーワードとしておすすめを紹介。
メイン機能
9
![Page 10: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/10.jpg)
サブ機能
実装した機能
・保存中のデータに基づいたニュースの提供。
・天気を教える。
・時間経過でBotが発言する。
10
![Page 11: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/11.jpg)
その人に合った商品をおすすめする
機械学習です。
どんなものに興味がありますか?
単語を保存
また一つ知ることができました11
![Page 12: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/12.jpg)
ぎっくり腰機械学習ひつじディープラーニング
保存した単語データ
単語をキーワードとして「ニュース」や「商品」を検索する。
12
![Page 13: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/13.jpg)
・クエリ文字列
https://app.rakuten.co.jp/services/api/IchibaItem
/Search/20170706?format=xml
・?の後に変数名=値
を書くことでそれに基づいたページを要求できる。
Format(形式)をxmlという形式に指定。13
![Page 14: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/14.jpg)
日本語を値として指定したい場合は変換する必要がある。
http://example.com?keyword=
%E3%83%9C%E3%83%83%E3%83%88
http://example.com?keyword=ボット
14
![Page 15: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/15.jpg)
クエリ文字列を利用して保存データからニュースや商品を検索する!
ぎっくり腰機械学習ひつじディープラーニング http://example.com?keyword=
%E3%81%B2%E3%81%A4%E3%81%98
http://example.com?keyword=ひつじ
15
![Page 16: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/16.jpg)
http://example.com?keyword=
%E3%81%B2%E3%81%A4%E3%81%98
http://example.com?keyword=ひつじ
このように求めたurlに対してスクレイピングを行い情報を得る。
16
![Page 17: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/17.jpg)
トリガー(反応するキーワード)→返答の順で保存。
コンニチハ,こんにちは!アリガトウ,礼に及ぶことの程ではないですよアキタ,そんなこと言わないで
例
基本的な返答
17
![Page 18: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/18.jpg)
ありがとう。
礼に及ぶことの程ではないですよ。
アリガトウ,礼に及ぶことの程ではないですよ。
18
![Page 19: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/19.jpg)
使用した主な技術
・楽天の情報取得→楽天市場商品検索API
・スクレイピング
・ネット上の画像の表示
・Mecabによる形態素解析
19
![Page 20: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/20.jpg)
attachmentsの使用
・messageのreply_webapiメソッドを使うことでslackApiのattachmentsを使うことが可能。
message.reply_webapi(“発言内容”,attachments= [
attachmentの中身
]20
![Page 21: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/21.jpg)
Attachmentの書き方は公式のドキュメントに書かれている。
slackAPIAttaching content and links to messages
https://api.slack.com/docs/message-attachments
21
![Page 22: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/22.jpg)
ネット上の画像の表示
ここに画像のurlを入力!
22
![Page 23: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/23.jpg)
実行例
23
![Page 24: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/24.jpg)
attachmentsの中身を変えることでリンク付きボタンを作成することも可能。
24
リンク付きボタン
![Page 25: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/25.jpg)
実行例
25
![Page 26: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/26.jpg)
waitCityName(地名待機)
WaitQReply(質問待機)
None(通常状態)
状態遷移
26
![Page 27: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/27.jpg)
工夫した点
・テキストファイルでのパターンの追加を容易にした。・slackのAPIを用いることでUIの見栄えを良くした。
27
![Page 28: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/28.jpg)
課題
・質問に対応した特定の反応しかできない。・Mecabで単語を分解するときうまく分解できないときがある。
28
![Page 29: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/29.jpg)
参考文献
・Attaching content and links to messages
https://api.slack.com/docs/message-attachments
・slackbot - A chat bot for Slackhttps://github.com/lins05/slackbot/blob/develop/README.md
・PythonとBeautiful Soupでスクレイピング - Qiitahttps://qiita.com/itkr/items/513318a9b5b92bd56185
29
![Page 30: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/30.jpg)
参考文献
・pythonでシンプルなinteractive button付きSlackbotを作る – Qiita
https://qiita.com/sh-tatsuno/items/55cd5f9e78b212fb57c2
・Slack API attachmentsチートシート – Qiita
https://qiita.com/daikiojm/items/759ea40c00f9b539a4c8
・楽天ウェブサービス: 楽天商品検索API(version:2017-07-06) | API一覧
https://webservice.rakuten.co.jp/api/ichibaitemsearch/
30
![Page 31: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/31.jpg)
参考文献
・Slack Interactive Messageリファレンス – Qiita
https://qiita.com/hypermkt/items/b2ffaf610ac92235c4d6
31
![Page 32: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/32.jpg)
デモ
32
![Page 33: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/33.jpg)
33
![Page 34: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/34.jpg)
34
![Page 35: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/35.jpg)
35
![Page 36: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/36.jpg)
36
![Page 37: 金岡プロジェクトœ€終...Pythonの文法取得 Pythonの文法習得 会話データ作成 矢澤 会話データ作成 Pythonの文法取得 ... スクレイピングを行い情報を得る。](https://reader035.fdocuments.net/reader035/viewer/2022062602/5ec9a3c266b0bc5d441a5c35/html5/thumbnails/37.jpg)
37