プロジェクト:Bot/InterwikiFAQ

以下はpywikipediabotの動作説明であり、自作されたいくつかのプログラムは違うやり方をとっているかもしれません。しかし、言語間リンクを編集するbotのほとんどはpywikipediabotですから、たいして問題にはならないでしょう。

ATTENTION[編集]

オペレータが受け取るメッセージのほとんどは以下のようなものです。

あなたのbotが[[xx:xxxxx]]という言語間リンクをyy:yyyyという記事に加え続けています。私は既に10回も除去しましたが、未だ続いています。これらは同じ記事ではありません。やめてください!!!

再度除去する前に、オペレータの会話ページに怒ったメッセージを投稿する前に、なぜそのようなことが起こるのか理解してください。

どのようにbotを動かしているのか[編集]

まずbotへ言語を一つ指定します(この例ではenで す) 。botはひとつのページを取得し、他の言語版へのすべての言語間リンクをチェックします。そして、それらの言語版から言語間リンクを持ってきます。この プロセスは、新しい言語間リンクがなくなるまで続けられます。もし言語版ごとに一つのページしかないなら、botはすべての言語版で見つけたすべてのリン クを配置します。結果として、すべてのページは言語間リンクされます。


例を挙げます。

en(英語版) English

  • [[fr:français]]
  • [[zh:中文]]

fr(フランス語版) Français

  • [[da:Dansk]]
  • [[en:English]]

da(デンマーク語版) Dansk

  • [[en:english]]
  • [[zh:中文]]

zh(中国語版) 中文

  • [[en:english]]
  • [[fr:français]]


上 のような言語間リンクが作られていた場合、botは en:English から fr:Français と zh:中文 のリンクを見つけます。そして fr:Français から da:Dansk と en:English を、 da:Dansk から en:English と zh:中文 を、 zh:中文 から en:english と fr:français をそれぞれ取得します。結果、botには da:Dansk、en:English、fr:Français、zh:中文 という言語間リンクのリストができます。これをもとにbotは作業を進め、 4つの言語版それぞれに4つのリンクが配置されます。

en(英語版) English

  • [[da:Dansk]]
  • [[en:English]]
  • [[fr:français]]
  • [[zh:中文]]

fr(フランス語版) Français

  • [[da:Dansk]]
  • [[en:English]]
  • [[fr:français]]
  • [[zh:中文]]

da(デンマーク語版) Dansk

  • [[da:Dansk]]
  • [[en:English]]
  • [[fr:français]]
  • [[zh:中文]]

zh(中国語版) 中文

  • [[da:Dansk]]
  • [[en:English]]
  • [[fr:français]]
  • [[zh:中文]]



ときどき、言語版リンクが一致しないことがあります。

en(英語版) English

  • [[fr:français]]
  • [[zh:中文]]

fr(フランス語版) Français

  • [[da:Dansk]]
  • [[en:English]]

da(デンマーク語版) Dansk

  • [[en:English]]
  • [[zh:華語]]

zh(中国語版) 中文

  • [[en:Engkish]]
  • [[fr:français]]


こ の場合、 en:English と en:Engkish 、zh:中文 と zh:華語 がそれぞれ競合してしまっています。こうなるとbotは動作を停止し、オペレーターにどうすればよいか尋ねます。オペレーターはそれぞれを分析し、元ペー ジの主題にふさわしいページを一つ選びます。すべての競合が解決すれば、すべてのページは新しい情報で上書きされます。オペレータが適切な選択をすれば、 上の結果が得られます。
bot は記事の主題についてなにも知りませんし、それらのリンクが同じものか違うものかも気にしません。botがリンクを追加したら、そのリンクが他のどこかに 既に存在していることを意味します。一つのページで除去しても、問題の解決にはなりません。どこかで、誰かが、2つの関係ない記事を結びつけるという間違 いを犯し、botがそれを拡散させたということです。直すには、すべての間違ったリンクを除去する必要があります。一つでも残っていれば、また戻ってくるでしょう。

xx語版にbotが間違ったリンクを加え続けています。どうすればよいですか?[編集]

なぜ続いているのかは#どのようにbotを動かしているのかを御覧ください。
以下の解決策があります。:
  • xx語版において正しいページを見つけ、もしくは作り、他の言語版のページのリンクを新しいリンクで置き換えてください。
botがxx言語版へのリンクを2つ見つけ、オペレータにどうするべきか尋ねます。
もしくは
  • すべてのページに行き、間違ったリンクを除去する (覚えておいてください -- もし一つでも残っていればまたもどってきます。)

なぜbotは非ラテン文字を?やスペースで置き換えるのですか?[編集]

そう見えるかもしれませんが、実際には違います。あなたのコンピュータに適切なフォントがインストールされていないと、ひらがなや漢字はクエスチョンマー クとして表示されます。リンクは動作していますし、リンクを辿ってページを訪れることも可能です( 読むことは出来ないでしょう。ほとんどの文字は?になっているはずです。)。これはbotの問題ではなく、あなたの問題です。オペレータに苦情を言うのは やめましょう。

Botが他の言語版への空リンクを加え続けています[編集]

#なぜbotは非ラテン文字を?やスペースで置き換えるのですか?を御覧ください。

なぜすべての言語をいっぺんに修正したほうがよいのですか?[編集]

リンクされたすべてのページを見つけるために、botはリンクされたすべての言語版(N個としましょう)をチェックしなくてはなりません。以前はbotが言語版ごとに作業をしており、サーバの負荷の合計はN回の読み込み * 言語版の数N個 + N回の書き込み となっていました。これに比べ、すべてをいっぺんに修正した場合の負荷はN回の読み込み + N回の書き込みになり、非常に大きな差が生まれます。
もうひとつの理由は、それぞれの言語版が同期しているとき、ある言語でページがAからAAに変更されれば、その変更はすぐにどこでも見られることになりま す。 そうしておけば、Aにリンクしている言語はないため、後にAを独自の記事とするべきという決定が出されても競合は発生しません。

botが荒らしを隠してしまいます![編集]

ウォッチリスト最近の更新にはbotの編集を隠すオプションがあります。urlの後ろに &hidebots=1 と入力してください。個人設定]で設定をすることも出来ます。最近の更新の設定ウォッチリストの設定で「botによる編集を表示しない」をチェックして下さい。これで、人による編集のみを表示できるようになったはずです。

botがある言語版へのリンクを置き換えていきました[編集]

時々botは他言語版へのリンクを同じ言語へのリンクで置き換えていきます。場合としては以下の2つが挙げられます。
  1. リンク先がリダイレクトであるとき。botはリダイレクト先へとリンクを書き換えます。
  2. リンク先が曖昧さ回避ページであるとき。リンク先が曖昧さ回避ページであり、他の言語版でのリンクが非曖昧さ回避ページにリンクしていたら、botは非曖昧さ回避ページへとリンクを書き換えます。

言語間リンクを貼っているのに、他言語版に反映されない[編集]

botのオペレータはbotが動作するページを指定するにはいくつかの方法があり、最近の更新新しいページのデータを使用するbotもあれば、完全なランダムで 動くbotもあります。wikipediaには非常にたくさんのinterwikibotが存在していますが、それぞれの行動に統一性はなく、各々が好き 勝手に動いていると言ってもよいです。そういった状況なのですから、botによる更新が行われないということは別にその記事だけの話ではありませんし、不 思議なことでもありません。botが来てくれるのが待てないのであれば、手作業で修正をしてください。後述のIRCなどでbotの所有者に連絡をとれば、 早めに修正してくれるでしょう。手間を掛けたくないのであれば、3ヶ月ほど待ちましょう。
この状況はbotを動かす人が増えることで解消していきます。もし協力していただけるのであれば、Help:Pywikipediabotをご覧になり、自分でbotを走らせてみてください。

関連項目[編集]