どうすれば良いんだってばよ!とお困りの方へ冒頭に回避方法を記載しておきます。
② ①を実施しても削除される場合、文字列の並びが原因なので個々に対応
②-1:連続したブロックの間や、NGワードの間にゼロ幅「U+200B」を仕込む
②-2:Tabが連続している場合は、先頭の1つを「U+2001」2つに置換する
概要
まず、コメント自動削除とはなんぞやという方へ下記記事を参照して頂ければ。
ニコニコ動画、機械学習で監視対象のコメント75%減に!「超自然言語処理」に挑むドワンゴのデータ利活用事例セミナーレポート
と、コメント自動削除とは、ドワンゴが行っている主に謗中傷や殺害予告などの
不適切なコメントの投稿に対する対策です。
この対策とコメントアートにどのような関係があるのかと疑問に思う方も居るかもしれませんが、
簡単に説明するとコメントアートはこの対策に巻き込まれている状況です。
具体的には以下の負の連鎖
➡崩れて(欠けて)表示される
➡荒らしと思われNG追加される(NGスコア値増加)
➡視聴者のNG共有フィルター設定によっては表示されなくなる
(デフォルト「中」でも表示されない)
正直、「崩れて(欠けて)表示される」だけでもしんどいと感じる時があります…。
AIによる自動削除がコメントアートに及ぼす影響例 #コメントアート pic.twitter.com/9VT9bUdJRB
— ・M・(まー) (@x_0227) March 27, 2018
因みにこのコメント自動削除、コメント投稿者自身ではどのコメントが削除されたか
動画上では判断がつきませんが、他のユーザーやログアウトして再度視聴すると、
崩れて(欠けて)表示されてるかが判断できます。
これは悪意を持ってコメント投稿したユーザーを刺激しないための対策だそうです。
一定時間経過orサポートへ復活要望を出すことで、削除されたコメントは復活する場合があります。
Nicofinder等の外部サイトや、有志の方が作成したツールで、
投稿者自身もどのコメントが削除されたかを判断することが出来ます。
ニコ動のプレイヤーの下にコメントの情報を見れるグリッドを追加する拡張限定公開しました。動作確認俺だけ。sm, nmから始まる動画のみ。
公式動画はまだ未対応。https://t.co/K5m2manicD#コメントアート pic.twitter.com/4QYm3K5doF— えねこ@コメントアート用アカウント (@ene_KoH0513_CA) October 12, 2019
コメント自動削除例、対策としてTogetterに纏め運営へ打診したりもしてたのですが、
この度回避方法を発見したので記事にしました。
【事例求ム】機械学習によるコメント自動削除事象【コメントアート】
回避方法
ここからが本題。纏めた内容は以下ツイートの通り。
CA完成後の削除対策フローとして、
1.改行キャンセルに用いるa0タンを2001に置換
2.それでも削除される場合は文字列の並びが原因なので個別に対応
・Tabが連続している場合は、先頭の1つを2001*2に変換
・ブロックが連続する場合はゼロ幅を仕込む
・歌詞の場合、NGワード回避のためにゼロ幅仕込む— 検証垢 (@ca_x_0227) October 10, 2019
① 改行キャンセル防止に使用している「U+00A0」を「U+2001」に置換
必ずしも「U+2001」にしなければならないという話ではなく、
「U+00A0」から違う空白文字に変えれば回避出来るので、
「U+2001」以外の空白文字でも問題ないと思われます。(要検証)
そもそも改行キャンセルとは、commentart2 @ ウィキ内改行の項目②改行コメントの文字配置に記載の通り、
改行は3行以上何も文字が入力されていないと、2行を残してキャンセルされる仕様
となっています。このキャンセル防止に用いられているのが一般的には「U+00A0」の空白文字。
何故「U+00A0」なのかと言われると、
当時Flashプレーヤー時代どの環境でも安定していた空白文字であり、
HTML5プレーヤー以降も名残で皆使用している状況です。私自身も使用しています。
一部環境下では文字幅に変化が起きてしまいますが、改行キャンセル防止に用いる分には問題ないです。
さて話を戻して実際に削除例及び回避例を確認していきましょう。
例1)みんな大好きサーバルちゃん(フルカラー)
投稿したときは下記表示なのですが、
ログアウトして再度視聴すると一部コメントが自動削除で消え下記画像のように表示されます。
投稿者自身では上記表示ですが、実際には下記表示になっているという状況が発生します。
サーバルちゃんっぽい何かになってしまいました…。
ここで、改行キャンセル防止に使用している「U+00A0」を「U+2001」に置換し再度投稿、
ログアウトして視聴すると下記のように表示されます。
すっごーい!回避できるフレンズなんだね!
ということで無事サーバルちゃんが表示されました。
例2)ドット絵
一般的な四角ブロックを打ち込むタイプのドット絵です。
こちらもログアウトして視聴すると下記表示になります。
25コメント中21コメント削除されています。これでは荒らしと思われても仕方ないですね…。
さて今度は改行キャンセル防止に使用している「U+00A0」を「U+2001」に置換し再度投稿、
ログアウトして視聴すると……
25コメント全て表示されました。やったネ!
例3)歌詞/装飾
直近の歌詞や装飾の記事ですが、基本的に改行固定を用いています。
改行キャンセル防止に使用している空白文字を「U+00A0」から「U+2001」に置換してたお陰で、
自動削除を回避することができ、公式アニメでも有効であることを証明することが出来ました。
最近急に絵系から、歌詞装飾へジョブチェンジした理由にはこういった検証も兼ねてました。
② ①を実施しても削除される場合、文字列の並びが原因なので個々に対応
基本的には『① 改行キャンセル防止に使用している「U+00A0」を「U+2001」に置換』
で回避できる場合が殆どなのですが、
・①を実施しても削除されてしまう場合
・そもそも改行固定を用いてない場合
は、個々に対応します。
対応手段としては
・Tabが連続している場合は、先頭の1つを「U+2001」2つに置換する
が挙げられます。
ゼロ幅について「U+200B」を指定しているのは、組み合わせによってはiOSアプリでズレが生じるからです。
・連続したブロックの間や、NGワードの間にゼロ幅「U+200B」を仕込む
従来の回避方法ですね。
これまで削除される原因はブロック同士が原因だと思われゼロ幅を仕込んでいました。
・Tabが連続している場合は、先頭の1つを「U+2001」2つに置換する
2001に置換しても削除されるコメントが数件出てきたけど「[TAB] [TAB]⬜️⬜️」の並びを「[2001][2001] [TAB]⬜️⬜️」にしたら回避できたな。ゼロ幅仕込む以外にも回避出来たのは新たな発見や
— 検証垢 (@ca_x_0227) October 10, 2019
検証してる中で偶然みつけた方法です。
TABが連続する場合、一つを「U+2001」2コに置き換えると回避出来ました。
自身で確認したのが上記2つの方法なので他にもあるかもしれません。
NGワードや、連続したブロックの場合は2コメントに分けるなどで回避する方法も有効ですね。
もし「こういう回避方法も有効だよ!」と紹介してくださる方おりましたら幸甚です。m(_ _)m
まとめ
冒頭にも記載した通り、下記順番で試していただければ回避できます。
② ①を実施しても削除される場合、文字列の並びが原因なので個々に対応
②-1:連続したブロックの間や、NGワードの間にゼロ幅「U+200B」を仕込む
②-2:Tabが連続している場合は、先頭の1つを「U+2001」2つに置換する
正直こういった対策の回避はいたちごっこであり、根本的な解決には至ってませんが、
対策されたら都度回避方法を考えていきましょう。