サイン作家

平凡な作家の仕事は自​​動化できるため、自動化する必要があります。



seturalから遠く離れている人々にとって、どれだけの芸術作品がすでに書かれているか、または近い将来に書かれるかは明らかではないかもしれません。 SamizdatProza.ruなどのサイトには、プログラマが最も複雑で負荷の高いシステムでさえ夢にも思わない大量のテキストが含まれています。 ネットワークで最も熱心な文学コンテストでさえ、数十から数百人の参加者が集まります。テキストの一意性は、それらのほとんどに参加するための条件であることに注意してください。 つまり、新しいものの生産は人生によって促進されますが、この新しいものの品質は比較的低く、需要はありません.100人の作家のうちわずか1人がお金のために本を出版することは、競争に勝つことに似ています。



これは、限られたリソース(読者の購買力と需要、出版社の印刷と生産能力、賞金プール、審査員の時間)、および大部分、作品の品質によるものです。 私たちが率直に非識字で不十分なテキストを破棄する場合-そしてこれは、控えめな推定によると、出版または勝利のためのストリームの少なくとも4分の1-過去の作家の業績を模倣するあまりにも多くの標準、ハック、退屈、二次、無関心なテキストがまだありますお互いに。 ますます、ロボットでさえこれを書くことができるという仮定が聞かれます-有能であるが絶対に表現力がなく、自分の名前、作品だけが似ているものとは異なります。 それでは、なぜロボットは実際にこれをしないのですか?





文学理論は、文学作品の構造に関する十分な情報を蓄積しているので、大規模および中規模のブロックからテキストを生成するためのアルゴリズムを構成することができます:部分と章。



最も簡単なのは名前の生成です。 プログラミングに精通している著名な作家であるレオニード・カガノフは、可能なスキームの完全なリストを含む「 あなたの本に名前を付ける方法 」という記事を書いたことがあります 。 最も単純なバージョンでは、「主格の名詞+属格の名詞」(「ドラゴンソード」、「ゲームオブスローンズ」、「キングオブザリング」)が30分で実現します。 たとえば、QueryBuilderを使用したKohanaフレームワークの場合:



public function random_textname () { // Get random text name part 1 $offset = DB::select(DB::expr('MIN( `id` ) AS min, MAX( `id` ) AS max'))->from('story_names')->where('part', '=', 1)->execute()->as_array(); $RID = mt_rand($offset[0]['min'],$offset[0]['max']); $random_name = DB::select('story')->from('story_names')->where('id', '>=', $RID)->and_where('part', '=', 1)->limit(1)->execute()->get('story'); // Get random text name part 2 $offset = DB::select(DB::expr('MIN( `id` ) AS min, MAX( `id` ) AS max'))->from('story_names')->where('part', '=', 2)->execute()->as_array(); $RID = mt_rand($offset[0]['min'],$offset[0]['max']); $result = DB::select('story')->from('story_names')->where('id', '>=', $RID)->and_where('part', '=', 2)->limit(1)->execute()->get('story'); $random_name .= ' '.$result; return $random_name; }
      
      







このような構造の最初と2番目の部分のベースがあれば十分です。



id | part | story







次に、 プロットについて考える必要があります文献には4つの主題しかないというBorgesの声明があります。







しかし、現代の読者にとっては、これは戸惑いを引き起こします。 人生にもっと近いのは、ジョルジュ・ポルティによる「36の劇的な状況」理論であり、その助けを借りて、いくつかの仮定の下で、文学作品を分類することができます。

つまり、36のプロット構築スキームを作成しただけで、すでにドラフト形式で、実績のあるクラシックまたはモダンな作成物に劣らない世界の作品を完全に作成できます。



しかし、プロットに関係なく、テキスト自体は何で構成されていますか? 多くの人は、現在のすべての作品で、 博覧会、プロット、アクションの展開、クライマックス、デノウメント、およびポストポジションを区別できることを文学の学校コースから覚えています。したがって、作品は少なくとも5つの部分を持っている必要があり、各部分はプロット開発の古典的な段階の1つを表します。



次に、各部分は、 物語、説明、推論などのセマンティックブロックで構成されます。



テキストストーリーテキスト



  1. イベントの始まり。
  2. その開発。
  3. イベントの終わり。




ご注意 文学のテキストでは、イベントの終わりに先行するクライマックスもあります。



テキスト記述方式



  1. 主題の一般的な印象(現象)。
  2. 対象の兆候(現象)。
  3. 対象に対する態度(現象)。




テキストディスカッションスキーム



  1. エントリー。
  2. 論文。
  3. 証拠(説明)。
  4. おわりに




ご注意 推論のテキストでは、導入と論文が一致する場合があります。 さらに、このタイプのテキストでは、場合によっては結論が欠落している可能性があります。





36のストーリーのそれぞれで、物語、説明、推論を順番に構築するためのアルゴリズムを書くと、得られます。 作品のほぼ全体の「骨格」と主要な「筋肉」。



次に、ブロック内には、特定の順序の文を含むいくつかの段落が存在する場合があります。これらの文は、特定の順序と形式の単語で構成されます。 ロシア語の文法は、たとえば英語よりも奴隷化されていないと考えられていますが、標準的な文学スタイルは、ほとんど英語のような文の直接的な構築を意味し、文の「用語」の場所の変更は、私たちが現在の発言の感情的な色付けまたは個々の特性をすでに意味しています興味がない。



そして最後に、36の被験者からランダムに選択された1つのスキームに従ってランダムに生成された名前を持ち、ランダムスキームの1つ、段落と文の配置を含む全文を取得しました。 平凡な平凡なテキスト。 現在の著者の作品をロボットと区別するものを追加することが残っています。 適切な名前。



行の解析はそれほど難しいタスクではありません。 特定の名前やタイトルではなく、「#Main_Char#」、「#Main_Enemy#」などのマーカーを元のテキストに配置するだけで十分です。 状況を少し複雑にしているのは、ロシア語がさまざまなケースで単語の末尾を変更する必要があることですが、特定のケースの末尾の使用を明確に示す別のフラグを追加することは難しくないと思います。



したがって、有能なプログラマーの数ヶ月の作業は、数百年と数千の労働単位を置き換えることができます。 私は絶対に役に立たず、悲しいことに気づいた。



オートライターのプラットフォームは、明らかにウェブであるべきです。



  1. ユーザーと開発者の両方のエントリしきい値が低い
  2. 変更の可能性が高い
  3. 現代世界で最高の可用性
  4. 情報をクラウドに保存することによる比較的高い信頼性




しかし、疑問が残ります。 なぜそれが必要なのですか? まあ、私たちが多くのことを書く必要性から人類を救い、希少な才能をかき消すためにひどく救うなら、もっと多くの人がいると信じています。




All Articles