IT翻訳者Blog

翻訳、英語、ローカリゼーション、インターナショナリゼーションなどについて書いています。

カテゴリ: アプリ/IT

自社運営しているプログラミング英語検定のサイト上に「英単語プロファイラー」というウェブアプリを公開しました。

https://progeigo.org/english-word-profiler/

英語テキストを入力して実行すると、まずこんな具合に語彙リストに含まれる単語の割合を表示します。語彙リストにはレベル(A1やB2など)があるので、英語テキストの大まかな語彙難度を推測できます。



さらに、こんな具合に英単語を一覧にして表示します。出現回数の多い順にソートされるので、テキスト内の頻出単語を把握できます。



無料で使えますが、現在のところ【a】1度に処理できるワード数は2,000まで、【b】同一IPアドレスからは1日10回まで、という制約があります。

まだベータ版のような位置づけで、今後も改善を予定しています。
このエントリーをはてなブックマークに追加

Zoomなどでビデオ会議をしたら、ある程度の精度で構わないので、自動で文字起こしをしたいことがある。
日本語の自動文字起こし専用サービスもいくつかあるようだが、今回はすでにアカウントを持っているAWSのAmazon Transcribeを試してみた。

詳しい使い方はAWSの説明にあるが、手作業でのステップを簡単に説明すると次のようになる。

  1. AWSのストレージサービスである「S3」にオーディオまたはビデオのファイルをアップロードしておく(対応ファイル形式は、MP3、MP4、WAV、FLAC、AMR、OGG、WebMのようだ)

  2. Transcribeでジョブを作成する。ここでS3上のファイルを指定

  3. 実行し、しばらく待つとジョブが完了する

  4. 文字起こしファイルをダウンロードする


設定で「Speaker identification」(話者特定)をしておくと、自動で話者を認識して分割して書いてくれるので便利だ。
なお、料金は30分の動画で「0.72ドル」(約80円)とのことである。



このようにとても簡単なのであるが、困った点が1つあった。
最後にダウンロードするファイルがJSON形式なのである。JSON自体はテキストファイルなのでどのようなエディターでも開ける。しかし話者特定すると、どこからどこまでを誰が話したといったメタ情報が付加されるため、単純なテキスト構造にはならないのである。



もちろん変換プログラムを自作すればよいが、時間がかかりそうだ……と思っていたところ、やはり作ってくれていた人がいた! ありがたい。

 aws-transcribe-transcript
 https://github.com/trhr/aws-transcribe-transcript

ただしPythonなので、パソコンにPythonがインストールされており、コマンドで操作する必要がある。
まず上記Githubサイトからtranscript.pyをダウンロードし、ローカルのフォルダーにJSONファイルと一緒に置く。そして「python transcript.py asrOutput.json」のように(Macならターミナルから)実行すれば、整形されたテキストファイルが出力される。次のような感じである。



話者は2人(spk_0とspk_1)で、きちんと分割して表示されている。時間(「0:38:29」など)も表示されているので、ビデオを見返す際にも便利だ。

ちなみにブラウザー上で変換できるサービスもあるようだ。こちらはSRTというファイル形式で出力されるが、中身はテキストなのでJSONと同様にエディターで開ける。
ただ、自分のファイル(40分程度の文字起こし)で試したらブラウザーがクラッシュしてしまったので、使い心地は分からなかった。あまり大きなファイルは変換できないのかもしれない。



音声認識自体の精度にまだ課題はあるだろうが、目で見て手で書き起こす手間を考えたら、労力は大幅にカットできそうだ。
このエントリーをはてなブックマークに追加

自社で公開している「プログラミング必須英単語600+」の学習用アプリを公開しました。

ダウンロードなどはこちら:
https://progeigo.org/learning/600-plus-app/





ところで、このアプリは「ノーコード」のサービスであるGlideで制作しました。トップページには「5分でGoogleシートからアプリを作成」などと書いてあります。

Glide


そこで以下のような英単語情報をGoogleシートに入れて作成してみました。

Glide用スプレッドシートデータ

驚いたことに、本当に一瞬で大枠のアプリができ上がりました。ただし細かい設定をしたり文言を追加したりするので、公開できるレベルにするにはもっと時間はかかります。しかしアプリのプログラミングを習得する時間を考えたら、わずかな時間です。

Glideは、このようにGoogleシートに入るようなデータをうまくユーザーに見せるというアプリには向いています。一方であまり複雑な処理はできないので、どのようなアプリも作れるわけではありません。
また、Google Playなどからダウンロードするネイティブ・アプリではなく、ウェブに近いPWA(プログレッシブ・ウェブ・アプリ)です。



最近、Glide以外にもノーコードやローコードのサービスをいくつか使っています。ノーコードには「非プログラマー向け」という印象がありますが、とても便利な面もあります。
それはプログラミングをする上で煩雑な約束事を覚えておく必要がないという点です。たとえばJSONの書き方は、普段接している人でないと、細かい部分まで覚えていられません。そういった部分の調査する必要がない分、ビジネス・レベルのロジックなどに集中できます。
そのため、ノーコードやローコードはプログラマーにとってもメリットが大きいと感じています。
このエントリーをはてなブックマークに追加

自分がはまってしまって時間を取られたので、技術的なメモ書き。

Wordpressはプラグインを追加することで、用途に応じたウェブ・アプリケーションを簡単に用意できる。
多言語化機能も整っていて、きちんと国際化(I18N)対応しているプラグインであれば、POTファイル(.pot)から翻訳するだけで、すぐに日本語などで表示できる。

たとえば「AWPCP」(Another Wordpress Classified Plugin)というプラグインでは、/wp-content/plugins/another-wordpress-classifieds-plugin/languagesフォルダー以下にPOTファイルがある。

POTファイル


このPOTファイルを「PoEdit」のような専用翻訳支援ツールで開く。POTのTはテンプレートのことなので、テンプレートからまず日本語用にPOファイルを生成する。続いて、下記の「全般設定」のように翻訳を入力する。

PoEdit


これを保存し、同時に機械読み込み用のMOファイルを生成する。この際、ロケール名を付けなければならないのだが、私は最初の写真にある他のファイルのロケール名(de_DE、en_USなど)に合わせ、「ja_JP」とした。つまり「another-wordpress-classifieds-plugin-ja_JP.mo」である。

こうしたら、Wordpress本体の「サイトの言語」を日本語に再設定すれば翻訳が表示される。実に簡単である……

サイトの言語設定


と思っていたが、翻訳が表示されない。
そこでプラグインを無効化→有効化したり、再インストールしたりしてみたが、翻訳は表示されないまま。

しばらく悩んでいたが、どうもWordpress「サイトの言語」の「日本語」は内部的なロケールとしては「ja_JP」ではなく「ja」であると気づいた。
そこでファイル名も「another-wordpress-classifieds-plugin-ja.mo」と変えると、無事表示された。

AWPCP日本語

ほかのロケールが「de_DE」、「en_US」、「es_ES」、「fr_FR」といった表記だったので、当然「ja_JP」になるはずという思い込みが原因だった。

Wordpressの「日本語」は、ロケールとしては「ja」であり、ja_JPは(自環境の選択肢になかったが)「日本語(日本)」だと思われる。
このエントリーをはてなブックマークに追加

仕事用として外部公開する電話番号が必要になりました。今は携帯電話しか持っておらず、プライベートでも使うこの番号は公開できません。そもそも仕事柄電話をすることもほとんどないので、携帯電話(あるいはSIM)をもう一台契約する気にもなれません。

どうにか安価に電話番号をもう1つ持てないだろうかと悩んでいたところ、「IP電話アプリ」という選択肢を思い出しました。これはスマートフォン上にアプリをインストールすることで、携帯電話端末自体の「090…」といった番号の他に、「050…」で始まる番号を追加できるサービスのことです。

以前からNTTコミュニケーションズが提供している「050 plus」は知っていたのですが、月に基本料として300円ほどかかります。安いことは安いです。しかしほとんど通話はしないので、維持費はもっと安ければありがたいところです。

調べていると、楽天コミュニケーションズが提供している「IP-Phone SMART」というサービスを見つけました。



このIP-Phone SMARTは月額基本料は無料。さらに留守番電話サービスも無料。電話番号を外部に出すと面倒なセールス電話などがかかってくる可能性もあるので、まずは留守番電話で受けたいところです。
そこでIP-Phone SMARTでアカウントを作成し、050で始まる番号を取得しました(残念ながら050 plusと違って番号を選べない)。

マイページにログインすると下の写真のように留守番電話を設定できます。ここでは、
 ・着信したら即座(呼び出し音なし)に留守番電話に切り換え
 ・着信があったことを登録したメールアドレスに通知し、さらに音声録音ファイルも添付で送る
という設定にしました。



試しに取得した050番号に電話し、メッセージを残してみました。その後マイページを開いて留守番電話の履歴を見ると、こんな具合で残っています。「発信元電話番号」の灰色部分は私の携帯電話番号です。



録音時間が11秒ですが、この時間でファイルサイズは211KBでした。添付ファイルで転送されてきても問題ないサイズです。
録音件数は10件までなので、聞いたファイルは「削除」のボタンから消していくことになります。最初の画像に「メール送信後に録音データ削除」というオプションがあるので、これをオンにしておけば自動で消えていくようです。

そもそもこのサービスを使うには「SMARTalk」というスマートフォン用アプリ(AndroidとiPhone対応)をインストールします。初期設定では050にかかって来ると、スマートフォンでも呼び出し音が鳴ります。
私の場合、とりあえず留守番電話で受けてから対応する(かけ直すなど)つもりなので、呼び出し音がなると困ります。アプリの設定を見ると「発信専用で利用する」というオプションがありました。



これを設定しておけば、発信音が鳴ることはないでしょう(まだ試してない)。留守番電話に録音があった時点で初めて、メールで通知が来ます。

私のようにそもそも電話はほとんど使わない(嫌いでもある)が、電話番号を外部に出す必要がある場合、IP-Phone SMARTは安価かつ便利に使えるのではないでしょうか。
このエントリーをはてなブックマークに追加

↑このページのトップヘ