一番星はての開発ブログ

AIブックマーカー一番星はてのの成長を記録するブログですの。

ブックマークについたスターを眺められるサイト「はてなギャラクシー(β版)」をリリースしました

まえがき

2023年も終わりなので「2023年 一番星はてのコメント10選」みたいな記事を書こうと思い、とりあえずスター数の多かったコメントを集計していました。 集計自体はすぐ終わったのですが、はての以外の人でもこれ知りたいなあと思い、サービスとして公開することにしました。

というわけで、ブックマークについたスターを眺められるサイト「はてなギャラクシー(β版)」をリリースしました。

はてな★ギャラクシー

どういうサイトなのか

サイト自体を見てもらった方が早いので、一番星はてののページを見てみます。

一番星はてののブックマーク
firststar_hateno - はてな★ギャラクシー

一番星はてののはてのギャラクシーのページ

ユーザーの全ブックマークを取得し、スター数の降順に並べます。 あとはキーワードと日付によるブックマークの絞り込みができます。 キーワードはブックマークコメントとブックマーク記事タイトルの両方に部分一致でHITします。

ブックマーク数が多いほど最初のブックマークの取得に時間がかかりますが、2回目以降はキャッシュを利用します。

今後の展望

リアルタイムに今人気のブックマークとかを出したいと思っていましたが2023年中に公開したかったのでいったんβ版としてリリースすることにしました。 他にもそれなりに反響や要望があったら追加開発していこうと思います。 一番星はてのも2024年はまたいろいろと強化していきたいと思います。

おわりに

2023年は一番星はてのを可愛がっていただきありがとうございました。 それではみなさんよいお年を。

一番星はてののLINEスタンプっぽい画像を作ってみた

StableDiffusionを使ってLINEスタンプを作ってみたかったのでとりあえず画像を作ってみた。使っているモデルはaiceKawaice_channel。ちび系キャラを生成するのにいいらしい。
(追記)このモデルは画像販売が不可なのでLINEスタンプには使えなさそうです。

AICE冰可 | KawAICE[幼态特化模型] - Channel | Stable Diffusion Checkpoint | Civitai

よく見るといろいろ粗はあるがパッと見はけっこう使えそうな感じなんじゃないだろうか。 この中では「ファイトですわ」の元気な感じと「ブックマークですわ」の微妙に面白くなさそうな感じが気に入っている。 ブクマするときの表情ってこんなんだよね。

作り方

LoRAを何度か試したが作り方が悪いのか、画像のパターン数が足りないのか結局ReferenceOnlyの方がいいクオリティのものができるのですべてReferenceOnlyで作っている。 作り方を備忘録として残しておく。
顔関連のブルーの瞳や髪色髪型などはそれなりに反映されるが、リボンや服などの付属物は基本的に反映されないのでその辺はけっこう妥協している。

prompt: best quality, 1 girl, solo, (chibi:1.2),  upper body,  (cheering:1.5), cute, kawaii, (white blazer:1.5), (ash gray hair, long hair:1.2), wavy hair, ringlets, school uniform, pink background,
negative: bad_prompt, EasyNegativeV2, (blush:1.5), (worst quality, low quality:1.4),
model: aiceKawaice_channel
ControlNet processor: reference_only

最近思っていること

AI生成もちょっと一段落というかハイプサイクルの幻滅期に入ってきてる気がする。 自分は当初はAI生成の良さは自然言語で作れるみたいなところにあると思っていたのだが(それももちろんあるが)、AI生成の良さはそういう手軽に作れることの先にある時間をかけずに大量に作れたり何度もやり直せたりすることにあるなあと思ってきている。 なので、大量生成して上澄みを取り出すとか、良かったものをちょっと修正するみたいな使い方ができないと、AI生成である良さをなかなか生かせないのではないかと思う。 これはテキスト、画像生成どちらにも言えることだと思う。


ポリシー上はてのちゃんに大量ブックマークをさせるつもりはないが、AI生成である良さを生かす方法も模索している。

一番星はてのとMisskey.ioでおしゃべりできるようになりました

一番星はてののMisskey.ioアカウント misskey.io

少し前からMisskey.ioではてののブコメを流していましたが、ブコメに対する返信ではてのとおしゃべりできるようになりました。

お星さまのパワーをあげている様子

まだ試験運用中なのでいろいろ変わったり不安定なところもありますが現在の仕様は下記です。

  • 300字以上のメッセージにはちゃんと返信できません
  • パブリックでないメッセージにはちゃんと返信できません
  • センシティブフィルターに引っかかった場合はちゃんと返信できません

その他Misskeyやその他のエラーで返信しないことがあります。

はてののブコメに話しかけたいことがある場合は是非Misskeyで話しかけてみてください。

ちなみにTwitterAPI料金が高いので対応していません。

一番星はてのがなるべく非建設的なコメントをしないように判定を強化しました

一番星はてのがなるべく非建設的なコメントをしないように判定を強化しました。

これまでもある程度そのような仕組みを入れていましたが、コメント全文と文単位でGoogle Perspective APIで判定し建設的でない場合は一定回数までコメント生成をリトライするようにしました。

Perspective APIについて

perspectiveapi.com

Perspective APIはテキストの次のような属性への該当度合いを0~1の数値で判定してくれます(1に近づくほど有害判定となる)。日本語対応もしています。
OpenAIにも同じようなポリシーに準拠しているかどうかを判定するmoderations APIがありますがこちらは2023年6月現在では日本語対応は限定的です。

  • TOXICITY(失礼な発言)
  • IDENTITY ATTACK(アイデンティティへの攻撃的な発言)
  • INSULT(侮辱的な発言)
  • PROFANITY(卑猥・冒涜的な発言)
  • THREAT(個人または集団への脅威となる発言)

それぞれの属性である程度閾値を調整して判定しており、今後もその調整は行う予定です。

例えば、PROFANITYは1単語で卑猥だと判定される可能性があり、下記のはてののコメントはPROFANITYがそこそこ高い数値で判定されます。

セックスしたらもう少し生きる気になった

この記事は「セックスしたくて仕方ない人が、セックスしたら気分がすっきりした」という、なんとも哀しくも切ない話ですのね。でも、彼が彼女に対してしたことは許されませんわよ!

2023/05/28 08:01
b.hatena.ne.jp

このコメントの全体の判定は下記です(0~1で1に近づくほど有害)。実際には一文ごとの判定も行うがここでは省略します。

TOXICITY: 0.37751234
IDENTITY_ATTACK: 0.04023018
INSULT: 0.05144889
PROFANITY: 0.47001255
THREAT: 0.018192071

TOXICITYとPROFANITY以外は問題ない判定です。TOXICITYは一番基本の属性なのでPROFANITYに引っ張られているように感じます。

このコメントはなかなかいいコメントだと自分は思っており、PROFANITYの閾値を低い値にすることでこのようなコメントをさせないことは本意ではないためPROFANITYは他と比べて少し高めに閾値を設けるなどしています。

はてののコメントについて

とはいえ、これでもすべての非建設的なコメントが防げるわけではありません。

例えば、コメントの表面だけ取れば問題ないが、裏の文脈を読むとキツめの皮肉に読める場合などは判定されないはずです。

ケースバイケースですが、そのように防げなかった場合は開発者により削除することがあります(twitterのしゅうまい君もそういうことがあるらしい*1)。編集はしません。

また、この判定強化により、ある意味で面白いコメントが減る可能性がありますが、これまでのはてののコメントもほとんどは問題ない判定なので特に心配はしていません。

それより、はてのが建設的かつ面白いコメントをすることの方が大事です。はてのがそのようなコメントをするよう見守りたいと思います。


なお、はてののコメントはたまに人間が書いてないか?と思われることもありますが、中の人がコメントしたことは一度もありません。

その証明は簡単にはできませんが、証明するとしたらオープンソース化するなどした方がいいのかもしれませんね。その方が機能や品質が向上するだろうし。

*1:『あと、たまにNGワードの網を掻い潜って、本当に最低な発言をすることがあります…。そういうときはなるべく急いで手動で消すようにしています。 』ポンコツだからこそ愛される? AIツイート歴10年“しゅうまい君”のアカウント誕生秘話 | ORICON NEWS

一番星はてのが英語学習記事に無言ブクマするようになりました

500ブクマ以上の英語学習っぽい記事を見つけたら無言ブクマするようになりました(「英語」タグでブクマされます)。なお、タイミングによってはブコメありでブクマされる場合もあります。

図書館で英語を勉強する一番星はての

キャラ画像生成にReference-onlyが便利

ここ最近は主にキャラLoRA作成を頑張っていたんですが、あまり安定せずにどうしたものかと思っていたらControlNetのReference-onlyという便利な機能でキャラの特徴を掴んで簡単に画像出力できるようになったのでそれではてのの画像を生成してみた。頭のリボンはうまくいかなかったので仕方なく後から調整している。

インターネットを見る一番星はての

まだまだ同じ向きの顔とかしか出せないけど、そのうちブックマークコメントに合わせた画像生成をしてツイートするなど行いたい。

参考

www.youtube.com

一番星はてのがYOASOBIのアイドルを歌ってみた

www.youtube.com

一番星はてのに推しの子のOPのアイドルを歌ってもらった。

この曲の「金輪際現れない一番星の生まれ変わり」という部分を聴いたときに、これをはてのに歌ってもらったら面白いなと思い、AIに歌ってもらう方法をいろいろと調べてなんとか公開することができた。ボーカロイド系を触るのが初めてなどころか、楽譜もほぼ読めないところから始めたのでクオリティは高くないけどやりたいことはできたのでよかったと思う。歌詞の打ち込みとか字幕を作るのは楽しかったのでまたやりたい。

ツールについて

楽譜ツールにMuseScore、歌声合成にNEUTRINOを使用している。NEUTRINOには別で調声ツールもあり、タイミングやピッチ、音量なども調整することができる。 なるほど、こんな風に作るのかとやってみて初めてわかり面白かった。 NEUTRINO自体AI学習で調声なしでもそこそこちゃんと歌ってくれるが、原曲自体難しいのもあって細かいところは調声が必要だが難しく、なかなか理想通りにはいかなかった。 声はYoutube同様四国めたんを使用している。めたんの推奨音域の上限が今回の曲ではちょっと足りておらず、声がかすれてしまうが、今回は頑張って歌ってる感もあるからいいかなと思ってる。

星野アイと一番星はての

推しの子の原作はジャンプラで追ってるがアニメは見ておらず、この曲から入ってアニメを見てみたけど、星野アイと一番星はてのに多くの共通点があることに気づいてしまった。年齢、アイドル、目と名前に星が入ってる、子持ち、、とか。

参考

studio-neutrino.com

NEUTRINO調整ツール
https://sigprogramming.github.io/

一番星はてのとおしゃべりできるようになりました

先日、pixivさんがChatVRMという3Dキャラクターと会話できるオープンソースを公開していたので早速一番星はてので試してみた。 下のサイトは一番星はてのの3Dモデル、人格設定、声設定がデフォルトになっているだけのChatVRMのデモページと同等である。

https://chat-vrm-hateno.vercel.app/

おしゃべりするにはOpenAIのAPIキーが必要なので、持っていない方はOpenAIのサイトで取得してほしい。

設定などについて

3DモデルはVRoidHubで公開もしていて、再配布もOKにしているのでもしも別の衣装とか着せたかったらこれを元に作ってもらえるとうれしい。 hub.vroid.com

3Dモデルを作るのは初めての経験だったが、思った以上に簡単にカスタマイズでき、パラメータや頭の横のリボンなどこだわって作れて面白かった。 YouTubeは絶対Live2Dと思ってたけど作るの大変だし、3Dもありだなあと思った。

はてのの声は前回のYouTubeではVOICEVOXを使用していたが、今回はChatVRMの仕様上rinna社のKoeiromapを使用している。 なるべくはてののイメージに合う設定にしているが、Koeiromapのパラメータは2つしかないのでVOICEVOXほど高度な設定はできない。 違和感ある人は設定をいじってもらってもいい。

はてのの人格設定自体ははてなブコメしているときとほぼ同じ設定だが、コメント時の命令などは今回のChat設定には反映されていないので、ブックマークしているときとは少し違う感じかもしれない。

なお、APIキーや個別ユーザーとの会話のログなどは自分もPixiv社側も取得していない。

参考

pixiv.github.io

inside.pixiv.blog