Posted at

しりとりゲームで人が無意識に行っていること~RPAで一人しりとりロボットを開発してみる~

UiPathというRPAツールを使って、一人しりとりロボットを作成してみました。

ワークフローを全て説明すると長くなるので、手順だけ説明します。

しりとりをRPAで作成するときに、手順やルールを全て教え込まないといけないので、「しりとり」で人間が無意識に行っていること、無意識に準じているルールについて気づいたことがありました。

ではまず、一つ一つ説明していきます。


どんなロボットができたか

Qiitaには動画を載せられないので、Twitterでシェアした動画をご覧ください。

一人しりとりロボットを作った - Twitter -


どのような手順のワークフローを作成したか


しりとりをするために一番必要な「知識」を収集する

まず、しりとりを行うために必要不可欠なものが一つあります。

それは知識です。

もちろんロボットに知識はありません。ではどうするかというと、まず辞書から単語を持ってきて、「あ」から始まる単語、「い」から始まる単語...という風にExcelに単語を整理しながら入れるロボットを作りました。

シート名を「あ」「い」「う」として、そのシートの中にロボットが単語をばーーっといれました。


いつも通りのしりとりの手順でワークフローを作成してみる

しりとりの手順はこうです。


  1. 最初は「しりとり」から始める

  2. ひとつ前の単語の語尾を認識する(この場合だと「り」)

  3. ひとつ前の単語の語尾から始まる単語を探す(例えば「リス」)

  4. 探した単語を声で発する or 文字に起こす

  5. 2番へ戻る

語尾が「ん」になったら負けです。ですが、今回はそもそも語尾が「ん」のものをExcel(データベース)に記入しないような作りにしました。


実際に作ってみると思ったより大変だった

以下のことに注意して作成しました。


  1. 語尾が「ん」のものが来たらゲーム終了(そもそもその単語をExcelにいれていないが念のため)

  2. 語尾が「ー(伸ばし棒)」だったら後ろから二番目の文字をとる(「ルビー」だったら「ビ」)

  3. 「ゃ」のような小さい文字が来ると「や」のように大きい文字として扱う

  4. 文字だとカタカナで来る場合もあればひらがなで来る場合もある

  5. 毎回違う単語が出るように、「あ」から始まる単語を書く場合は、「あ」から始まる単語をランダムで取得するようにする

簡単だろうと思って作り始めると、思ったより制約が多くてびっくりしました。(ゲームの中では制約は少ないほうだと思いますが。。。)


おわりに

しりとりを自動化するな!という方もいらっしゃいると思います。

僕もそう思います。ゲームはゲームのままで、自動化すべきではありません。

でも、これは自分の趣味用作成しただけなので、許してくださいまし。

というわけで、次は何を作ろうかな~~