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