Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

専用のオリジナルキャラと生きる。チャットとボイスが楽しめるサービス - サービスアイディアメモ

ちょっとしたアイディアのメモです。

現実には存在しないのでご注意ください。真面目に調べてないので僕のビジョン(妄想)垂れ流しです。

なぜ僕だけのキャラクターなのか

自分の理想であるキャラクターがいたら良いなと思ったことってないですかね。今いるVTuberとかゲームのアイドルも良いのですが、どうしても「推し」になってしまって僕のことを見てくれませんし、引退したりサービス終了したりすることもありますよね。

アイドルという文脈ではそれでも良いんですが、もっとパーソナライズしたものがあってもいいのになと思います。推しがいくら可愛くても僕にLINEしてくれることはないですし、お誕生日おめでとうとも言ってくれないわけですよ(ボイスの販売はあっても)。

海外には Cameo というサービスがあって、セレブリティが有料で個別のメッセージを送ってくれるというものです(日本のVTuberやアイドルもいずれやるでしょう)。とはいえアイドルはアイドルです。もっと「存在からパーソナライズされた何か」があってもいいと思います。

オリジナルキャラと共に生きる

そこでもういっそのこと、自分で理想のオリジナルキャラを作ってしまおうというアイディアです。 このサービスに登録すると、自分の理想像を入力することでAIがキャラクターを作ってくれます。それを元に、「日常の写真」としてプロの絵描きさんの絵が送られ、「ボイスチャット」として声優さんからのメッセージやリアルタイムのやり取りができます。日々のやり取りもライターさんを通してメッセージを交換したり、「デート」として短編小説が送られてきます。

究極的にはすべてAIでやりたいところですが、まぁ今のAIには限界があります。でも最近って絵の上手な人とか声の可愛い人がとても多いので、そういったセミプロっぽい人が裏で頑張ってくれます(仕事としてお金にもなるし、スキルアップにもなる)。

「推し」ができない人種はいる

世の中にあるアイドルやVTuberって、言ってしまえば疑似恋愛ではあるんですよね(僕もジョー力一に恋してるので)。でもアイドルの「推し」って正直ノリ切れないところがあるんですよ。それは文脈としてアイドルオタクをやったことがないので、全力で「推す」ことに抵抗感があるんです。今あるアイドルって要は「非日常」の楽しみであって、「日常としての疑似恋愛」っていう需要があると思っています。

そういう人ってかなり多いと思っていて、現実の恋愛にも静かに満たされたい人も多くいるわけですよ。そこで当サービスではそういった人にも合致した「静かに推せる」、「日常の疑似恋愛」が提供できるというわけです。そこが今あるVTuberやアイドルとの決定的な違いです。

具体的なサービス内容

まずサービス登録時のキャラクターメイクと、性格や趣味嗜好を設定します。そこから利用者の好みやNGなどもお聞きします。キャラクターメイク時はAIによってキャラクターが「誕生」するイベントが行われます。なぜAIによる誕生かというと、「人に作られた偶像」という懸念を払拭するためです。

あなたとキャラクターは新しく出会い、関係を築いていくという設定です。メッセンジャーアプリを通して1日に3通のやり取りができます。追加課金で増やせます。また月に1回は絵描きさんに書いてもらった「写真」が送られます。さらに誕生日などのイベントの際は声優さんによるボイスが送られます(声は自分で選ぶかお任せかを選択できます)。

追加の「写真」やボイス、通話などは追加課金で月次で指定回数までなら購入いただけます。超プレミア特典としてVR空間でデートすることもできます(1回3万円、初期費用10万円)。

ちなみにキャラクターやボイスの知的財産権は利用者にあり、個人利用の範囲で写真や作成したアバターは好きに使い回せます。

基本料金は月額3,800円、入会費は5万円です。追加課金要素は別途あります。

自分の恋人を作る時代がくる

いかがでしょうか、この「あなたの恋人を作って生きる」時代は。

僕はかなりありだなと思っています。運営こそ大変そうですが、需要というか提供できる価値はかなり大きそうです。 メッセージをやり取りできる恋愛シミュレーションゲームなんかも今すでにあるので、そういう意味でお客様の受け入れる地盤はできてるかなーと思ってます。

この記事はShodo (https://shodo.ink) で執筆されました。

Shodoのオープンベータ公開から3週間で300近いチームが作成されました。いただいた質問への回答や今後について

早いものでShodoのオープンベータ公開(2月2日火曜日)から3週間が経ちました。使ってみてくれた・今も使ってくれている皆さん、フィードバックのコメントや応援をくれた皆さん、ありがとうございます!

僕としてはもう半年くらい経ったような気分ですが、相対性理論のせいなのかまだ3週間しか経っていないようです。

この3週間で300個近いチームがShodoに作成されました。思った以上に反響をいただいて、嬉しいと同時にやる気がドッと高まっています。現状ですと1人か2人くらいの小規模なチームでご利用いただいている方がほとんどですので、300チームが作成されたと言うのはちょっと盛った言い方かもしれません(すいません!)。でも、すごいです。

ここで一旦、いただいた質問などにお答えしようかなと思います(個別には回答している内容です)。また、Shodoのシステムや不具合などについては修正してメール等でお答えしているので、ここではもう少し大きな話の回答をまとめようかなと思います。

Shodoって次は何がリリースされるの?

正直に言うと、これから正式リリースまでに華々しい大きな機能の追加はありません。

ただ、日々Shodoを利用していて嬉しい・便利な改善や機能追加をします

Shodoには使い心地の改善点がまだかなりあると感じていますので、今利用してくださっている方々が日々使いやすくなるような変更をします。他にもたとえば既存の機能の中で表示が増えたり、配信先や連携先が増えるようなリリースはしていきたいです。

内部的に大きな変更や、Shodoを利用する際のフローのようなものは見直していきたいので、目立たない大工事はあるかもしれません。

先日、Shodoに執筆の頑張りを見える化する表示を追加したところですが、この見える化についても好評であれば拡張していきたいなと思います。

いつ正式リリースされるの?

正直なところ、いつというのは分かりません

ですが「大きなリリース」はしない予定なので、1年はかからないという時間で考えています。 とにかく今、Shodoの当たり前のあり方に納得できるまではオープンベータとしてやります。

オープンベータってどれくらい信用していいの?何に使うのが良いの?

バックアップやデータの保護は行っておりますのでご安心ください

ですがたしかに保証するような体制はありませんので、社内の小さなプロジェクトからお試しいただくのが良いです。 一番オススメなのが社内でのブログやオウンドメディア用に原稿を執筆するときです。とくにはてなブログには連携機能がありますので、社内でコンテンツマーケティング用などにはてなブログを運用している場合はかなりオススメです。

大きな本の執筆については正直に言うと強くオススメしません。雑誌への寄稿文(1万字ほど)であればオススメできますが、本の版を重ねて書くようなものやB5で数百ページという著作にはオススメできません。理由としては全ページを横断した一括変換や見出しの抽出をしてツリー構造で表示する機能などに対応できていないからです。

この点については僕自身も欲しい機能なので、今後改善していければと思います。

正式版になると何が違うの?

動作保証やサポートブラウザ、データの保護・管理などに力を入れる予定です。現状でもセキュリティ保護やバックアップは行っておりますが、バックアップ期間の延長であったりクラウドの障害時にもなるべく稼働できるように整備します。また、Shodo内のデータをエクスポートできる機能など、中長期的にShodoを安心してお使いいただけるようにします。

またそれに伴って有料版の提供をする予定です。

有料版って出るの?どうなるの?いくらくらい?

有料版は想定しています。ですが無料での提供もしつつ、有料でも月額1000円からなど、かなり安価にします。もちろん初期費用はなしです。

どちらかというとShodoを使っていただきたいという思いが強いので、無料でもなるべくご利用いただけるようにしたいです。現状でも身銭を切っている状態ですが、Shodoを持続可能な範囲でお金をいただければなと思います。将来的には業界ごとに対応したAIを提供するなど、オプションを増やすことでお金をいただきつつも、最大限Shodoの良さや便利さに還元していきたいです。

AI校正が24時間使えるプランなど上位のプロプランも用意させてもらうかもしれません。というのも、AI校正用のサーバーを稼働させるために「そこそこ」お金がかかるので、値段が多少あがるのはご了承いただきたいです。

今現在ベータ版を利用していただいている方には、ご支援いただいたお返しとして有料プランの無料期間をご提供したいです。

自己資金だけで今はやっており、今後の資金繰りなども影響して正式に決まります(頑張ります!が、ちょっと相談とか誰かにしたいかも)。

おわりに

今後もShodoをよろしくお願いします。

かなり可能性を感じますし、実現したいことも山積みです。実際に自分が利用していてもかなり便利です。 もっともっと、執筆の世界を楽しくクリエイティブにできる場へとShodoを進化させていきます。

他にもご質問などあればお問い合わせからなんでも聞いてください!

shodo.ink

問い合わせって面倒だなというときは僕のTwitterに聞いてください!

twitter.com

この記事はShodo (https://shodo.ink) で執筆されました。

シンプルさを求めて主体性を失うジレンマ

ここ数回書いている、シリーズ「主体性」の雑記です。 またか、と思われる方すいません。今の僕が大切にしたいテーマなんです。

僕は音楽が好きでいて、「持たないシンプルさ」にも魅力を感じている人間です。 Spotifyなどのストリーミングサービスとは非常に相性が良いと感じ、スマートフォンにストリーミングと、ちょっと良いワイヤレスのスピーカーという(ミニマリスト的に典型的な)生活をしていました。

端的に言えばシンプルで音楽も楽しめるので素晴らしいです。聴きたい音楽や気になる音楽もほとんど何でも聴けますし、友人にオススメされたアルバムもノータイムで試せます。さらにSpotifyPodcastも聴けるので持たないながらの便利さというのは完璧です。

でもふとこのデジタルライフを享受していて、逆説的にシンプルさを失っているのではと思うようになりました。 何かレコメンドや新着、オススメといった「見えざる何か」に動かされていて、自分の主体性を失っているということです。シンプルさを求めてCDをなくしてストリーミングのみにしたのに、主体性という最も重要な「シンプルさ」を失っているのです。

「ではデジタルデトックスか」という答えを出すのも安直に感じます。持たないことやシンプルライフという概念が経典として確立してしまい、実際に重要だった実感としてのシンプルさを失っているのでは、と思っています。「自分という出発点から始める」という大前提が抜け落ちているように感じます。

僕は進歩主義的な指向なので、回帰を良しとする思想には賛同できませんが、何かレコメンドやソーシャル性を制限する指向が世界的にも生まれてくるかもしれません。さすがにレコードやCDが絶対的な正解だという時代錯誤はありえませんし、嗜好品を増やす気もありません。ですが「プライバシー」の次は、「レコメンドオフ」「ソーシャルオフ」というムーブメントもあり得るでしょう。僕もAI校正・相互レビューを提供するプラットフォームを作っていますが、使ってくれている人が主体である思想は大切に守りたいと思っています。

便利さやレコメンド、ソーシャルライフも大切にしつつ、今自分が楽しめること、人のためにできることを考えていこうと思います。

他にオススメの記事

最近何回か書いている「主体性」というテーマがあるなと自分で感じています。 おそらく代表取締役になって、自分の判断で物事を進めることがより重要になっているからだと思います。 そういう雑記が好きな方はぜひこちらもどうぞ。

blog.hirokiky.org

blog.hirokiky.org

この記事はShodo (https://shodo.ink) で執筆されました。

飽きるなというのは、ただの他人の観点

飽きるって何なんでしょう。

まず前提として、飽きっぽさの違いは性格的にあります。刺激・柔軟指向か、安定・規範指向かの性格的な違いです。それはもう受け入れるしかないとして、ここでは「飽きる」ということについて考えます。前提として、どちらが良いかという話ではなく、僕は性質の話でありどちらでも良いと思います。

世の中では「三日坊主」というように飽きを揶揄する言葉がありますし、飽きるのは良くないという風潮がたしかにあります。でも、同じものを毎日ずっと食べていれば、何を食べるにしても栄養が偏って不健康になります。ずっと同じことをしていれば、それだけ他の楽しみや土地、文化を知る機会を失っているはずです。

ではなぜ「飽きることは良くない」という風潮があったり、そう感じるのでしょうか。それは「他から観測して、容易に想像できる相手が良い」と人間が考えるからです。「いつも同じ相手でいてほしい」「結果を期待したい」と人は思っているからです。飽きるか飽きないかなんて他人の視点でしかありません。 「いやいや、飽きっぽいと上達しないからですよ」と思われたかもしれませんが、それは「上達してほしいという他人としての自分」の観点だからではないでしょうか。自分をうまく制御できると思っている理性の声(他人の声)にすぎません。

世間的に「飽きてほしくない」と思われるのは、(自分を含めて)他人が期待する未来の結果を求めてるからです。人間は期待が大好きなので、しょうがないです。そして「飽きるのは良くない」と感じてしまうのは、その周りの期待する結果に応えられないという気持ちがあるからです。

僕は、飽きていいと思います。

飽きてはいけないのは、他人や論理の視点にすぎません。 一見飽きっぽい人のほうが、自分の道という意味では一番飽きずに生きられていると思います。

ただ、たしかに人の期待に長く応えたいときには、同じことを続けている必要があります。それは安心もですが、何より積み上げて初めて叶う何かを産むからです。人から信頼を得るのと、世の中の問題解決には長い時間を要します。それはたしかに仕方のないもので、そのためにたくさんの可能性を諦める必要がでてきます。 続けるためには、そういった「建設的な諦め」も必要です。「何かをする」という観点から「何かである」という観点へのシフトも必要です。この点については、また別の機会に考えるとします(ブログの購読をよろしくお願いします)。

ともかく、「飽きるか飽きないか」というのは、自分の理性を含めた他人の視点に過ぎないと考えました。 そして期待があるために、飽きないことが求められるということでした。

僕たちが何を成したくて、何をしたいのか、それを考えるのであれば「飽きるか飽きないか」なんて判断はもはや不要だと僕は思っています。

この記事はShodo (https://shodo.ink) で執筆されました。

スタートアップが何を軸にするのか。自分が作った流れに、自分が翻弄される話

Shodo https://shodo.ink/ のオープンベータ版をリリースしてから、多くの方から反応をいただいています。ありがとうございます! ただスタートアップをやってる身として、 僕がここでぶれてはいけないんだな と最近思い始めました。

Shodoについてお話やお電話をいただくときに「AI校正スタートアップのShodoさんですね」と言ってもらえることがあります。 AI校正というワードはオープンベータ版のプレスリリースにも含めた、Shodoの重要なポイントの1つです。ですが、そうでない魅力を伝えられなかったかなと反省しております。 知っていただいて嬉しい反面、これは自分たちにとって新たなチャレンジのときだと気づきました。

ShodoとしてはAI校正だけでなく、その上位にある「執筆の場」という考えを大切にしたいからです。ツールではなく、執筆を通した仕事やライフスタイルそのものを変えていきたいと思っています。 たしかに「AI校正」という言葉はキャッチーですし、僕自身も利便性以外の思惑も(ちょっと)あって作った機能ではあります。ただ思った以上にAI校正という言葉が与えるインパクトは大きく、自分たちが、自分たちの生み出した流れに翻弄されつつあるな と思っています。「AI校正だけに注力すべきなのでは?」という仮説に心の軸を揺さぶられたりしちゃいます。実際、BERTを使って平均以上のAI校正は搭載していますし、今後も改良・チューニングしていきたい機能ではもちろんあります。

でも、Shodoが変えたいのは執筆のあり方そのものです。 今は存在しない、その世界を作っていきたいなと思っています。

記者さん、ライターさんやマーケターさんがどのように仕事をするのか、どうコミュニケーションするのか。本や寄稿文を執筆するときにどう進めてどうライターさんと連絡をとるのか。社内の魅力をどう伝えていくのか。どう次の仕事に活かしていくのか。

そういうものを根本から考え直して、より良く楽しく生産的な場所を作りたいと思っています。 それは僕自身が、そもそも記事を書いたり読んだりすることが好きだからです。

たしかに「なるほど、やはりAI校正が注目される。そこだけを押していこう」と判断しても良いでしょう。 でも今、実際にShodoを深く使ってくれている方は、レビューのやり取りやステータスの管理ができる点にも価値を感じてくれています。僕自身もShodoを使ったレビューのやり取りをしていて「これは便利だ」と感動します。

重要なのは 何で注目されているかではなく、何で本当に喜んでくれているか だからです。 その価値を見失わないことが今の僕に必要なことです。 便利なツールを作るのか、本当に生み出したい大きな場を追い求めていくか。

そこを今、試されている気がします。

この記事はShodo (https://shodo.ink) で執筆されました。

どうかプログラミングに向いてないと思わないでほしい。そしてプログラミングがキャリア化した功罪の話

プログラミングに興味がある人たち、どうか「自分はプログラミングに向いてない」と思わないでほしいです。

たしかに「プログラミングスクールに通ってるから」良いスキルがあるわけではないし、スクールよりも好奇心のほうが重要なのは僕も同意です。 というか基本的な考え方はたぶんこのツイートをしてる方と、僕は同じだと思います。僕もうっかりこういうことを言うこともあります。

実際、本当に大好きで休日もプログラミングしてしまう人のほうが、スキル面で伸びが早いのも当然でしょう。 でも「休日にもプログラミングしてしまう」ほど好奇心を持って好きになるにも時間はかかると思います。

漠然とした好奇心があっても、「のめり込むほどやりたい」と思えるまでは学びが必要 だからです。 そして、もはや今のプログラミングに関する産業は単純なスキルで済まない広さがあります

「のめり込むほど好き」になれるのはまだ先のこと

何ごとも始めたては正直よく分からないものです。 自分に向いてるかどうかや、本当に好きなのかなんて分かりません。

僕自体も昔はそうで、最初プログラミングをした12歳のときも「面白いけど僕のイメージするビッグなことはどうすればできるのだろう」という虚無感があったのを覚えています。その12歳の年末年始はたぶんゲームをしてたと思います。

でもプログラミングでできることが増えて、作れるものが増えていくうちに「今作ってるものを早く完成させたい」、「もっと良いものを作りたい」という執着ができはじめました。当時はゲームを作るのがただ面白かったときでした。 今くらいずっとずっとのめり込むようになったのは、プログラミングでの繋がりができたり、成長の先が見えるようになった18歳や19歳になってからです。

僕もプログラミングを始めてから「年末年始にやるほど」になったのは6年を要しています。 まだプログラミングスクールに通ってる人や、触り始めて半年や1年の人は「向いてる向いてない」や「このすごそうな人が言うほど僕は好きじゃないな」など判断しないでください。

ただあなたが興味があってやりたいなら、まずやってみてください。いつやっても良いんです。 夢中になれたらラッキーってだけです。そのちょっとした気持ちを大事にしてください。 向いてる向いてないなんて正直どうでも良いんです。

プログラミングがキャリア化した功罪

ただ僕が子どものころ熱心にプログラミングしていたときはまだ牧歌的で、プログラミングでキャリアなど考えずにただ好きを追求できました。当時のITがすごいと言えば、僕が知っていたのはオンザエッヂ(というか堀江貴文)くらいで、まだ一般的には関係ない世界でした。

たぶん元のツイートをした方は、面接などをするときに「プログラミングスクールで学んでます(エヘン)」という人を見てきて、自分の感覚との違いにズレを感じたんでしょう。 プログラミングがキャリアとして認知されて色々な人が学ぶようになった一方、キャリアとして整備されたことで「仕事として」のみ興味を持つ人が増えたということです。

これは仕方のないことです。 気持ちとしては僕も「好奇心がある人間でないと」と思うことは正直多くあります。 でも先述したように、本当に好きになるタイミングは遅れてやってきます。 仕事のためだけに始めたけど、いつの間にか死ぬほど好きになった という人が出てくるかもしれません。 その可能性を僕は潰したくないんです。

むしろ、好奇心が持てなくても良い

むしろ、プログラミングへの好奇心が最終的に持てなくても良いです。

第一に、物事の好き嫌い、向き不向きはある程度まで習熟しないと分かりません。 これは世の中の残酷なところではありますが、向き不向きや好き嫌いなんて最初は分からないものなんです。

でももし向いていなかった、好きになれなかったとしても、良いんです。 なぜならキャリアとして十分成り立つのが今のソフトウェア産業だからです。

「いやプログラミングに真に興味ないやつと仕事したくない」と思うかもしれませんし、僕も半分同意です。 でもたとえば「プログラミングが分かるマーケター」や「プログラミングが分かるマネージャー/リーダー」はエグいほど重要です。むしろ先鋭化したプログラマーこそ、そういう人に支えられています。 もしそこまでプログラミングを好きになれなくても別スキルと掛け算で超重要人物になれます。ご安心ください。

そしてそもそも休日にプログラミングしない超優秀エンジニアはいます。文殊堂 とか映画ばっかり見てますよ。

ただもしあなたが「プログラミングのスターっぽくなってGAFAでガファガファしたい!でもプログラミングにはぶっちゃけ熱中してない(けど僕かっこいいでしょ、ドヤ)」と思うならあんまり向いてないです。あと、僕は友達になれそうにありません。

周りの意見とかどうでも良い

というか、件のツイートとかを見て一喜一憂する必要なんてないんですよ。

  • プログラミングスクールから始めてすごいエンジニアになった人がいたら夢ありませんか?
  • 休日にプログラミングしない超優秀なエンジニアいたら逆にカッコよくないっすか?
  • 途中からマーケティングに興味を持ってプログラミングスキルを持ったまま転向したって人のほうがストーリー感じませんか?

プログラミングっていうのはもう「ピコピコ大好き少年・少女が大きくなりました」って時代じゃないと思うんですよ。 自分と同じ経緯や好奇心を他人に求めるって、すごい視野を狭める結果になると思うんですよね。 組織の多様性も失われるので、結果的に弱くなるとも思います。まだこういう感覚の人結構いるので危ない気がしています。

そもそも「雇われること」を前提に自分の時間を差しだすって僕はダサいと思ってますので、自分の気になることから突っ込んで行けばいいと思います。

最終的にプログラミングを好きになれなくても、あなたには好きに生きる自由があるんですよ。

他にオススメの記事

blog.hirokiky.org

blog.hirokiky.org

blog.hirokiky.org

伸びてるっぽいので、宣伝

僕が代表取締役の会社として開発しているShodoもぜひ覗いてみてください。

shodo.ink

この記事はShodo (https://shodo.ink) で執筆されました。

PyTorchでn次元のTensorからn-1次元のTensorを使ってインデックスする

PyTorch でn次元のTensorがあったときに、n-1次元のTensorを使ってインデックスする方法です。 以下のように a というTensorと、 idx というインデックスがあったときに、 answer を取る方法です。

a = torch.tensor([
    [100, 200, 300, 400],
    [500, 600, 700, 800],
])
idx = torch.tensor([2, 3])

# 欲しい値は以下
answer = torch.tensor([300, 800])

方法のコード

>>> a.gather(1, idx.unsqueeze(1)).reshape(idx.shape)
tensor([300, 800])

一旦 idx.unsqueeze することで次元の数をあわせてから、 .gather を使ってインデックスしています。 正直これがベストかわからないので、うまい方法があれば教えてください(僕はPyTorch初心者です)。

欲しいケース

transformersのMaskedLMモデルを実行した結果から、元のセンテンスの各文字がどんな値だったかを取得するのに必要でした。 上記の aresult = model(...) として result.logitsidxinputs = tokenizer.batch_encode_plus(...) として inputs.input_ids です。

この記事はShodo (https://shodo.ink) で執筆されました。