【Python】自動文章生成OpenAIテキストジェネレーターGPT-2を使用する(Windows10)

自動文章生成OpenAIのテキストジェネレーター「GPT-2」の使用について解説しています。(Windows10)

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■GPT-2をインストールする

git clone https://github.com/openai/gpt-2.git

GPT-2をインストールする場合は、Gitを使用してプロジェクトリポジトリのクローンを作成しますので、Windows10のコマンドプロンプトを起動し、上記のコマンドを入力し、Enterキーを押します。

Cloning into ‘gpt-2’…
remote: Enumerating objects: 233, done.
Rremote: Total 233 (delta 0), reused 0 (delta 0), pack-reused 233eceiving objects: 65% (152/233), 3.29 MiB | 1.60
Receiving objects: 100% (233/233), 4.38 MiB | 1.84 MiB/s, done.
Resolving deltas: 100% (124/124), done.

Enterキーを押すとクローンが開始され完了となります。

cd gpt-2

完了後、cdコマンドを使用しgpt-2のディレクトリへ移動します。

■tensorflowと、他のPythonパッケージをインストールする

pip3 install tensorflow
pip3 install tensorflow-gpu

移動後、tensorflow、もしくtensorflow-gpuはインストールを行います。今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install tensorflow

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Collecting tensorflow
Downloading tensorflow-2.4.1-cp38-cp38-win_amd64.whl (370.7 MB)
|████████████████████████████████| 370.7 MB 40 kB/s
Requirement already satisfied: numpy~=1.19.2 in c:\pg\python38\lib\site-packages (from tensorflow) (1.19.3)
Collecting typing-extensions~=3.7.4
Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Requirement already satisfied: six~=1.15.0 in c:\pg\python38\lib\site-packages (from tensorflow) (1.15.0)
Collecting keras-preprocessing~=1.1.2
Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 34 kB/s
Requirement already satisfied: wrapt~=1.12.1 in c:\pg\python38\lib\site-packages (from tensorflow) (1.12.1)
Collecting flatbuffers~=1.12.0
Downloading flatbuffers-1.12-py2.py3-none-any.whl (15 kB)
Collecting tensorflow-estimator<2.5.0,>=2.4.0
Downloading tensorflow_estimator-2.4.0-py2.py3-none-any.whl (462 kB)
|████████████████████████████████| 462 kB 2.2 MB/s
Collecting absl-py~=0.10
Downloading absl_py-0.12.0-py3-none-any.whl (129 kB)
|████████████████████████████████| 129 kB 3.3 MB/s
Collecting astunparse~=1.6.3
Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Collecting gast==0.3.3
Downloading gast-0.3.3-py2.py3-none-any.whl (9.7 kB)
Collecting tensorboard~=2.4
Downloading tensorboard-2.5.0-py3-none-any.whl (6.0 MB)
|████████████████████████████████| 6.0 MB 39 kB/s
Collecting opt-einsum~=3.3.0
Downloading opt_einsum-3.3.0-py3-none-any.whl (65 kB)
|████████████████████████████████| 65 kB 266 kB/s
Collecting termcolor~=1.1.0
Downloading termcolor-1.1.0.tar.gz (3.9 kB)
Collecting wheel~=0.35
Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting h5py~=2.10.0
Downloading h5py-2.10.0-cp38-cp38-win_amd64.whl (2.5 MB)
|████████████████████████████████| 2.5 MB 3.3 MB/s
Collecting google-pasta~=0.2
Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 662 kB/s
Collecting grpcio~=1.32.0
Downloading grpcio-1.32.0-cp38-cp38-win_amd64.whl (2.6 MB)
|████████████████████████████████| 2.6 MB 104 kB/s
Requirement already satisfied: protobuf>=3.9.2 in c:\pg\python38\lib\site-packages (from tensorflow) (3.14.0)
Requirement already satisfied: requests<3,>=2.21.0 in c:\pg\python38\lib\site-packages (from tensorboard~=2.4->tensorflow) (2.25.0)
Requirement already satisfied: google-auth<2,>=1.6.3 in c:\pg\python38\lib\site-packages (from tensorboard~=2.4->tensorflow) (1.23.0)
Collecting markdown>=2.6.8
Downloading Markdown-3.3.4-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 852 kB/s
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in c:\pg\python38\lib\site-packages (from tensorboard~=2.4->tensorflow) (0.4.2)
Requirement already satisfied: setuptools>=41.0.0 in c:\users\user\appdata\roaming\python\python38\site-packages (from tensorboard~=2.4->tensorflow) (50.3.2)
Collecting werkzeug>=0.11.15
Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
|████████████████████████████████| 298 kB 3.3 MB/s
Collecting tensorboard-plugin-wit>=1.6.0
Downloading tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB)
|████████████████████████████████| 781 kB 6.4 MB/s
Collecting tensorboard-data-server<0.7.0,>=0.6.0
Downloading tensorboard_data_server-0.6.0-py3-none-any.whl (2.3 kB)
Requirement already satisfied: chardet<4,>=3.0.2 in c:\pg\python38\lib\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow) (3.0.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\pg\python38\lib\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow) (1.26.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\pg\python38\lib\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow) (2020.11.8)
Requirement already satisfied: idna<3,>=2.5 in c:\pg\python38\lib\site-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow) (2.10)
Requirement already satisfied: rsa<5,>=3.1.4; python_version >= “3.5” in c:\pg\python38\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow) (4.6)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\pg\python38\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow) (4.1.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\pg\python38\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow) (0.2.8)
Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\pg\python38\lib\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow) (1.3.0)
Requirement already satisfied: pyasn1>=0.1.3 in c:\pg\python38\lib\site-packages (from rsa<5,>=3.1.4; python_version >= “3.5”->google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow) (0.4.8)
Requirement already satisfied: oauthlib>=3.0.0 in c:\pg\python38\lib\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow) (3.1.0)
Using legacy ‘setup.py install’ for termcolor, since package ‘wheel’ is not installed.
Installing collected packages: typing-extensions, keras-preprocessing, flatbuffers, tensorflow-estimator, absl-py, wheel, astunparse, gast, markdown, grpcio, werkzeug, tensorboard-plugin-wit, tensorboard-data-server, tensorboard, opt-einsum, termcolor, h5py, google-pasta, tensorflow
Running setup.py install for termcolor … done
Successfully installed absl-py-0.12.0 astunparse-1.6.3 flatbuffers-1.12 gast-0.3.3 google-pasta-0.2.0 grpcio-1.32.0 h5py-2.10.0 keras-preprocessing-1.1.2 markdown-3.3.4 opt-einsum-3.3.0 tensorboard-2.5.0 tensorboard-data-server-0.6.0 tensorboard-plugin-wit-1.8.0 tensorflow-2.4.1 tensorflow-estimator-2.4.0 termcolor-1.1.0 typing-extensions-3.7.4.3 werkzeug-1.0.1 wheel-0.36.2

Enterキーを押すと、インストールが開始され、「Successfully installed…」と表示されます。これが表示されれば、正常にインストールは完了となります。

pip3 install -r requirements.txt

完了後、他のPythonパッケージをインストールしますので、上記のコマンドを入力し、Enterキーを押します。こちらも、今回はpythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install -r requirements.txt

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Collecting fire>=0.1.3
Downloading fire-0.4.0.tar.gz (87 kB)
|████████████████████████████████| 87 kB 674 kB/s
Collecting regex==2017.4.5
Downloading regex-2017.04.05.tar.gz (601 kB)
|████████████████████████████████| 601 kB 1.3 MB/s
Collecting requests==2.21.0
Downloading requests-2.21.0-py2.py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 564 kB/s
Collecting tqdm==4.31.1
Downloading tqdm-4.31.1-py2.py3-none-any.whl (48 kB)
|████████████████████████████████| 48 kB 753 kB/s
Requirement already satisfied: six in c:\pg\python38\lib\site-packages (from fire>=0.1.3->-r requirements.txt (line 1)) (1.15.0)
Requirement already satisfied: termcolor in c:\pg\python38\lib\site-packages (from fire>=0.1.3->-r requirements.txt (line 1)) (1.1.0)
Requirement already satisfied: certifi>=2017.4.17 in c:\pg\python38\lib\site-packages (from requests==2.21.0->-r requirements.txt (line 3)) (2020.11.8)
Collecting urllib3<1.25,>=1.21.1
Downloading urllib3-1.24.3-py2.py3-none-any.whl (118 kB)
|████████████████████████████████| 118 kB 939 kB/s
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\pg\python38\lib\site-packages (from requests==2.21.0->-r requirements.txt (line 3)) (3.0.4)
Collecting idna<2.9,>=2.5
Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 1.2 MB/s
Building wheels for collected packages: fire, regex
Building wheel for fire (setup.py) ... done
Created wheel for fire: filename=fire-0.4.0-py2.py3-none-any.whl size=115928 sha256=cb4b30cd86f2194e4689adc415fde5b3384c24070037363e81fd9c74278395e1
Stored in directory: c:\users\user\appdata\local\pip\cache\wheels\1f\10\06\2a990ee4d73a8479fe2922445e8a876d38cfbfed052284c6a1
Building wheel for regex (setup.py) ... done
Created wheel for regex: filename=regex-2017.4.5-cp38-cp38-win_amd64.whl size=247990 sha256=15b7498f974b4eeea72e7c0af0d7a6bba302a98116b5f85dfdacb7dd36e94912
Stored in directory: c:\users\user\appdata\local\pip\cache\wheels\45\6d\d9\1c9b861321c9240122cb967b734a80545c9f465be4fcb16f19
Successfully built fire regex
Installing collected packages: fire, regex, urllib3, idna, requests, tqdm
Attempting uninstall: urllib3
Found existing installation: urllib3 1.26.2
Uninstalling urllib3-1.26.2:
Successfully uninstalled urllib3-1.26.2
Attempting uninstall: idna
Found existing installation: idna 2.10
Uninstalling idna-2.10:
Successfully uninstalled idna-2.10
Attempting uninstall: requests
Found existing installation: requests 2.25.0
Uninstalling requests-2.25.0:
Successfully uninstalled requests-2.25.0
Attempting uninstall: tqdm
Found existing installation: tqdm 4.53.0
Uninstalling tqdm-4.53.0:
Successfully uninstalled tqdm-4.53.0
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

pyppeteer 0.2.2 requires tqdm<5.0.0,>=4.42.1, but you'll have tqdm 4.31.1 which is incompatible.
pyppeteer 0.2.2 requires urllib3<2.0.0,>=1.25.8, but you'll have urllib3 1.24.3 which is incompatible.
docx2pdf 0.1.7 requires tqdm<5.0.0,>=4.41.0, but you'll have tqdm 4.31.1 which is incompatible.
Successfully installed fire-0.4.0 idna-2.8 regex-2017.4.5 requests-2.21.0 tqdm-4.31.1 urllib3-1.24.3

Enterキーを押すと、インストールが開始され、「Successfully installed..」と表示され、インストールが完了します。「ERROR(エラー)」が発生していますが、内容を確認すると「2020年10月以降、パッケージのインストールやアップデートの際にエラーが発生することがあります。これは、pipが依存関係の衝突を解決する方法を変更するためです。–use-feature=2020-resolver というオプションを指定し、パッケージをテストすることをお勧めします。」というもので、一旦無視して先に進めます。

■モデルデータ(774M)のダウンロードする

python3 download_model.py 774M

インストールが完了後、GPT-2のモデルデータ(774M)のダウンロードするため、上記のコマンドを入力し、Enterキーを押します。

py -3.8 download_model.py 774M

今回は、Python Version 3.8.5を指定してダウンロードを行いますので、上記のコマンドを入力し、Enterキーを押します。

Fetching checkpoint: 1.00kit [00:00, 500kit/s]
Fetching encoder.json: 1.04Mit [00:01, 764kit/s]
Fetching hparams.json: 1.00kit [00:00, 249kit/s]
Fetching model.ckpt.data-00000-of-00001: 3.10Git [26:48, 1.92Mit/s]
Fetching model.ckpt.index: 16.0kit [00:00, 2.67Mit/s]
Fetching model.ckpt.meta: 1.38Mit [00:01, 903kit/s]
Fetching vocab.bpe: 457kit [00:01, 414kit/s]

Enterキーを押すと、モデルデータのダウンロードが開始され完了となります。かなり容量があるので、しばらく時間がかかります。

■GPT-2を使用し文章の自動生成する

py -3.8 src/interactive_conditional_samples.py

完了後、GPT-2を使用し文章の自動生成します。作成するために上記のコマンドを入力し、Enterキーを押します。

2021-04-25 09:25:05.137291: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library ‘cudart64_110.dll’; dlerror: cudart64_110.dll not found
2021-04-25 09:25:05.137522: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File “src/interactive_conditional_samples.py”, line 9, in <module>
import model, sample, encoder
File “C:\Users\user\gpt-2\src\model.py”, line 3, in <module>
from tensorflow.contrib.training import HParams
ModuleNotFoundError: No module named ‘tensorflow.contrib’

Enterキーを押すと、上記のエラーが発生しました。原因を調べてみると、インストールしたTensorflowのバージョン(2.x)が非推奨ということが判明。Tensorflowをダウングレードする必要があります。しかし、バージョン「3.8.5」では、GPT-2を利用可能にするためのTensorflowのダウングレードを行うことができませんので、Python 3.6.8(旧バージョン)を使用することになりました。

py -3.6 -m pip install tensorflow==1.15

3.6.8に切り替え後、cdコマンドでgpt-2のディレクトリへ移動、その後上記のコマンドを入力し、Enterキーを押します。今回はtensorflowのバージョン1.15をインストールします。

Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 'C:\\Program Files\\Python36\\Lib\\site-packages\\six.py'
Consider using the `--user` option or check the permissions.

Enterキーを押すと、上記のエラーが発生しますので、これを解決します。

py -3.6 -m pip install tensorflow==1.15 --user

解決するために上記のコマンドを入力し、Enterキーを押します。

py -3.6 -m pip install -r requirements.txt --user

Enterキーを押した後、引き続き、上記のコマンドを入力し、Enterキーを押します。

py -3.6 src/interactive_conditional_samples.py

Enterキーを押した後、再びGPT-2を使用し文章の自動生成します。作成するために上記のコマンドを入力し、Enterキーを押します。

2021-04-25 10:36:52.589505: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library ‘cudart64_100.dll’; dlerror: cudart64_100.dll not found
2021-04-25 10:36:52.589788: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File “src/interactive_conditional_samples.py”, line 91, in <module>
fire.Fire(interact_model)
File “C:\Users\user\AppData\Roaming\Python\Python36\site-packages\fire\core.py”, line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File “C:\Users\user\AppData\Roaming\Python\Python36\site-packages\fire\core.py”, line 471, in _Fire
target=component.__name__)
File “C:\Users\user\AppData\Roaming\Python\Python36\site-packages\fire\core.py”, line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File “src/interactive_conditional_samples.py”, line 47, in interact_model
enc = encoder.get_encoder(model_name, models_dir)
File “C:\Users\user\gpt-2\src\encoder.py”, line 109, in get_encoder
with open(os.path.join(models_dir, model_name, ‘encoder.json’), ‘r’) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘models\\124M\\encoder.json’

Enterキーを押すと、上記のエラーが発生しますので、これを解決します。

解決するために、「C:\Users\(ユーザー名)\gpt-2\src」のディレクトリを確認します。ディレクトリ内に「interactive_conditional_samples.py」というファイルがあるので、このファイルをコードエディタで開きます。

def interact_model( model_name='124M', seed=None, nsamples=1, batch_size=1, length=None, temperature=1, top_k=0, top_p=1, models_dir='models', ):

コードエディタで開くと、上記のコードが書かれていますので、「model_name=’124M’」の部分を「model_name=’774M’」に変更し、ファイルを保存します。

py -3.6 src/interactive_conditional_samples.py --top_k 40

保存後、再び上記のコマンドを入力し、Enterキーを押します。なお、「–top_k 40」というパラメーターを含ませて、各ステップ(トークン生成、単語生成)で何個の単語を指定します。研究によると、「40」が良い値ということなので、「40」と指定します。

2021-04-25 10:59:01.032814: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library ‘cudart64_100.dll’; dlerror: cudart64_100.dll not found
2021-04-25 10:59:01.033055: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
WARNING:tensorflow:From src/interactive_conditional_samples.py:57: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.

2021-04-25 10:59:05.635581: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library ‘nvcuda.dll’; dlerror: nvcuda.dll not found
2021-04-25 10:59:05.635786: E tensorflow/stream_executor/cuda/cuda_driver.cc:318] failed call to cuInit: UNKNOWN ERROR (303)
2021-04-25 10:59:05.644373: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: DESKTOP-CA72B3D
2021-04-25 10:59:05.644959: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: DESKTOP-CA72B3D
2021-04-25 10:59:05.645641: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
WARNING:tensorflow:From src/interactive_conditional_samples.py:58: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.

WARNING:tensorflow:From src/interactive_conditional_samples.py:60: The name tf.set_random_seed is deprecated. Please use tf.compat.v1.set_random_seed instead.

WARNING:tensorflow:From C:\Users\user\gpt-2\src\sample.py:51: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.

WARNING:tensorflow:From C:\Users\user\gpt-2\src\model.py:148: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.

WARNING:tensorflow:From C:\Users\user\gpt-2\src\model.py:152: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.

WARNING:tensorflow:From C:\Users\user\gpt-2\src\model.py:36: The name tf.rsqrt is deprecated. Please use tf.math.rsqrt instead.

WARNING:tensorflow:From C:\Users\user\gpt-2\src\sample.py:64: to_float (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
WARNING:tensorflow:From C:\Users\user\gpt-2\src\sample.py:16: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
WARNING:tensorflow:From C:\Users\user\gpt-2\src\sample.py:67: multinomial (from tensorflow.python.ops.random_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.random.categorical` instead.
WARNING:tensorflow:From src/interactive_conditional_samples.py:68: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.

2021-04-25 10:59:18.067928: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 257315840 exceeds 10% of system memory.
Model prompt >>>

Enterキーを押すと、「WARNING(警告)」などが表示されますが、一旦無視します。最後に「Model prompt >>>」と表示されますので、この表示の後に英語で文章を入力します。

Sunday was a fine day.

入力後、Enterキーを押します。今回はテストで入力しています。

======================================== SAMPLE 1 ========================================

In early 2014 one of the oldest, most venerable schools in the UK began to close. For the last four months of that year, one of the most important events in its history, a special programme of meetings of the University Council and all the university’s faculties, was cancelled.

The reason for the collapse was the fact that the university had started to spend too much money on its student benefits, which, despite what they may claim on the surface, have the potential to increase student debts immensely.

And if one looks at the current financial situation of the university it becomes less of a mystery why the decision was taken to move onto “a better future for tomorrow”.

As many of those who attended the university knew, it would be hard to argue with that conclusion. It was a very good university, one of the best in the UK in some respects.

The point is not so much in the way that the university came together, but in the fact that when the decision was taken, the university was the worst thing to happen to this university in a while.

On one level the decision might have been a simple one. It has had been a long while since the university was in good financial shape. While some of that has been due to some improvements in student numbers, much of it was driven by the economic downturn, the end of a number of years of investment in the university.

And that meant that for the good of the university it would only make sense to sell off a number of its assets.

Some of those assets were located in universities across the world and are owned by a network of overseas groups. Some of those assets also include the University of Edinburgh and its sister institutions in Edinburgh and Birmingham.

So the idea to liquidate the assets and go to the next stage, which we will examine shortly, is not entirely a surprise.

What is surprising is the level of enthusiasm that has been shown towards this move. I have spoken with many people who are genuinely hopeful for the future of the university. But that level of optimism, and that level of expectation is an illusion.

The real optimism is more that the university will continue to exist (which at this stage of the game will not). But there are a number of people who will feel even more hopeful later on that this is all part of a wider plan to replace the university, which is what we have come to call the “University Modernisation Project”.

Those who believe this project will
================================================================================

Enterキーを押すと、文章を自動生成してくれますが、生成までに時間がかかります。

======================================== SAMPLE 1 ========================================

2014年初頭、英国で最も古く、由緒ある学校の一つが閉鎖を始めました。その年の最後の4カ月間は、その歴史の中で最も重要なイベントの一つである、大学評議会と大学の全学部の会議の特別プログラムが中止されました。

崩壊の原因は、大学が学生の福利厚生にお金をかけすぎたことにありました。学生の福利厚生は、表面上の主張とは裏腹に、学生の借金を莫大に増やす可能性があります。

現在の大学の財政状況を見れば、「明日のためのより良い未来」への移行を決断した理由も不思議ではありません。

大学に通っていた多くの人が知っているように、この結論に異論を唱えるのは難しいでしょう。この大学は非常に優れた大学で、ある意味では英国で最高の大学の一つでした。

重要なのは、大学が一丸となったことではなく、決断が下されたときに、この大学にはここしばらくで最悪の事態が起こったということです。

一面では、この決定は単純なものだったかもしれません。大学の財政状態が良好になってから、ずいぶんと時間が経っていました。学生数の増加によるものもありましたが、その多くは経済不況によるもので、長年にわたる大学への投資が終了したことによるものでした。

つまり、大学の利益のためには、いくつかの資産を売却することが理にかなっているということでした。

これらの資産の中には、世界中の大学にあり、海外のグループのネットワークによって所有されているものもあります。その中には、エジンバラ大学とその姉妹校であるエジンバラとバーミンガムの大学も含まれています。

ですから、資産を整理して、これから検討する次の段階に進もうという考えは、まったくの驚きではありません。

驚くべきことは、この動きに対する人々の熱意です。私は、大学の将来に純粋な希望を抱いている多くの人々と話をしてきました。しかし、そのようなレベルの楽観主義や期待は幻想なのです。

本当の意味での楽観主義は、大学が存続することです(現段階では存続しませんが)。しかし、後になって、これはすべて大学に取って代わるための広範な計画の一部であり、それは私たちが「大学近代化プロジェクト」と呼ぶものであるということに、さらに希望を感じる人たちが多数います。

このプロジェクトが実現すると信じている人は
================================================================================

翻訳したものを、ニューラルネットワーク技術を駆使して開発された超高性能な機械翻訳システム「DeepL翻訳」(無料版)で日本語に翻訳すると、上記になります。テストと入力した文章とは、関係のない文章が生成されました。

コメント

タイトルとURLをコピーしました