マイクロソフト社の機械翻訳フィードバック対応はやはりおかしい

# まず問題の翻訳を見てほしい

## [コーディング規則 - Visual Basic | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/program-structure/coding-conventions#use-the-isnot-keyword)

### [IsNot キーワードの使用](https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/program-structure/coding-conventions#use-the-isnot-keyword)

#### 英語

> Use the IsNot keyword **instead of Not...Is Nothing**.

#### 機械翻訳（誤訳）

> IsNot **の代わりに Not...Is Nothing** キーワードを使用します。

### [イベント処理](https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/program-structure/coding-conventions#event-handling)

#### 英語

> Use Handles **rather than AddHandler**:

#### 機械翻訳（誤訳）

> Handles **ではなく AddHandler** を使用します。

# 記事にした経緯

どちらも見事に逆になっているわけです。

上の問題は [こちらの記事](https://qiita.com/CodeOne/items/81c91e677638edfd9476#%E4%BD%99%E8%AB%87) で参照して気づきました。

下については @tfukumori さんが[フィードバック](https://github.com/dotnet/docs.ja-jp/issues/1674)されています[^1]。
そしてこちらが Microsoft Localization Team からの回答です。

> 現在、機械翻訳されたコンテンツに対する翻訳の問題へのコントリビューションはできません。

> 人間が翻訳したコンテンツに関するフィードバックやご意見をお寄せください。人間が翻訳したコンテンツは機械翻訳エンジンをトレーニングするために使用されているため、お客様は、時間が経つにつれ人間および機械の両方による翻訳の質を向上させることに貢献できます。

> 人間が翻訳したトピックは、各コンテンツ ファイルのヘッダーの translationtype メタデータ値 "HT" (機械翻訳の場合は "MT") によって、機械翻訳されたトピックと区別できます。

そうですか。

貴重なフィードバックを放置して、何を契機にどんな改善を機械に期待しているのでしょうか。
一度飲み込んで五晩寝たものの、疑念が去らないので記事にしました。

※気になって仕方がないわけでも、怒っているわけでもありません。
　ただ、サイトの影響力の大きさから、（今回の件に限らず）誤った情報が広がってしまうのを心配しています。

# つまりこういうことですよね？

軍にAI兵士を導入しました。

**兵卒**「マイクロソフト上官、AI兵士が味方の兵士を次々狙撃しています」

**MS上官**「味方を誤射した兵士がいて、どうも真似しちゃったらしいんだ。誤射した兵士を鋭意教育中だから、そいつが成長してAIが学び直すまで待ってくれ」

# ほかの機械翻訳では？

たとえば Google 翻訳はフィードバックを積極的に活用しています。

[Google 翻訳の改善に協力する - Google Translate ヘルプ](https://support.google.com/translate/answer/2534530?hl=ja)
[翻訳コミュニティ](https://translate.google.com/community)

[最近話題になった悪用の懸念](https://it.srad.jp/story/19/06/19/1253206/)も悩ましいところですが、近年の精度の向上を見るに、一定の成果は上げているようです。

今回のような「真逆のこと言ってるじゃん」ということは Google 翻訳でもあるわけですし、将来を見据えた意欲的な試みも歓迎される分野ですから、一概にどちらが優れているとは言えないでしょう。

# 人々の期待

機械翻訳の精度が10年前と比べて格段に上がりました。
それに応じて人々の機械翻訳に対する信頼度も上がっています。
昔よりも信じやすくなっているわけですから、より高いレベルで改善・向上が求められているとも言えます。

# 本当に機械学習の問題？

ところで今回の件、本当に機械学習の問題でしょうか。

:flag_us: "A instead of B Nothing" ⇒ :flag_jp:「Aの代わりにB」:x:
:flag_us: "A rather than B" ⇒ :flag_jp:「AではなくB」:x:

機械学習がどうこう言うレベルの間違いではない気がします[^2]。
フィードバックをちゃんと読んだのだろうか。

これまたコーディング規約関連で、『[型のメンバーの名前](https://github.com/dotnet/docs.ja-jp/blob/live/docs/standard/design-guidelines/names-of-type-members.md)』に対する [こちらのフィードバック](https://github.com/dotnet/docs.ja-jp/issues/118) では、最終的に謝罪、訂正（「人間翻訳」化）となったわけですが、初動の機械回答感はひどいと言わざるを得ません。

**機械ではなく人間の問題**だと思います。
具体的には、担当部署の姿勢、企業のリソース割り当て（重要度の認識）の問題ではないでしょうか。
機械翻訳に完璧を求めるわけではありませんが、改善に協力しようと真っ当な指摘をした人に対して感謝と敬意を持ち、本当に機械学習の成熟度の問題なのか切り分けたうえで、可能な範囲で真摯に対応する姿勢は見せてほしいです。
というか、もったいないですよね？ こんな凡ミス放置するの。

[改元対応の問題](https://qiita.com/CodeOne/items/97c5a84cfa7376cbb629)でもそうでしたが、日本語ローカリゼーションが重要と位置づけられ、そこに適切なリソースが割り当てられているとはとても思えません。
ちょっと悲しいところです。

# 自省（頼りすぎ、期待しすぎ）
少し強い表現になってしまったかもしれません[^3]。
意見の偏りもあると思います。

そもそも私が機械翻訳に頼りすぎています。

特に正確さが求められる技術ドキュメントは、できるだけ原語で読むのが原則だと思います。
機械翻訳の精度が上がってきたこともあり、つい便利さに甘えてしまうことが増えました。
英文読解力はみるみる落ちてきました。

これではいかんと、最近はなるべく原語で読むよう（機械翻訳見ちゃったとしても最終的には原語にあたるよう）心がけています。

ということで、本当の問題はここにあったのかもしれません。

---

書き終えてから Microsoft コミュニティにこんなスレッドを見つけました。

[日本語によるフィードバックは、ほぼ無視されているコトが発覚しました。 - マイクロソフト コミュニティ](https://answers.microsoft.com/ja-jp/insider/forum/all/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AB%E3%82%88/51ebbffb-3071-4f8d-9bee-4a72b16d91d2)

> 本国MSでは、日本語のフィードバックを、自動翻訳で英語に訳して読んでいるらしい。

[^1]: 巻き込んですみません。念のため、この記事の内容は私の個人的な考えにすぎません。

[^2]: 機械学習は専門外ですので、認識誤りをご指摘くださったら勉強させていただきます。

[^3]: 誤解のないように、私はマイクロソフト製品の愛好者で基本的に信頼を置いています。