(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022174244
(43)【公開日】2022-11-22
(54)【発明の名称】テキスト生成システム
(51)【国際特許分類】
G06F 40/56 20200101AFI20221115BHJP
G06F 40/44 20200101ALI20221115BHJP
【FI】
G06F40/56
G06F40/44
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022147442
(22)【出願日】2022-09-15
(62)【分割の表示】P 2021077563の分割
【原出願日】2021-04-30
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】521190451
【氏名又は名称】大曽根 宏幸
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip弁理士法人
(72)【発明者】
【氏名】大曽根 宏幸
(57)【要約】 (修正有)
【課題】創作の多様性を支援するテキスト生成システムを提供する。
【解決手段】APIサーバが、フロントエンドサーバと通信ネットワークを介して通信可能に接続され、フロントエンドサーバが、ユーザ端末と通信ネットワークを介して通信可能に接続されるテキスト生成システムにおいて、APIサーバは、ジャンル、タイトル、あらすじ及び本文を学習させた文章生成器と、ジャンル、キーワードの入力を受け付け、受け付けたジャンル及びキーワードをテキスト生成器に与えてタイトルを生成するタイトル生成部と、生成したタイトルを出力するテキスト出力部と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ジャンル、タイトル、あらすじ及び本文を学習させたテキスト生成器と、
ジャンル、キーワードの入力を受け付け、受け付けた前記ジャンル及び前記キーワードを前記テキスト生成器に与えてタイトルを生成するタイトル生成部と、
生成した前記タイトルを出力するテキスト出力部と、
を備えることを特徴とするテキスト生成システム。
【請求項2】
請求項1に記載のテキスト生成システムであって、
ジャンル、キーワード及びタイトルの入力を受け付け、受け付けた前記ジャンル、前記キーワード及び前記タイトルを前記テキスト生成器に与えてあらすじを生成するあらすじ生成部をさらに備え、
前記テキスト出力部は、生成した前記あらすじを出力すること、
を特徴とするテキスト生成システム。
【請求項3】
請求項1又は2に記載のテキスト生成システムであって、
ジャンル、キーワード、タイトル及びあらすじの入力を受け付け、受け付けた前記ジャンル、前記キーワード、前記タイトル、及び前記あらすじを前記テキスト生成器に与えて本文に加える文章を生成する本文生成部をさらに備え、
前記テキスト出力部は、生成した前記文章を出力すること、
を特徴とするテキスト生成システム。
【請求項4】
請求項3に記載のテキスト生成システムであって、
前記本文生成部がさらに、ジャンル、キーワード、タイトル、あらすじ及び本文の入力を受け付け、受け付けた前記ジャンル、前記キーワード、前記タイトル、前記あらすじ及び前記本文を前記テキスト生成器に与えて前記本文に加える文章を生成し、
前記テキスト出力部がさらに、生成した前記文章を出力すること、
を特徴とするテキスト生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト生成システムに関する。
【背景技術】
【0002】
特許文献1には文章を生成する装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、創作の多様性を支援することが難しい。
【0005】
本発明はこのような背景を鑑みてなされたものであり、創作の多様性を支援することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、テキスト生成システムであって、ジャンル、タイトル、あらすじ及び本文を学習させたテキスト生成器と、ジャンル、キーワードの入力を受け付け、受け付けた前記ジャンル及び前記キーワードを前記テキスト生成器に与えてタイトルを生成するタイトル生成部と、生成した前記タイトルを出力するテキスト出力部と、を備えることを特徴とする。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、創作の多様性を支援することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係るAIシステムの全体構成例を示す図である。
【
図2】フロントエンドサーバ20及びAPIサーバ30のハードウェア構成例を示す図である。
【
図3】フロントエンドサーバ20のソフトウェア構成例を示す図である。
【
図4】APIサーバ30のソフトウェア構成例を示す図である。
【
図5】本実施形態のAIシステムを用いた小説の執筆の流れを説明する図である。
【
図7】タイトル生成のための執筆画面51の一例を示す図である。
【
図8】あらすじ生成のための執筆画面52の一例を示す図である。
【
図9】本文執筆のための執筆画面53の一例を示す図である。
【発明を実施するための形態】
【0010】
<概要>
以下、本発明の一実施形態に係るAIシステムについて説明する。本実施形態のAIシステムは、小説の執筆を支援しようとするものであり、小説の作家と人工知能(AI)とがストーリーを共創することにより、小説作品の多様性を増加させようとしている。本実施形態のAIシステムを用いることで、作家はキーワードからタイトルやあらすじ、本文を生成することができ、対話型の作業により楽しみながら執筆を行うことができる。
【0011】
<AI>
本実施形態にて用いるAI(テキスト生成器)は、日本語のウェブテキスト及びウェブ小説の大規模データセットを用いて学習されたGPT-2(教師なしマルチタスク言語モデル)である。教師なしマルチタスク学習に基づいた最新の言語モデルの一つであるGPT-2を用いて、日本語のブログやニュース記事、ウィキペディア(登録商標)から収集した大規模データセット(約40GB)を用いて事前学習を行った。次に、小説を生成するAIを構築するために、小説投稿サイトから複数のカテゴリの多様なウェブ小説(11万冊以上)を収集した。収集した小説のテキストには、小説投稿サイトからジャンル、キーワード、あらすじ、本文データが含まれる。また、日本の読者によるクラウドソーシングを活用して、収集したウェブ小説のあらすじから不要な表現(本の出版情報やプラットフォームでのランキングなど)を削除した。
【0012】
自然言語処理(NLP)のアルゴリズムは、質問回答、機械翻訳、文章要約などの複数のタスクで幅広く開発されており、特に、ELMo(言語モデルからの埋め込み)、BERT、GPT-2などのTransformerを用いた言語モデルは、急速に応用が進んでいる。Transformerの成功は、ストーリー生成など自然言語生成(NLG)分野にまで拡張されている。そこで本実施形態のAIシステムでは、最新のNLG技術を創造性支援を行うためのインターフェースに応用する。
【0013】
<AI TRPG>
さらに、書き手の興味・関心を高め、よりクリエイティブなコンテンツを作るアイデアを引き出すために、小説執筆体験をゲーム感覚にすることで、よりクリエイティブで多様なコンテンツ制作を支援するための共創の選択肢として、AI支援型ロールプレイングゲーム(AI TRPG)を提案する。
【0014】
TRPG とは、Wikipedia(登録商標)によると「テーブルトークRPG、あるいはテーブルトーク・ロールプレイングゲーム(英: Tabletop role-playing game)とは、テーブルゲームのジャンルのひとつ。ゲーム機などのコンピュータを使わずに、紙や鉛筆、サイコロなどの道具を用いて、人間同士の会話とルールブックに記載されたルールに従って遊ぶ“対話型”のロールプレイングゲーム(RPG)を指す言葉」とされている。本実施形態のAIシステムにおけるのAI TRPGでは、物語の世界観設定と本文に合わせてAIが対応する文章の選択肢を提案することで、ユーザーが物語のキャラクターとなって他のキャラクターと対話的に会話をすることでより没入して執筆を行うことができたり、作家自身の引き出しにはないキャラクターの幅を出すことができるようにしている。
【0015】
<システム構成>
図1は、本発明の一実施形態に係るAIシステムの全体構成例を示す図である。本実施形態のAIシステムは、APIサーバ30及びフロントエンドサーバ20を含んで構成される。APIサーバ30は、フロントエンドサーバ20と通信ネットワークを介して通信可能に接続されており、フロントエンドサーバ20はユーザ端末10と通信ネットワークを介して通信可能に接続される。通信ネットワークは、たとえばインターネットであり、公衆電話回線網や携帯電話回線網、無線通信路、イーサネット(登録商標)などにより構築される。
【0016】
ユーザ端末10は、文章を作成しようとするユーザ(小説の作家)が操作する、例えば、スマートフォンやタブレットコンピュータ、パーソナルコンピュータなどのコンピュータである。ユーザ端末10ではWebブラウザが動作し、フロントエンドサーバ20にアクセスすることができる。
【0017】
フロントエンドサーバ20は、ユーザ端末10とのデータのやりとりを行うコンピュータである。なお、フロントエンドサーバ20とAPIサーバ30とを一つの物理的又は仮想的なコンピュータとして実装してもよい。フロントエンドサーバ20は、Webサーバとして機能し、ユーザ端末10に対して、HTMLにより記載された画面(Webページ)を提供し、小説の創作手続に係るテキストの入出力を行わせることができる。
【0018】
APIサーバ30は、タイトルやあらすじなどのテキストの生成を行うコンピュータである。APIサーバ30は、フロントエンドサーバ20を介してユーザから入力されたキーワードを受け付けてタイトル、あらすじ、本文(に追加する文章)を生成することができる。
【0019】
<サーバの構成>
フロントエンドサーバ20及びAPIサーバ30は、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、あるいはクラウド・コンピューティングによって論理的に実現されてもよい。
【0020】
図2は、フロントエンドサーバ20及びAPIサーバ30のハードウェア構成例を示す図である。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。また、ユーザ端末10も同様の構成を備えることができる。フロントエンドサーバ20及びAPIサーバ30は、CPU101、メモリ102、記憶装置103、通信インタフェース104、入力装置105、出力装置106を備える。記憶装置103は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。通信インタフェース104は、通信ネットワークに接続するためのインタフェースであり、例えばイーサネット(登録商標)に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信機、シリアル通信のためのUSB(Universal Serial Bus)コネクタやRS232Cコネクタなどである。入力装置105は、データを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。出力装置106は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。
【0021】
<フロントエンドサーバ20>
図3は、フロントエンドサーバ20のソフトウェア構成例を示す図である。フロントエンドサーバ20は、入力処理部211、テキスト送信部212、表示部213を備える。
【0022】
入力処理部211は、ユーザからテキストデータの入力を受け付ける。テキストデータには、制作する小説のジャンル、タイトルに関するキーワード(以下、タイトルキーワードという。)、タイトル、あらすじに関するキーワード(以下、あらすじキーワードという。)、あらすじ、本文がありうる。本実施形態では、ユーザ端末10から送信されるテキストデータを受信する。後述する表示部213により作成された画面データに基づいてユーザ端末10に表示されたフォームに入力されたテキストデータがユーザ端末10からフロントエンドサーバ20に送信させるようにすることができる。
【0023】
テキスト送信部212は、受け付けたテキストデータをAPIサーバ20に送信する。テキスト送信部212は、APIサーバ20が提供するAPIを呼び出す形で、APIに与えるパラメータとしてテキストデータを送信することができる。
【0024】
表示部213は、APIサーバ30が生成したテキストデータ(タイトル、あらすじ、本文)を表示する。本実施形態では、表示部21は、テキストデータをユーザ端末10に表示させる。表示部213は、HTML、CSS及びJavaScriptを用いて画面データを作成し、作成した画面データをユーザ端末10に送信することによりユーザ端末10においてテキストデータを表示させる。また、ユーザ端末10では、これらのテキストデータを画面上で編集できるようにすることができる。
【0025】
<APIサーバ30>
図4は、APIサーバ30のソフトウェア構成例を示す図である。APIサーバ30は、文章生成器311、トークナイザー312、リクエスト入力部313、タイトル生成部314、あらすじ生成部315、本文生成部316、テキスト出力部317、短文モデル記憶部331、長文モデル記憶部332、小説データ記憶部333を備える。
【0026】
小説データ記憶部333は、作成した小説に係るす小説データを記憶する。小説データには、作成者のユーザを示すユーザID、ジャンル、タイトル、あらすじ、本文を含むことができる。
【0027】
<モデル>
短文モデル記憶部331及び長文モデル記憶部332には、文章生成器311が用いる学習モデルが記憶される。短文モデル記憶部331には、タイトル及び短い文章を作成するための学習モデルが記憶される。長文モデル記憶部332には、あらすじ及び長い文章を作成するための学習モデルが記憶される。学習モデルにはGPT-2を採用することができる。OpenAIのGPT-2は、翻訳やQ&Aなど複数の文章生成タスクにおいて教師なしか少しの教師データで人間に近い能力を発揮することが述べられている。本実施形態のAIシステムにおけるAIのモデルにはGPT-2のパラメータ数15億のモデルを利用することができる。本実施形態では、事前学習のために、日本語記事(40GB)とウェブ小説(110k本)の大規模データを用いてGPT-2を訓練し、継続的に学習したテキスト生成器を想定している。キーワードなどの条件をつけた文章生成のため、単語の同時分布を自己回帰的に学習する言語モデルの特性を利用することができる。学習データは、モデルがあらすじの学習に用いる情報に基づいて、正解のあらすじを生成できるように整理する。このようにして、学習時には要素とあらすじの同時分布をモデル化し、推論時には与えられた要素の条件付き分布からあらすじを生成できる。
【0028】
文章生成器311は、短文モデル又は長文モデルにテキストを与えることにより文章のテキストデータを生成することができる。なお、文章生成器311、短文モデル記憶部331及び長文モデル332に代えて、短文モデルを組み込んだ短文文章生成器と、長文モデルを組み込んだ長文文章生成器とを設けるようにしてもよい。GPT-2の学習モデルの入力データフォーマットは次のようなものである。ジャンル、キーワード、タイトル、あらすじ、及び本文テキストを示す特別なトークンを用い、学習モデルに対してタイトルやあらすじが始まることを指示することができる。データはカテゴリ(タイトルキーワード、タイトル、あらすじキーワード、あらすじ)を示すトークンにより連結される。
【0029】
(入力データのフォーマット)
[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]タイトル[EXTRACTEDKEYWORD]あらすじキーワード[SYNOPSIS]あらすじ[BODYTEXT]本文
【0030】
タイトルの生成には、次のデータを入力する。
[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]
【0031】
あらすじの生成には、次のデータを入力する
[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]タイトル[EXTRACTEDKEYWORD]あらすじキーワード[SYNOPSIS]
【0032】
なお、タイトルキーワード(KEYWORD)は、ユーザが指定したキーワードである。あらすじキーワード(EXTRACTEDKEYWORD)は、あらすじからEmbedrankにより抽出された単語である。Embedrankは、教師データを用いることなく文章中からキーフレーズを抽出するアルゴリズムとして知られている。なお、あらすじキーワードについてもユーザが指定をするようにすることもできる。
【0033】
トークナイザー312は、テキストデータをトークンに分解する。本実施形態では、トークナイザー312としてSentencePieceを用いた。他のトークナイザーと比較して、データ中の未知語を除去し、トークンサイズを小さくすることができるため、文生成や翻訳などの作業に適しているとされる。トークン数は50000とし、収集した日本語記事や小説の合計60GB以上のデータを用いてのトークナイザー312を学習させた。
【0034】
リクエスト入力部313は、APIのリクエストを受け付ける。本実施形態では、フロントエンドサーバ20からのAPIの呼出しはリクエストの送信により行われ、リクエスト入力部313は、フロントエンドサーバ20からのリクエストを受け付ける。リクエストには、タイトルの生成リクエスト、あらすじの生成リクエスト、本文の生成リクエストがありうる。
【0035】
タイトル生成リクエストには、キーワードが設定される。本実施形態では、タイトル生成リクエストにはジャンルも設定される。
【0036】
あらすじ生成リクエストには、タイトル及びあらすじキーワードが含まれる。本実施形態では、ジャンル、タイトルキーワードもあらすじ生成リクエストに設定される。
【0037】
本文生成リクエストには、タイトル、あらすじが設定される。また、作成中の本文も本文生成リクエストに含めることができる。本実施形態では、ジャンル、タイトルキーワード、あらすじキーワードも本文生成リクエストに設定される。
【0038】
タイトル生成部314は、タイトルキーワードを文章生成器311に与えてタイトルを生成する。本実施形態では、タイトル生成部314は、ジャンル及びキーワードを文章生成器311に与える。本実施形態では、タイトル生成部314は、[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]を文章生成器311に与えてタイトルを生成させることができる。本実施形態では、文章生成器311は、複数の短文の文章を作成するようにパラメータを設定しておくことができ、タイトル生成部314は、複数のタイトルを生成させ、これらをタイトルの候補としてユーザに提示し、タイトルをユーザに選択させることができる。
【0039】
あらすじ生成部315は、タイトル及びあらすじキーワードを文章生成器311に与えてあらすじを生成する。本実施形態では、あらすじ生成部315は、ジャンル、タイトルキーワード、あらすじキーワード及びタイトルを文章生成器311に与える。あらすじ生成部315は、[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]タイトル[EXTRACTEDKEYWORD]あらすじキーワード[SYNOPSIS]を文章生成器311に与えることによりあらすじを生成させることができる。
【0040】
本文生成部316は、タイトル及びあらすじを文章生成器311に与えて本文を生成する。執筆途中の本文をさらに与えることにより、本文の続きの文書を生成することができる。本実施形態では、本文生成部316は、ジャンル、タイトルキーワード、及びあらすじキーワードも文章生成器311に与える。本文生成部316は、[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]タイトル[EXTRACTEDKEYWORD]あらすじキーワード[SYNOPSIS]あらすじ[BODYTEXT]本文(執筆途中の本文がある場合のみ)を文章生成器311に与えることにより本文に加える文章を生成させることができる。本実施形態では、文章生成器311は、複数の文章を作成するようにパラメータを設定しておくことができ、本文生成部316は、複数の文章を生成させ、これらを本文に追加する文章の候補としてユーザに提示し、本文に続ける文章をユーザに選択させることができる。
【0041】
テキスト出力部317は、タイトル生成部314、あらすじ生成部315、本文生成部316が作成したタイトル、あらすじ、本文を出力する。本実施形態では、テキスト出力部317は、リクエストに対する応答としてタイトル、あらすじ、本文を出力することができる。
【0042】
<執筆の流れ>
図5は、本実施形態のAIシステムを用いた小説の執筆の流れを説明する図である。
【0043】
ユーザは、ジャンル及びタイトルキーワードを入力し(S401)、AIシステムはジャンル及びタイトルキーワードをテキスト生成器に与えてタイトル候補を生成する(S402)。ユーザは、生成されたタイトル候補の中からタイトルを選択する(S403)。ここでユーザは、タイトル候補を参考にタイトルを自身で作成するようにしてもよい。
【0044】
次にユーザは、あらすじキーワードを入力し(S404)、AIシステムは、ジャンル、タイトル、及びあらすじキーワード(加えてタイトルキーワードを用いてもよい。)をテキスト生成器に与えてあらすじを生成する(S405)。ここでユーザは生成されたあらすじを編集することもできる。
【0045】
AIシステムは、ジャンル、タイトル、あらすじ及び本文(加えてタイトルキーワード、あらすじキーワードを用いてもよい。)をテキスト生成器に与えて本文に追加する文章の候補を生成する(S406)。本文は空文字としてもよいし、ユーザが作成した書き出しを設定してもよい。ユーザは、文章の候補から本文に追加するものを選択し、選択した文章を本文に追加する(S407)。ユーザは、文章の候補を参考に、自身で作成した文章を本文に追加することもできる。
【0046】
執筆を終了するまで(S408:NO)、ステップS406からの処理を繰り返す。なお、ステップS406の前にタイトルやあらすじをユーザが編集してもよい。
【0047】
以上のようにして、ユーザはAIシステムと対話をしながら小説を執筆することができる。
【0048】
<システムの動作>
図6は、AIシステムの動作を説明する図である。
【0049】
ユーザ端末10がフロントエンドサーバ20にアクセスすると、フロントエンドサーバ20の表示部213は、執筆画面を表示するための画面データをユーザ端末10に送信し(S421)、ユーザ端末10において執筆画面51が表示され、執筆画面51においてユーザはジャンル及びタイトルキーワードを入力する(S422)。また、執筆画面51にあらすじを入力してもよい。
【0050】
図7は、タイトル生成のための執筆画面51の一例を示す図である。執筆画面51は、ジャンルの入力欄511及びサブジャンルの入力欄512を備える。入力欄511及び512には、ジャンル及びサブジャンルをフリーテキストで入力するようにしてもよいし、学習時に学習させてジャンル(及びサブジャンル)の中から選択させるようにしてもよい。入力欄511及び512に入力されたジャンル及びサブジャンルは、例えば、空白文字で連結してひとつの「ジャンル」を表す文字列とすることができる。執筆画面51はまた、タイトルキーワードの入力欄513を備える。入力欄513は複数配置してよい。さらに、執筆画面51は、あらすじの入力欄514を備える。あるすじがある場合には、ユーザは入力欄514にあらすじを入力することができる。なお、入力欄514には何も入力しなくてもよい。なお、図示しないが、執筆画面51において、ユーザがSNSやブログなどに投稿したテキストから抽出したキーワードをタイトルキーワードに設定することもできる。この場合、例えばフロントエンドサーバ20が、SNSサーバやブログサーバにアクセスして投稿のテキストを取得し、取得した投稿のテキストからキーワードを抽出してユーザ端末10に送信することができる。
【0051】
執筆画面51にてタイトル生成ボタン515が押下されると、ユーザ端末10からジャンル及びタイトルキーワードがフロントエンドサーバ20に送信される(S423)。あらすじが入力された場合にはジャンル及びタイトルキーワードとともにあらすじがフロントエンドサーバ20に送信される。
【0052】
フロントエンドサーバ20の入力処理部211は、ユーザ端末10から受信したジャンル及びタイトルキーワード(ならびに、存在すればあらすじ)を設定したタイトル生成リクエストをAPIサーバ30に送信する(S424)。
【0053】
APIサーバ30では、リクエスト入力部313がタイトル生成リクエストを受信すると、タイトル生成部314は、タイトル生成リクエストに設定されているジャンル及びタイトルキーワードを文章生成器311に与えてタイトルの候補を所定数(1個でもよいし、5個などの任意の個数でもよい。)生成する(S425)。タイトル生成部314は、ジャンルとサブジャンルとを空白文字で連結してジャンル(CATEGORY)に与えることができる。また、タイトル生成部314は、タイトルキーワードをキーワード(KEYWORD)として与えることができる。また、タイトル生成リクエストにあらすじが含まれている場合には、トークナイザー312があらすじからキーワードを抽出して、タイトルキーワードとともにキーワード(KEYWORD)に加えることができる。
【0054】
テキスト出力部317は、生成されたタイトル候補をフロントエンドサーバ20に送信し(S426)、フロントエンドサーバ20のテキスト送信部212は、受信したタイトル候補をユーザ端末10に送信する(S427)。
【0055】
ユーザ端末10においては、執筆画面51の入力欄516にタイトル候補が表示される。執筆画面51は入力欄516を複数備えることができ、フロントエンドサーバ20から送信されたタイトル候補の全て又は一部を入力欄516に選択可能に表示することができる。ユーザは入力欄516においてタイトル候補を編集することができる。各入力欄516の近傍には、それぞれボタン517が配置され、ボタン517が押下されると、対応する入力欄516に表示されたタイトルが選択されたものとみなされる。ユーザは、ジャンルやタイトルキーワードなどを変更してタイトルの生成を繰り返すこともできる。
【0056】
執筆画面51においてタイトルが選択されると(S428)、ユーザ端末10ではあらすじの執筆画面52が表示され、あらすじキーワードの入力を受け付けるとともに、必要に応じてジャンル、タイトル、タイトルキーワードの編集を行うことができる(S431)。執筆画面52は、ステップS421で受信した画面データに基づいてユーザ端末10側で遷移するようにしてもよいし、フロントエンドサーバ20にアクセスして、執筆画面52用の画面データを取得するようにしてもよい。
【0057】
図8は、あらすじ生成のための執筆画面52の一例を示す図である。執筆画面52は、ジャンル及びサブジャンルの入力欄521及び522と、あらすじキーワードの入力欄523、タイトルキーワードの入力欄524、タイトルの入力欄525を備える。入力欄521、522、524、525には、
図7の執筆画面51で入力したジャンル、サブジャンル、タイトルキーワード及びタイトルが設定される。これらはユーザが編集することもできる。また、入力欄523には、ユーザがあらすじキーワードを入力することができる。なお、あらすじキーワードを、例えばSNSやブログなどへの投稿や学習データなどから自動生成するようにしてもよい。
【0058】
執筆画面52において、あらすじキーワードが入力され、また必要に応じてジャンル、タイトル、タイトルキーワードなどの編集が行われ、あらすじ生成ボタン526が押下されると、ユーザ端末10からジャンル、タイトルキーワード、タイトル及びあらすじキーワードがフロントエンドサーバ20に送信される(S431)。フロントエンドサーバ20の入力処理部211は、ユーザ端末10からジャンル、タイトルキーワード、タイトル及びあらすじキーワードを設定したあらすじ生成リクエストをAPIサーバ30に送信する(S432)。
【0059】
APIサーバ30では、リクエスト入力部313があらすじ生成リクエストを受信すると、あらすじ生成部315は、あらすじ生成リクエストに設定されているジャンル、タイトルキーワード、タイトル及びあらすじキーワードを文章生成器311に与えてあらすじを生成する(S433)。あらすじ生成部315は、ジャンル及びサブジャンルを空白文字で連結してジャンル(CATEGORY)として文章生成器311に与えることができる。また、あらすじ生成部315は、複数のタイトルキーワードと、複数のあらすじキーワードとの全てを空白文字で連結して、キーワード(KEYWORD)として文章生成器311に与えることができる。なお、執筆画面52の入力欄528においてユーザがあらすじを入力又は編集した場合に、ユーザ端末10からフロントエンドサーバ20を介してAPIサーバ30に送信されるあらすじ生成リクエストに、入力欄528に入力されているあらすじを設定するようにし、あらすじ生成部315は、文章生成器311にあらすじを与えるようにしてもよい。この場合、文章生成器311は、例えば、「[STARTOFTEXT][CATEGORY]ジャンル[KEYWORD]キーワード1 キーワード2 …[TITLE]タイトル[EXTRACTEDKEYWORD]あらすじキーワード[SYNOPSIS]あらすじ」をGPT-2の学習モデルに与えてあらすじに追記する文章を生成させ、あらすじ生成部315は、生成された文章をあらすじに追加するようにしてもよい。また、あらすじ生成リクエストにあらすじが設定された場合に、トークナイザー312があらすじからキーワードを抽出して、あらすじ生成部315は、抽出されたキーワードを、タイトルキーワード及びあらすじキーワードとともにキーワード(KEYWORD)に加えるようにしてもよい。
【0060】
テキスト出力部317は、生成されたあらすじをフロントエンドサーバ20に送信し(S435)、フロントエンドサーバ20のテキスト送信部212は、受信したあらすじをユーザ端末10に送信する(S436)。
【0061】
ユーザ端末10では執筆画面52においてあらすじの入力欄528にフロントエンドサーバ20から受信したあらすじを表示する。ユーザは入力欄528においてあらすじを編集することができる。ユーザはこのあらすじを確認して、必要に応じてジャンル、タイトル、タイトルキーワード、あらすじキーワードを変更して再度あらすじを自動生成することもできる。執筆画面52において対話型執筆ボタン529が押下されると、ユーザ端末30では、本文の執筆のための執筆画面53が表示される。執筆画面53は、ステップS421で受信した画面データに基づいてユーザ端末10側で遷移するようにしてもよいし、フロントエンドサーバ20にアクセスして、執筆画面53用の画面データを取得するようにしてもよい。
【0062】
図9は、本文執筆のための執筆画面53の一例を示す図である。執筆画面53は、あらすじの入力欄531、ジャンルの入力欄532、タイトルの入力欄533、タイトルキーワードの入力欄534、あらすじキーワードの入力欄535を備え、これらの入力欄531,532,533,534,535にはそれぞれ、執筆画面52で入力されていたあらすじ、ジャンル、タイトル、タイトルキーワード、あらすじキーワードが設定される。なお、入力欄532には、例えば、ジャンル及びサブジャンルを空白文字で連結したテキストを設定することができる。入力欄534には、例えば、複数のタイトルキーワードを空白文字で連結したテキストを設定することができる。入力欄535には、例えば、複数のあらすじキーワードを空白文字で連結したテキストを設定することができる。これらの入力欄のテキストを編集することもできる。
【0063】
また、執筆画面53は本文の入力欄538を備える。入力欄538は空欄であってよい。ユーザは自身で本文を入力欄538に入力することもできる。執筆画面53において、ジャンル、タイトル、タイトルキーワード、あらすじキーワード、及び本文の編集が終わり(S441)、生成ボタン536が押下されると、ジャンル、タイトル、タイトルキーワード、あらすじキーワード、及び本文がフロントエンドサーバ20に送信される(S442)。
【0064】
フロントエンドサーバ20の入力処理部211は、ユーザ端末10から受信したジャンル、タイトル、タイトルキーワード、あらすじキーワード、及び本文を設定した本文生成リクエストをAPIサーバ30に送信する(S443)。
【0065】
APIサーバ30では、リクエスト入力部313が本文生成リクエストを受信すると、本文生成部316は、本文生成リクエストに設定されているジャンル、タイトル、タイトルキーワード、あらすじキーワード、及び本文を文章生成器311に与えて本文に追加する文章の候補を所定数(1個でもよいし、5個などの任意の個数でもよい。)生成する(S444)。なお、本文生成部316は、複数のタイトルキーワードと、複数のあらすじキーワードとを全て空白文字で連結して、キーワード(KEYWORD)として文章生成器311に与えることができる。
【0066】
テキスト出力部317は、生成された文章をフロントエンドサーバ20に送信し(S445)、フロントエンドサーバ20のテキスト送信部212は、受信した文章をユーザ端末10に送信する(S446)。ユーザ端末10では、選択肢の入力欄537に、フロントエンドサーバ20から受信した文章の候補が表示され、ユーザが入力欄537に表示された文章を選択すると(S447)、選択された文章が入力欄538に入力されている本文に追記されるようにすることができる(S448)。
【0067】
ステップS441からS448までの処理を繰り返すことにより、ユーザはAIシステムと対話を行いながら小説の本文を執筆することができる。執筆が終了すると、ユーザ端末10は、ジャンル、タイトル、あらすじ及び本文をフロントエンドサーバ20に送信し(S451)、フロントエンドサーバ20の入力処理部211は、ユーザ端末10から受信したジャンル、タイトル、あらすじ及び本文をAPIサーバ30に送信する(S452)。APIサーバ30は、ユーザを特定するユーザIDに対応付けて、受信したジャンル、タイトル、あらすじ及び本文を小説データ記憶部333に登録することができる(S453)。
【0068】
以上のように、本実施形態のAIシステムによれば、タイトルやあらすじの生成方法を多様に提供することで、創作の手間を軽減し、ユーザの発想の幅を広げることができる。また、ゲームのようにインタラクティブに物語を作成できるAI TRPGを活用することで、ユーザーがより楽しんで執筆することができる。
【0069】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0070】
たとえば、本実施形態では、APIサーバ30とフロントエンドサーバ20とを別体のサーバであるものとしたが、1台の物理的又は仮想的なサーバとして実現することもできる。また、APIサーバ30が備える記憶部をAPIサーバ30とは異なるデータベースサーバに管理させるようにしてもよい。
【0071】
また、本実施形態では、本文の作成は、本文に追記する文章を提案するものとしたが、文章の生成時に、地の文と会話の両方を生成するか、会話のみを生成するかをオプションとして設定可能としてもよい。
【0072】
また、学習モデルに与える各種のパラメータをユーザ端末10において設定可能としてもよい。この場合、ユーザ端末10から当該パラメータの設定値がフロントエンドサーバ20を介してAPIサーバ30に伝達することができる。
【0073】
また、あらすじを生成する際に、あらすじキーワードに人名・場所などの固有名詞を指定して生成できるようにしてもよい。
【0074】
また、あらすじから三幕構成の幕ごとに応じた構成を生成するようにしてもよい。
【0075】
また、本文に応じて背景画像や立ちキャラ、セリフの声、モーションをAIが生成るようにしてもよい。この場合、背景画像は画像にアノテーションしたタグや説明文から、本文とマッチする背景画像を検索し、提示することができる。立ちキャラは本文に書いてあるキャラ名から認識することができる。声はキャラごとに音声合成を行うことができる。モーションはセリフを感情分析し、予め用意した感情と紐付けておいたモーションを当てはめることができる。
【0076】
<開示事項>
なお、本開示には、以下のような構成が含まれる。
[項目1]
ジャンル、タイトル、あらすじ及び本文を学習させたテキスト生成器と、
ジャンル、キーワードの入力を受け付け、受け付けた前記ジャンル及び前記キーワードを前記テキスト生成器に与えてタイトルを生成するタイトル生成部と、
生成した前記タイトルを出力するテキスト出力部と、
を備えることを特徴とするテキスト生成システム。
[項目2]
項目1に記載のテキスト生成システムであって、
ジャンル、キーワード及びタイトルの入力を受け付け、受け付けた前記ジャンル、前記キーワード及び前記タイトルを前記テキスト生成器に与えてあらすじを生成するあらすじ生成部をさらに備え、
前記テキスト出力部は、生成した前記あらすじを出力すること、
を特徴とするテキスト生成システム。
[項目3]
項目1又は2に記載のテキスト生成システムであって、
ジャンル、キーワード、タイトル及びあらすじの入力を受け付け、受け付けた前記ジャンル、前記キーワード、前記タイトル、及び前記あらすじを前記テキスト生成器に与えて本文に加える文章を生成する本文生成部をさらに備え、
前記テキスト出力部は、生成した前記文章を出力すること、
を特徴とするテキスト生成システム。
[項目4]
項目3に記載のテキスト生成システムであって、
前記本文生成部がさらに、ジャンル、キーワード、タイトル、あらすじ及び本文の入力を受け付け、受け付けた前記ジャンル、前記キーワード、前記タイトル、前記あらすじ及び前記本文を前記テキスト生成器に与えて前記本文に加える文章を生成し、
前記テキスト出力部がさらに、生成した前記文章を出力すること、
を特徴とするテキスト生成システム。
【符号の説明】
【0077】
211 入力処理部
212 テキスト送信部
213 表示部
311 文章生成器
312 トークナイザー
313 リクエスト入力部
314 タイトル生成部
315 あらすじ生成部
316 本文生成部
317 テキスト出力部
331 短文モデル記憶部
332 長文モデル記憶部
333 小説データ記憶部