Microsoft Ignite 2021の基調講演で発表された「Azure OpenAI Service」。公式ページにある通り OpenAI でOpenAI APIを発行してもらったのでExpamplesにある49個のアプリから「Third-person converter」をPythonから実行して試行錯誤します。
OpenAIのExpamplesにあるThird-person converterとは
公式の説明では「Converts first-person POV to the third-person. This is modified from a community prompt to use fewer examples.」とあり、“一人称視点を三人称視点に変換しています。これは、コミュニティ・プロンプトを修正して、より少ない例を使用しています”となります。
公式のタグでは「Transformation」「Generation」「Translation」と比較的珍しい3つが付与されています。
プログラムを見るとエンジンは「davinci」となっています。
サンプルコードでは最初に「First-person to third-person(一人称から三人称)」となっております。
早速使ってみた
公式にあるコードを参考に、好きな文章を入れられるように str という変数に会話を入れて実行できるようにします。
1Python Code
2
3‘’’
4
5import os
6
7import openai
8
9
10
11openai.api_key = os.getenv("OPENAI_API_KEY")
12
13str = """ First-person to third-person
14
15
16
17Input: I decided to make a movie about Ada Lovelace.
18
19Output: He decided to make a movie about Ada Lovelace.
20
21
22
23Input: My biggest fear was that I wasn't able to write the story adequately.
24
25Output: His biggest fear was that he wouldn't be able to write the story adequately.
26
27
28
29Input: I started researching my biology project last week.
30
31Output:"""
32
33
34
35response = openai.Completion.create(
36
37 engine="davinci",
38
39 prompt=str,
40
41 temperature=0.3,
42
43 max_tokens=60,
44
45 top_p=1.0,
46
47 frequency_penalty=0.0,
48
49 presence_penalty=0.0,
50
51 stop=["\n"]
52
53)
54
55
56
57print(response["choices"][0]["text"])
58
59‘’’一人称を三人称に変換してくれる
入力するデータは
「Input: I decided to make a movie about Ada Lovelace.(私はエイダ・ラブレスの映画を作ると決めた。)
Output: He decided to make a movie about Ada Lovelace. (彼はエイダ・ラブレスの映画を作ると決めた。)
Input: My biggest fear was that I wasn’t able to write the story adequately. (私の最大の恐怖は、私が物語を適切に書くことができなかったことでした。)
Output: His biggest fear was that he wouldn’t be able to write the story adequately. (彼の最大の恐怖は、彼が物語を適切に書くことができなかったことでした。)
Input: I started researching my biology project last week. (私は先週、生物学プロジェクトの研究を始めました。)」
となっています。
実行すると「He started researching his biology project last week. (彼は先週、生物学プロジェクトの研究を始めました。)」となりました。
最初に「一人称から三人称」と宣言した上で、三人称が「彼」であることを2つの例文で示すことで最後の文章も彼という三人称に変換されています。
また、単純にI→Heとしているだけでなく、my→hisのように変換してくれていました。
2つの例文をHe→Sheと変えると問題なく「彼女」に合わせた内容で変換されました。
どんなときに使えるのか?
これ自体は特に何に使えるということはありませんが、OpenAIが文章の内容だけでなく文法や人称といったことまで理解できていることがわかりました。応用することで文章のチェックや文法等を確認するといったことが可能です。
以前紹介した OpenAI「Grammar correction」 と同様に、英語を扱う上での補助として活躍しそうです。