SlideShare ist ein Scribd-Unternehmen logo
1 von 29
PlayFabとCognitiveを
連携させて健全なゲーム運営を
2020/01/29
Cogbot 勉強会! #26 - 新春 LT Night !
Japan PlayFab User Group なかしょ(中島進也)
Profile
• 名前:なかしょ(中島 進也)
• Twitter:@nakasho_dev
• ブログ:なかしょの技術日誌
http://nakasho-dev.hatenablog.jp/
• 最近の興味
TDD、LeanXP、DevOps、Xamarin、mBaaS、Tizen
• 主な参加コミュニティ
JXUG 、JPFUG 、.NETラボ、Cogbot、Teratail、TestNight、XPJUG
※本資料は私個人の意見であり、所属企業・部門見解を代表する
ものではありません。
2
3
参考:https://azure.microsoft.com/ja-jp/services/playfab/
Azure Play Fabの機能
4
参考:https://docs.microsoft.com/ja-jp/gaming/playfab/index#pivot=documentation&panel=quickstarts
ゲーム内でユーザが入力するコンテンツ例
• 名前(ハンドルネーム)
• 自己紹介
• プロフィール画像
• チャットメッセージ
• UGC( User Generated Content )
5
そのコンテンツ
安全ですか?
6
ゲーム内で(一般的に)表示されたら困るもの
• 不適切な表現
• 露骨に性的な表現
• 性的な内容を暗示する表現
• 下品な表現
• 個人データ
7
ゲーム内で(一般的に)表示されたら困るもの
• 不適切な表現
• 露骨に性的な表現
• 性的な内容を暗示する表現
• 下品な表現
• 個人データ
8
こんなゲーム
やりたくない
9
不適切な表現を防ぐにも、
ユーザが入力した内容から判
断するの難しくない?
特に画像を判断するのどうし
よう?
10
そこでCognitive Serviceの
Content Moderatorです!
11
Content Moderator API
• Image Moderation API
画像をスキャンし、タグ、信頼度スコア、その他の抽出された情報を使
用して、成人向けやきわどいコンテンツの可能性があるものを検出しま
す。
• Text Moderation API
テキスト コンテンツをスキャンします。 不適切な用語と個人データが
返されます。
• Video Moderation API
ビデオをスキャンし、成人向けやきわどいコンテンツの可能性があるも
のを検出します。
• List Management API
画像とテキストの除外一覧と対象一覧を作成して管理します。 有効に
した場合、Image - Match および Text - Screen 操作では、提出したコ
ンテンツとカスタム一覧とのあいまい一致が照合されます。 12
Text Moderation APIの例
POST
https://japaneast.api.cognitive.microsoft.com/contentmoderato
r/moderate/v1.0/ProcessText/Screen?autocorrect=true&PII=tr
ue&classify=True HTTP/1.1
Host: japaneast.api.cognitive.microsoft.com
Content-Type: text/plain
Ocp-Apim-Subscription-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I'll kill you
13
I‘ll kill you !?
Text Moderation APIのレスポンス例の一部
14
"Classification": {
"ReviewRecommended": true,
"Category1": {
"Score": 0.025640359148383141
},
"Category2": {
"Score": 0.22437357902526855
},
"Category3": {
"Score": 0.98799997568130493
}
},
[Category1]
特定の状況で性的に露骨
か、または成人向けであ
ると見なされる可能性の
ある言語の潜在的な存在
を示します。
Text Moderation APIのレスポンス例の一部
15
"Classification": {
"ReviewRecommended": true,
"Category1": {
"Score": 0.025640359148383141
},
"Category2": {
"Score": 0.22437357902526855
},
"Category3": {
"Score": 0.98799997568130493
}
},
[Category2]
特定の状況で性的な連想
を起こさせるか、または
成熟した表現であると見
なされる可能性のある言
語の潜在的な存在を示し
ます。
Text Moderation APIのレスポンス例の一部
16
"Classification": {
"ReviewRecommended": true,
"Category1": {
"Score": 0.025640359148383141
},
"Category2": {
"Score": 0.22437357902526855
},
"Category3": {
"Score": 0.98799997568130493
}
},
[Category3]
特定の状況で不快である
と見なされる可能性のあ
る言語の潜在的な存在を
示します。
PlayFabと
どう連携する?
17
CloudScript
• JavaScriptで書いたプログラムを実行する
もうすぐAzure Functionsを使用できるようになる、はず?・・・
• CloudScriptは様々なことができる
詫び石を配る
ユーザをbanする
他のサーバを呼び出す
• PlayStream Eventsを契機に実行できる
ユーザの操作
ステータスの変化
18
ContentModeratorAPIを
呼び出せる
ユーザがコンテンツを登
録・変更した際に実行で
きる
19
[イベントタイプ]
player_displayname_ch
anged
プレイヤーが表示名を変
更したときのイベント
こんな処理ができるかな?(未検証)
1. ユーザがハンドルネームを変更
2. PlayFabのplayer_displayname_changedイベントが発生
3. イベントに紐づけているCloudScriptを実行
4. CloudScriptからText Moderation APIを叩いて検証
5. 不適切な表現だと判断されたらBAN!!
20
ちょっと心配事
• 日本語の検出が弱い
カスタムリストを使用する?
• PlayStreamイベントを契機に実行するCloudScriptの実行時間は
1秒が上限?
通常は1分だけどPlayFabの処理に割り込むから短いのかも?
公式のどこかで見たけど今見たらソースが見つからない...
• Play Fabは北米リージョンなのでレイテンシが心配
東日本リージョンにはいつ展開されるのかな?
21
その他
22
児童虐待などの「有害ネット情報」、サイト
側に罰金 英政府が計画
• ソーシャルメディア(SNS)やネット企業向けの「業
務規範」を作る、独立した規制団体を設立する
• 規制団体には、業務規範を守らない企業に罰金を科す
などの権限を与える
• 企業の幹部に罰金を科したり、業務規範に違反したサ
イトを見られなくするようプロバイダーに命じたりす
るなどの、さらなる権限を規制団体に与えることも検
討する
23
参考: https://www.bbc.com/japanese/features-and-analysis-47931799
PhotoDNA
• PhotoDNAとはマイクロソフトが開発した技術で、類似する画
像を識別するために画像のハッシュ値を計算する。現在同社の
サービスであるBing、OneDriveだけでなく、Google Gmail、
Twitter、Facebook、Adobe Systems、National Center for
Missing and Exploited Childrenで採用されている。
• 主に児童ポルノの流通阻止の為に使用されており、画像のハッ
シュを計算することで検出している。このハッシュはサイズが
変更されていたり、目立たない配色変更を含む画像の変更が
あっても変更されないように計算されている。PhotoDNAは画
像を白黒化し、サイズを変更し、格子状に分割し、輝度勾配や
輪郭を探索している。
• PhotoDNA無償提供を開始。
24
参考: https://ja.wikipedia.org/wiki/PhotoDNA
JPFUG (Japan PlayFab User Group)
25
参考: https://jpfug.connpass.com/
まとめ
• Play Fab はゲーム開発に必要なものが多く揃っている
• ソーシャルゲームなどで不適切な表現は排除すべき
• Content Moderator APIで不適切な表現を検出しよう
• PlayFabに組み込んでくれればよいのになー
26
27
2月7日 LTします。
「Azure DevOpsとVisual Studio App Centerを
モバイルアプリのCI/CDに活用しよう」
28
ご清聴ありがとうございました。
なかしょ(中島 進也)
@nakasho_dev
29

Weitere ähnliche Inhalte

Was ist angesagt?

Windows Azure 最新 Update 2013/12/09
Windows Azure 最新 Update 2013/12/09Windows Azure 最新 Update 2013/12/09
Windows Azure 最新 Update 2013/12/09
Ryusaburo Tanaka
 
Windows Azure 最新 Update 2014/04/04
Windows Azure 最新 Update 2014/04/04Windows Azure 最新 Update 2014/04/04
Windows Azure 最新 Update 2014/04/04
Ryusaburo Tanaka
 
Microsoft Azure 最新 Update 2014/06/05
Microsoft Azure 最新 Update 2014/06/05Microsoft Azure 最新 Update 2014/06/05
Microsoft Azure 最新 Update 2014/06/05
Ryusaburo Tanaka
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
Masahiko Sato
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編
Keiji Kamebuchi
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 

Was ist angesagt? (20)

【説明書】Global Windows Azure Bootcamp 2014
【説明書】Global Windows Azure Bootcamp 2014【説明書】Global Windows Azure Bootcamp 2014
【説明書】Global Windows Azure Bootcamp 2014
 
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
 
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
 
C# で QnA Bot
C# で QnA BotC# で QnA Bot
C# で QnA Bot
 
Windows Azure 最新 Update 2013/12/09
Windows Azure 最新 Update 2013/12/09Windows Azure 最新 Update 2013/12/09
Windows Azure 最新 Update 2013/12/09
 
Windows Azure 最新 Update 2014/04/04
Windows Azure 最新 Update 2014/04/04Windows Azure 最新 Update 2014/04/04
Windows Azure 最新 Update 2014/04/04
 
Microsoft Azure 最新 Update 2014/06/05
Microsoft Azure 最新 Update 2014/06/05Microsoft Azure 最新 Update 2014/06/05
Microsoft Azure 最新 Update 2014/06/05
 
楽しいゲーム開発管理
楽しいゲーム開発管理楽しいゲーム開発管理
楽しいゲーム開発管理
 
Skype for Business + Bot + Graph API
Skype for Business + Bot + Graph APISkype for Business + Bot + Graph API
Skype for Business + Bot + Graph API
 
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
【B 5】x pages extension library じゃぱ〜〜ん!コミュニティ動向2014ば〜〜ん!
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
Motivationware
MotivationwareMotivationware
Motivationware
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編
 
20150905 stream analytics
20150905 stream analytics20150905 stream analytics
20150905 stream analytics
 
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
Techhills 6.18
Techhills 6.18Techhills 6.18
Techhills 6.18
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumi
 

Ähnlich wie PlayFabとCognitiveを 連携させて健全なゲーム運営を

Ähnlich wie PlayFabとCognitiveを 連携させて健全なゲーム運営を (20)

Tizenの.NET対応について
Tizenの.NET対応についてTizenの.NET対応について
Tizenの.NET対応について
 
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CDVisual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CD
 
ペアプロするならgit-duetを使おう
ペアプロするならgit-duetを使おうペアプロするならgit-duetを使おう
ペアプロするならgit-duetを使おう
 
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CDAzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CD
 
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しようAzure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
 
リーンアジャイルで開発を加速しよう
リーンアジャイルで開発を加速しようリーンアジャイルで開発を加速しよう
リーンアジャイルで開発を加速しよう
 
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しようVisual Studio App CenterでGitHubのIssue発行を自動化しよう
Visual Studio App CenterでGitHubのIssue発行を自動化しよう
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
Visual Studio App Center Authの導入方法について
Visual Studio App CenterAuthの導入方法についてVisual Studio App CenterAuthの導入方法について
Visual Studio App Center Authの導入方法について
 
アジャイル開発のストーリーをGherkin記法で作成
アジャイル開発のストーリーをGherkin記法で作成アジャイル開発のストーリーをGherkin記法で作成
アジャイル開発のストーリーをGherkin記法で作成
 
docomo Developer Supportを活用しよう
docomo Developer Supportを活用しようdocomo Developer Supportを活用しよう
docomo Developer Supportを活用しよう
 
Adaptive Cardsを使ってみた
Adaptive Cardsを使ってみたAdaptive Cardsを使ってみた
Adaptive Cardsを使ってみた
 
Visual Studio Live Shareでリモートペアプログラミング
Visual Studio Live ShareでリモートペアプログラミングVisual Studio Live Shareでリモートペアプログラミング
Visual Studio Live Shareでリモートペアプログラミング
 
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
 
デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介
 
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようGitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
 
Bot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しようBot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しよう
 
ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!ペアワークで持続的に成長するチームになろう!
ペアワークで持続的に成長するチームになろう!
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 

Mehr von Shinya Nakajima

Mehr von Shinya Nakajima (10)

2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について
 
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しようPlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
 
CI/CD専用モニタと心理的安全性
CI/CD専用モニタと心理的安全性CI/CD専用モニタと心理的安全性
CI/CD専用モニタと心理的安全性
 
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
 
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しようVisual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
 
アジャイル開発を円滑に進めるVisual Studio App Center
アジャイル開発を円滑に進めるVisual Studio App Centerアジャイル開発を円滑に進めるVisual Studio App Center
アジャイル開発を円滑に進めるVisual Studio App Center
 
Visual Studio App Centerの始め方
Visual Studio App Centerの始め方Visual Studio App Centerの始め方
Visual Studio App Centerの始め方
 
Xamarinで地図を使おう
Xamarinで地図を使おうXamarinで地図を使おう
Xamarinで地図を使おう
 
いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』
 
今こそ Microsft Bot Framework を学ぼう
今こそ Microsft Bot Framework を学ぼう今こそ Microsft Bot Framework を学ぼう
今こそ Microsft Bot Framework を学ぼう
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

PlayFabとCognitiveを 連携させて健全なゲーム運営を