Microsoft Ignite 2021の基調講演で発表された「Azure OpenAI Service」。公式ページにある通り OpenAI でOpenAI APIを発行してもらったのでExpamplesにある49個のアプリから「ESRB rating」をPythonから実行して試行錯誤します。
OpenAIのExpamplesにあるMarv the sarcastic chat botとは
公式の説明では「Categorize text based upon ESRB ratings.」とあり、“ESRBレーティングに基づいてテキストを分類します。”となります。
「ESRBレーティング」(エンターテインメントソフトウェアレーティング委員会)とは、アメリカ合衆国及びカナダにおけるコンピュータゲームのレーティングなどの審査を行う団体“ESRB”がつけるレーティングです。
公式のタグでは「Classification」1つが付与されています。
プログラムを見るとエンジンは「davinci」となっております。
サンプルコードでは1行目に「Provide an ESRB rating for the following text:(以下の文章のESRBレーティングを提供してください。)」とゲームの内容を伝えるので、ESRBレーティングを教えてほしいとなっています。
早速使ってみた
公式にあるコードを参考に、好きな文章を入れられるように str という変数に会話を入れて実行できるようにします。
1Python Code
2
3‘’’
4
5import os
6
7import openai
8
9
10
11openai.api_key = os.getenv("OPENAI_API_KEY")
12
13str = """Provide an ESRB rating for the following text:
14
15
16
17"i'm going to blow your brains out with my ray gun then stomp on your guts."
18
19
20
21ESRB rating:"""
22
23
24
25response = openai.Completion.create(
26
27 engine="davinci",
28
29 prompt=str,
30
31 temperature=0.7,
32
33 max_tokens=60,
34
35 top_p=1.0,
36
37 frequency_penalty=0.0,
38
39 presence_penalty=0.0,
40
41 stop=["\n"]
42
43)
44
45
46
47print(response["choices"][0]["text"])
48
49‘’’内容に適したESRBレーティングを回答をしてくれる
サンプルでは「i’m going to blow your brains out with my ray gun then stomp on your guts.(光線銃で脳を吹き飛ばし、内臓を踏みつけてやる。)」と結構過激な内容のゲームのレーティングを聞いています。
実行すると「M (Mature)」と返ってきました。
M (Mature)は「対象年齢は17歳以上とされ、年齢が満たない場合、購入には保護者の同意が必要となる。非常に強い暴力表現や間接的な性的表現などが含まれている。」となっており、ここに該当するゲームには、”バイオハザードアウトブレイク”や”サイレントヒル”といった刺激が強いものが含まれます。
他のゲームもやってみた
- あつまれどうぶつの森「自由気ままに暮らせる自分の無人島を作るゲームで、きれいな花を育てたり、美術品を集めたりすることができます。」
⇒どの部分が該当するのか不明ですが「M (Mature)」となりました。
- スーパーマリオブラザーズ「キノコを食べると成長し、花を食べると火を噴くという能力を使って女王を救出します。」
⇒文章はこっちのほうが凶悪そうですが、「Everyone」となりました。
どんなときに使えるのか?
専門性が高い質問に答えることが出来るようです。この例ではESRBレーティングとなっていますが、ほかの内容に変えることで様々な状況に合わせた専門性が高い質問にも回答してくれそうです。
数年後には、様々な専門家の後ろではOpenAIが…なんて日も来そうですね。