「Stack Overflow の機械翻訳サイトの除外用フィルタ」の管理をしていてわかったこと

こんにちは。ublacklist-stackoverflow-translation を管理している @shora_kujira16 です。

github.com

このリポジトリはよく目につく Stack Overflow の機械翻訳サイトがまだ両手で数えられるほどしかなかった2019年10月に公開を始めたものです。利用者数を計測することはできていないのですが、GitHub のスターの数などから推測するに今年の1月ごろから多くの方にご利用いただいているようです。

リポジトリを公開してから1年半ほど経ち、今では多くの方から継続的にプルリクエストをいただくようになりました。この記事ではこのリポジトリを管理していてわかったことや今後の展望についてまとめます。

対象ドメインの数

「Stack Overflow 機械翻訳」のようなキーワードで Twitter を検索してみることがあるのですが、リポジトリの公開を始めた2019年10月ごろと比較すると「機械翻訳サイトを見かけることが増えてきた」という旨のツイートの件数が増えているように思われます。

以下のグラフはフィルタのエントリである uBlacklist.txt の月ごとの件数*1を表したものです。

f:id:kujira16:20210502031251p:plain

2020年10月からの比較で約3倍に増えているということがわかります。フィルタのメンテナンスはあくまで利用者が機械翻訳サイトの存在に気づいた時点で行われるため、このグラフをもって機械翻訳サイトの立ち上げが増えていると結論付けることは難しいですが、目につく件数が増えているとみなすことはできるかもしれません。

最近追加されているサイトの傾向

プルリクエストの内容は毎回確認してから取り込むようにしています。その作業の中で気づいたことを紹介します。

既存サイトのドメイン変更やリダイレクト専用サイトの追加

SEO のテクニックなのか何なのか詳細はわかりませんが、似たようなドメインを大量に取得して同じ内容を配信したり、ひとつのドメインにリダイレクトして集約するような構成にしているサイト群がいくつか見つかります。

例としては以下のようなサイト群です。

stackovernet.com
stackoverrun.com
stackovernet.xyz
www.it-swarm-ja.tech
www.it-swarm.jp.net
www.it-mure.jp.net
www.it-swarm-ja.com
www.it-swarm.com.ru
www.generacodice.blog
www.generacodice.it
www.generacodice.com

このようなサイトは油断した隙にドメインが増えていることがよくあります。利用者の方でフィルタに引っ掛からないドメインが増えていることに気づいた方はお気軽にプルリクエストでご連絡ください。

CMS を利用して構築されたサイトの登場

evidence.md というファイルの Page という列に書かれている URL を上から順番に開いてみてください。内容は別として、上のほうに掲載されている老舗のサイトはデザインも悪くなく出来のいいものが多いと感じる方も多いのではないでしょうか。

一方、下のほうに掲載されている最近追加されたサイトについてもいくつか開いてみてください。最近は CMS として WordPress を利用して機械翻訳サイトを量産することが流行しているらしく、デザインが破綻しているものもいくつか見つかります。

このようなサイトの存在は #45, #46 で知りました。今後の傾向にも注視していきたいと考えています。

今後の展望

Stack Exchange 以外のサイトへの対応

#50GitHub の、#57 で teratail の機械翻訳サイトの存在を指摘されました。

このフィルタのほとんどの利用者にとってはこのようなサイトも除外リストに加えることが有益であると想像していますが、このリポジトリでは Stack Exchange の翻訳サイトのみを対象とすることとして今のところは採用しない方針にしています。これは悩ましいグレーゾーンの判断のために時間を要するものが増えてくると管理の負担が増えてくることを危惧しているためです。

一方、このようなサイトが増えてきた場合には私自身が利用するためにもフィルタを開発する必要があると考えており、目安として4つ以上のサイトが発見された場合には新しいリポジトリの運営を始めたいと考えています。

メンテナンスにおける工夫

リポジトリを公開した時点ではフィルタの本体である uBlacklist.txt と README しか無いリポジトリでしたが、エントリが増えてくるにつれて以下のような改善がありました。

フィルタへの収録根拠の明示

フィルタへの収録の根拠として元となった Stack Overflow のページと、そのページの機械翻訳ページの URL を evidence.md に記載しています。「このドメインって本当に機械翻訳サイトだったっけ?」と不安になることが増えてきたのでエントリが20件を超えたあたりで作成しました。

このファイルのメンテナンスには手間がかかりますが、フィルタを安心して利用してもらうためには根拠を明示することが重要であり必要なコストであると考えています。

CI によるメンテナンス作業の補助

上記の evidence.md と uBlacklist.txt の整合性を保つのが面倒になってきたため #33 で協力を募って #48 で開発していただいたものです。domain-list.yml という YAML を編集してコミットすると GitHub Actions により evidence.md と uBlacklist.txt を更新したコミットが自動的に作られるようになっています。

このような改善によりメンテナンス作業の負担が軽減されました。一方、エントリ数が数百に達してきた場合にはさらに別の課題が出てくるのではないかと感じており、今後の対策について検討しています。

まとめ

この記事では ublacklist-stackoverflow-translation を管理していてわかったことと今後の展望についてまとめました。私の生活に余裕がある間はメンテナンスを続けたいと考えているため今後も安心してご利用ください。

*1:正確には毎月の最終コミット時のファイルの行数