技術とエンタメと、その他・・・

主に、技術ネタ、エンタメ系のネタを書いていく予定です。また、自分が参加したイベントに関する記事も投稿予定。

【2021年8月】技術雑誌で Teachable Machine に関する連載記事の 2回目が掲載された話や英語ツイートの話

このブログ記事は、月刊I/O 2021年9月号に掲載された Teachable Machine に関する連載記事(第2回目の記事)について書いたものです(※ 先月号の話の記事と同様に、自分用の備忘録も兼ねて)。

現在、月刊I/O で全4回の『「Teachable Machine 」で機械学習』というタイトルの連載を書いていて、その途中段階の話です。

↓ツイートをしているこちら、受領したのは見本誌になるため、発売はこれからです。

第2回目の記事の内容

今回掲載された記事の内容は、「Teachable Machine の公式サイト上で画像分類のための機械学習モデル作成を行い、同サイト上での推論とモデルのエクスポートを行う」というものです。

第1回は Teachable Machine の概要を書いたので、今回は実践編へ入っていく形です。
ページ数が 3ページ分しかないので、内容はそこにおさまるシンプルなものにしています。

そして、今回作成した機械学習モデルは、TensorFlow.js形式でのクラウドのアップロードを行います。
それを使って、次回の記事では公式のサンプルプログラムを用いた推論処理を、Teachable Machine のサイトの外で行います(ちなみに、第3回の原稿は既に完成していて、編集部の方に提出済み)。

最終回は、「そのサンプルに手を加えて、画像分類の結果によって何らか出力が変わる処理を実装する」という方向の内容です。

英語でツイートしてみた話

普段、Teachable Machine を使った試作のツイートや、その他に MediaPipe や TensorFlow.js などを使ったものに関するツイートをした際に、日本語の本文のツイートでもハッシュタグ付だったり、アルファベット表記のキーワードが含まれていたりすると、英語でのコメント・感想・質問をいただくことがあります。
ハッシュタグやキーワードでの検索でたどり着いたパターンが割とありそうな感じ)

例えば Twitter でこのようなコメントをいただけたり、

こんな質問をもらったり、

別パターンの質問をいただいたり、

といった感じです。

それで、英語でのハッシュタグ付ツイート、というのをやってみました。

これに対して、海外の方からのリアクションが来るかは分からないですが...

上記の英語のコメントを Twitter上で検索したやり方

余談ですが、上記の英語でいただいたコメントを「今からどうにか発掘する(検索する)方法はあるかな?」と思って、Twitter の高度な検索を少しいじってみて、最終的に以下の検索条件での検索結果を得ることで、ツイートを探し出すことができました。

●(to:youtoy) lang:en - Twitter検索 / Twitter
 https://twitter.com/search?f=live&q=(to%3Ayoutoy)%20lang%3Aen&src=typed_query

数日後には忘れてそうなので、また検索したい場面が出てきた時のために、こちら自分用のメモとして書き残しておこうと思います。

過去に英語版でツイートしてみたもの

実は以前も、上記のハッシュタグ・キーワードが絡むもののツイートを英語でもやってみる、というのは試していたことがありました。

Twitter上で検索して出せるかな、というやつの、自分への備忘録その2。
●(from:youtoy) lang:en - Twitter検索 / Twitter
 https://twitter.com/search?q=(from%3Ayoutoy)%20lang%3Aen&src=typed_query&f=live
(ただし上記の検索条件だと、「気になる記事等のタイトルとURLをツイートした際に、タイトルが英語だったもの」というものが混じってきたり、探したい対象ではないものが混じっていたり...)

英語で試しにツイートしてみた事例、例えば、こういったものがありました。

英語版のツイート本文を作るやり方

あと、上記の英語版のツイートの文章を作るやり方についても、ちょっと書いてみます。

最近のやり方は、わりと DeepL翻訳を使うパターンが多いです。

機械翻訳の性能について、いろいろなサイトを試した時の感想・良し悪しなどの話が、SNS上や Web上であれこれ出ていますが、そういった観点で自分的に DeepL翻訳が一番良かったというわけではないです。

現状、「出てきた結果をそのまま使うのではなく、以下で書いた流れで使っていて、ベースとなる英語の文章を作る過程でまあまあ困らず使えているから」という感じで使っています。
(別のやり方のほうが良いですよ!、という話があれば、是非コメントなどいただけるとありがたいです)

ここは、他の翻訳サービスでも良くて、とりあえずゼロから英作文するよりも文章作成の土台に必要なパーツはまあまあな状態のものが出てくる、というものであれば、時間効率は良くなりそうかな、というところです。

実際に行っている流れについて、大まかにはこんな感じです。

  1. 日本語のツイートをそのまま、または少し書きかえて翻訳にかける
  2. だいたい、「別の良さそうな単語を使った例や、短い表現がありそうな気がする」・「意味をシンプルに伝えるのには余分な情報がありそう」という感じがするので、修正をかけていく(やり方は複数パターンあり)
  3. 上記の修正を終えたものか、修正作業の途中のものを Twitter に貼り付けてみて、文字数を確認
  4. 文字数に余裕があったら補足を加えてみたり、文字数オーバーだったら内容を削る

上記の 2 の「別に良さそうな文章がありそう」というのは個人の感覚でやってるので、正しいかどうかは分かりません 笑
「そこまで厳密に正しいものにならなくても、意味が通じなくなりそうな欠けた部分というのはない・伝えたい意味を表す単語が出てきている、といった程度に修正できれば良いか」、という感覚で進めていて、英語ネイティブな方が見たら「まだまだな文章だね」と言われそうな気もします。
しかし、ここはこだわりすぎないのが良いかな、と考えている部分です。
(英語は得意でないというか苦手なほうなので、ここにこだわりすぎると確実に時間をたくさん使い過ぎてしまい、そして最終的にツイートしないで終わる未来が見えてくる...笑)

あとは、「よく見かける気がする単語・表現になるようにしてみる」というのはやってみています。
(この辺り英語は得意ではないものの、仕事で英語論文執筆・査読、技術系ドキュメントの内容調査、海外のお客さんに英語プレゼンなど、定期的にそういうことをやっていた時期があったので、その時の貯金が使えているかも、という感じ... ← 自分の専門から遠い技術分野・小説とか文学系とか分野が全く違う、というものだと見てもさっぱり...)

上記の 2 の部分については、状況によって修正する方法が複数ありますが、例えば以下に書いたようなことをやってみてます。

書きかえ方法の概要

1つのやり方は、DeepL翻訳に入力した日本語の書き方を変えてみる方法です。 単純なところだと、日本語の文章で省略されがちな部分を補ってみたり、複数の言い方がありそうな表現を別の表現にしてみたり、などです。

それと、「厳密さを求めるのではなく、文字数制限にひっかからず伝わりそうな内容にする」というのがあるので、「この部分のニュンスは不要かも」というのを除く、というのをやってみてたりします。

実例

記事執筆時点で固定ツイートにしている本文の、前半の文章を使って書き換えを試してみます。

  • そのまま
    • 【日】Googleさんの MediaPipe Hands と p5.js の描画とを組み合わせた仕組みを試していた件の続き。
    • 【英】This is a continuation of my experiment with a system that combines Google's MediaPipe Hands and p5.js drawing.
  • 短めにしてみる
    • 【日】Googleさんの MediaPipe Hands による画像認識と p5.js を使った描画を使った試作について。
    • 【英】Prototyping using Google's MediaPipe Hands for image recognition and drawing using p5.js.

後のほうの翻訳版のほうが、画像認識という要素が入りつつ、全体の文字数は少なくなった感じです(「続き」という話は、日本語のツイートの前の流れに関するもので、このツイート単発では不要かな、と思い除いたりもしつつ)。
あと、Prototyping で始まるので、試作したという話がちょっと表現的に目立つようになったかな、とか。

なお、上記の書き換えは 1回で完了させられたものではなく、日本語を変えてみた結果をみて追加の修正してみる、というのを複数回やった結果だったりします。

ツイート本文の、後の部分を使ったパターンも試してみます。

  • そのまま
    • 【日】描画周りを p5.js にしたのを活かして、簡単なものですが立方体の描画・回転など、WebGL による 3D表現を試しに組み込んでみました。
    • 【英】Using p5.js for rendering, I tried to incorporate WebGL 3D expressions such as drawing and rotating a cube.
  • 日本語を直してみる
    • 【日】描画処理に使ったp5.jsの機能を活かすため、描画に立方体の描画・回転というWebGLでの3D表現を試してみました。
    • 【英】In order to take advantage of the p5.js features used in the drawing process, I tried a 3D representation in WebGL, drawing and rotating a cube for drawing.

修正版のほうが、p5.js を組み込んでいる状況を活用した感のある文章になった気がします。

こうやって試してると、「単に、元の日本語がよろしくないのでは?」という気がしてくるかも...笑
Twitter はツイート後の修正、できないし、日本語ツイートするときは割と勢いで書いてる時も多いしな...)

その他、自分が主語の話なのに「we」となるとか、出てくるものの単数・複数が違っているという時、元の日本語を返るより英語を書きかえたほうが早いよな、という時は翻訳後の文章を書きかえてしまいます。

まとめ

けっこう英語ツイートの話がメインになった感がありますが、あまり雑誌に寄稿した記事の詳細を書いてしまうのも...、というのはあるので、このような内容で締めようかと思います。