2023 年 10 月上旬より、拡張クリック単価(eCPC)を使っているショッピング キャンペーンは、手動クリック単価(CPC)入札と同じ動作になりました。
拡張 CPC は、10 年以上前に Google が導入した最初のスマート入札戦略でした。これは、目標広告費用対効果(ROAS)やコンバージョン値の最大化といったさらに高度な入札戦略や、P-MAX などの完全自動キャンペーンに置き換えられています。
何も変更しないとどうなりますか
2023 年 10 月までにキャンペーンを変更しないと、手動 CPC 入札と同じ動作になります。eCPC を使っている既存キャンペーンは、すべて設定された手動入札に基づいて提供され続けます。ショッピング キャンペーンで ManualCpc.enhanced_cpc_enabled を true に設定しても、設定は無視され、手動 CPC 入札のみが使われます。
ManualCpc.enhanced_cpc_enabled
true
何を変更すればよいですか
今後も手動 CPC を使いたい場合は、ショッピング キャンペーンで ManualCpc.enhanced_cpc_enabled を true に設定しているコードをすべて削除してください。手動 CPC の代わりに次の方法を使うことをお勧めします。
どこでサポートを受けることができますか
ご不明点などございましたら、フォーラムまたは googleadsapi-support@google.com にご連絡ください。
status
primary_for_goal
category
name
value_settings
update
remove
HIDDEN
ENABLED
ConversionAction
ConversionActionOperation
MUTATE_NOT_ALLOWED
type
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
negative = false
DevFest は、Google Developer Group(GDG)コミュニティによって世界各地で開かれるデベロッパー向けイベントです。参加者は Android、Firebase、Google Cloud Platform、TensorFlow、Web などの Google のデベロッパー テクノロジーに関する技術情報、知識やアイデアを共有できます。
■ DevFest Shikoku 2023 うどん県 with えれくら
日時 : 2023 年 10 月 29 日(日) 13:00~17:00 場所 : e-とぴあ・かがわ BBスクエア Zoom) 参加費 : 無料 定員 : 0 名 申込サイト : こちら 主催 : GDG Shikoku、えれくら 内容 : IoT
■ DevFest Shikoku 2023 in 徳島
日時 : 2023 年 11 月 4 日(土) 場所 : 株式会社 HIROKA サテライトオフィス鳴門 参加費 : 無料 定員 : 申込サイト : こちら 主催 : GDG Shikoku 内容 : GCP 入門ハンズオン
■ DevFest Nagoya 2023
日時 : 2023 年 11 月 24 日(金) 18:30~ 場所 : マネーフォアード 東海支社、名古屋開発拠点 参加費 : 無料 定員 : 一般参加(19 名) LT 参加(6 名) 申込サイト : こちら 主催 : GDG Nagoya 内容 : LT のテーマは『ことしの頑張り共有しましょう!』
■ DevFest Shikoku 2023 愛媛
日時 : 2023 年 12 月 10 日(日) 13:00~ 場所 : 愛媛大学 総合情報メディアセンター 2F ゼミ室 参加費 : 無料 定員 : 10 申込サイト : こちら 主催 : GDG Shikoku 内容 : 機械学習
■ DevFest: Kobe Developer Day
日時 : 2023 年 12 月 16 日(土) 14:00~ 場所 : 会場調整中 参加費 : 無料 定員 : オフライン会場参加(50 名) オンライン参加(100 名) 申込サイト : こちら 主催 : GDG Kobe 内容 : 復活の GDG Kobe! 記念すべき今年の年末イベント、DevFest Kobe Developer Day を開催いたします!噂のシリコンバレー流エンジニア教育から企業での生成 AI 活用事例まで、幅広くテクノロジーを取り扱ったお話を聞いていただける予定です。
■ DevFest 2023 in 高知
日時 : 2023 年 12 月 17 日(日) 13:30~ 場所 : Kochi Startup BASE 参加費 : 無料 定員 : 15 申込サイト : こちら 主催 : GDG Shikoku 内容 : Google Cloud Platform 入門ハンズオン
■ DevFest Kyoto 2023
日時 : 2023 年 12 月 17 日(日) 13:30~ 場所 : ウィングス京都 参加費 : 無料 定員 : 一般参加(14 名) LT 参加(6 名) 申込サイト : こちら 主催 : GDG京都, WTM京都 内容 : コードラボ、LT 大会
■ GDG DevFest Tokyo 2023
日時 : 2023 年 12 月 9 日(土)10:00~19:00 場所 : ハイブリッド(Google 六本木オフィス& YouTube Live) 参加費 : 無料 定員 : 会場オフライン・一般参加(300 名) LT 参加(10 名) オンライン参加は人数制限無し 申込サイト : こちら 主催 : GDG Tokyo 内容 : Android, Chrome, ML など幅広くセッションを予定中
現在、デベロッパー トークンなしで API を呼び出すことができる Google Ads API パイロット プログラムの早期登録を受け付けています。API アクセスレベルは、Google Cloud プロジェクト ID と Google Cloud の組織によって識別されます。
このパイロット プログラムには、次のようなメリットがあります。
この機能の詳細については、デベロッパー ドキュメントをご覧ください。
ご質問はフォーラムからご連絡ください。
Google Cloud は、日本時間 11 月 15 日(水)〜 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。イベント当日は、会場にて様々なプログラムを用意しておりますので、ぜひ会場にお越しください。登録がまだの方は、事前に こちらからしておきましょう。
各日とも 10 時よりスタートいたします。
基調講演へご来場の先着特典として Google Cloud オリジナル クッションを進呈します。(なくなり次第終了)
オリジナル音声での聴講はメイン会場だけで、サテライト会場は日本語訳の音声のみとなります。
両日とも大変混みあいます。開場は 9:00 からとなりますので、早めの入場にご協力ください。
DAY 1 は大きな進化を遂げている生成 AI と AI、機械学習を中心にプロダクト アップデートをご紹介します。また、Google Cloud の生成 AI ソリューションをすでにご利用いただいている企業のリーダーから、そのビジョンと取り組み、Google Cloud の生成 AI の成果をお聞きします。
DAY 2 は、米国の Next で発表された最新の Google Cloud プロダクトとソリューションをお届けします。さらに、多岐にわたる業種のビジネス リーダーの方々に、ビジネス課題を Google Cloud でどう解決しているのか、インフラストラクチャ、データの利活用、コラボレーションといった側面にフォーカスを当てお話しいただきます。
ブレイクアウト セッションのライブ配信は行っておりませんので、セッションをご覧になりたい方は会場にお越しいただく必要があります。当日、会場にて空席がある場合は、事前登録なしでもご聴講いただけますが、人気セッションは満席の可能性があるため、セッションの事前登録をした上でお越しいただくのをおすすめします。また、セッションの後にスピーカーに直接質問ができる「Ask the Speaker」ブースも設けております。この機会をご活用ください。
実際に触れるライブデモ、エキスパートとの交流やライトニング トークなど、会場でしか体験できない企画を多数ご用意しています。スキルアップやコミュニティと繋がるためにも、この機会をご活用いただき、会場にて直接体験してください。
★ Ask the Expert では、Google のエンジニアや Champion Innovators が皆さんのご質問やご相談にお答えします。データ エンジニア、クラウド アーキテクト、アプリ開発者の方が対象です。
★Innovators Hive にある Tech Base では、Quiz Challenge を実施します。10 問の技術的なクイズに答えると、その正答数に応じた賞品を獲得できます。特賞は、Google Cloud Innovators Plus (通常年間 299 ドル、最大 1,500 ドル相当のデベロッパー特典あり)の 1 年間無料アクセス ※1 です。ぜひ、この機会をお見逃しなく!
★ライトニング トークには、スタートアップ企業や Champion Innovators が登壇します。また、認定資格やトレーニングについてもご紹介します。タイムテーブルは、こちらの 4 ページをご参照ください。事前登録不要です。
★Power of Cloud for Startups エリアでは、スタートアップ向けプログラムのご紹介や技術相談に加えて、Beatrust株式会社・Lazuli株式会社・カラクリ株式会社・株式会社ビットキーのサービスもご紹介します。
この他、Google Cloud Innovators、Jagu’e’r、Google Developer Groups および Game Engineers Meetup といったコミュニティのブースや、Google Maps Platform、イノベーションの源泉となるカルチャーに関するブースでも皆さんをお待ちしています。
会場内 MAP やセッション タイムテーブルは Program Guide をご参照ください。イベント参加にあたっての FAQ はこちらにまとめてあります。
名称 : Google Cloud Next Tokyo '23(略称 Next Tokyo '23)
日時 : 日本時間 2023 年 11 月 15 日(水) ~ 16 日(木)
会場 : 東京ビッグサイト(東京国際展示場) 西展示棟
対象 : 開発者から CEO まで、クラウド テクノロジーを使ったビジネス課題の解決を探求する、すべての方
ハッシュタグ : #googlecloudnext
Google Cloud Next Tokyo 運営事務局
E-mail: gc-nexttokyo-info@google.com
Google Cloud は、日本時間 11 月 15 日(水)〜 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。
Google Cloud の最新製品やソリューションを実際に体験したい方は、本日ご紹介するブースや Innovators Hive の情報のぜひチェックしてください。気になるブースやコンテンツがありましたら、忘れずイベント登録をしておきましょう。
AI Innovation、Modern Infrastructure、Data、Security、Google Workspace、の 5 つのエリアでは 22 の Google Cloud デモブースに加え、カプコン、富士フイルムビジネスイノベーション富士フィルム、明治クッカーによる 3 つのカスタマーブースをご用意しております。
Google Cloud の最新のプロダクトやソリューションを、会場でご体験ください。>> 詳細はこちら
Google Cloud パートナーによるスポンサー展示ブースでは、Google Cloud(GCP)、Google Workspace のデモや導入事例、そして導入支援に関するご相談やクラウド全般に関するご質問をお待ちしています。
ぜひ、スポンサーブースにお越しください。>> 詳細はこちら
主にデベロッパーやエンジニア向けのゾーンです。デモ、ハンズオン、ライトニング トークやエキスパートとの交流を通して、Google Cloud のスキルアップをしたり、コミュニティと繋がることができます。また、スタートアップ向けのコンテンツ、 Google Maps Platform、そしてイノベーションの源泉となるカルチャーについてもご紹介いたします。>> 詳細はこちら
会場 : 東京ビッグサイト(東京国際展示場)
- お問い合わせ -
BudouX は、ウェブをはじめさまざまなプラットフォームで読みやすいテキスト折り返し(改行)を実現するための、軽量な分かち書き器です。オープンソース プロジェクトとして GitHub で公開されており、現時点では日本語と中国語(簡体字、繁体字)をサポートしています。2016 年に公開した Budou の後継となるものですが、Budou とは違いサードパーティの API や分かち書きライブラリに依存せずに動作します。分かち書きのための機械学習モデルを含めて 20 KB 程度に収まるため、ウェブブラウザに配信する JavaScript ファイルに同梱することも可能です。
単語と単語の間をスペースで空けて書く英語などの言語と異なり、日本語や中国語をはじめとするアジア圏の一部の言語は分かち書きをしません。そのため、ウェブサイトやモバイル アプリケーションで日本語や中国語を表示する際に、スクリーンサイズによって好ましくない折り返しが起きてしまうことがあります。このような問題の解決策として、改行要素や改行可能要素を挿入する、特定の要素の折り返しを禁止するなどの方法が考えられます。しかし、そのいずれも対象言語に精通した人物による手作業が必要になるため、大量のテキストがある場合に対応するのは困難です。
この問題を自動で解決するために開発されたのが、BudouX です。BudouX は文字の N グラムに対して AdaBoost アルゴリズムを適用した機械学習モデルを利用しています。この機械学習モデルはテキスト中の各文字について、次の文字の間で区切るべきか否かの二値分類問題を考えます。予測値が正であれば区切り、そうでなければ区切らないという処理を繰り返すことで、読みやすく分かち書きされたテキストを出力します。
特徴量として文字の N グラム(特定の文字が連続して出現するまとまり)のみを使うため、任意の言語に対してモデルを学習、適用できます(Language Neutral)。また、AdaBoost アルゴリズムによって、読みやすい折り返しに強く寄与する N グラムから順に重みを割り当て、それ以外の特徴量は無視できるため、機械学習モデルの軽量化が可能です(Small)。BudouX では JSON シリアライズされた機械学習モデル、すなわち N グラムと重みのペアをデコードして、現れた N グラムに対応する重みの値を足し合わせるだけで予測値が得られます。したがって JSON パーサと基本的な処理構文さえあれば実行できるため、さまざまなプログラミング言語やプラットフォームに容易に拡張することができます(Standalone)。BudouX はこのように Small, Standalone, Language Neutral の 3 つを基本的な方針として開発を進めています。
日本語のデフォルトの分かち書きモデルは、単語単位ではなく文節単位の分ち書きを提供します。これは文節間の改行が日本語の読みやすさに寄与すると考えているためです。このモデルの学習には主に KNB コーパス(Kyoto-University and NTT Blog コーパス)による文節区切りの文章を用いています。モデル訓練の詳細については BudouX scripts README をご覧ください。
現在、BudouX の公式レポジトリでは JavaScript, Python, Java をサポートしています。それぞれの使い方を簡単に紹介します。
JavaScript
NPM を使う場合、BudouX の JavaScript モジュールは npm i budoux としてインストールできます。日本語のデフォルトの分かち書き器を使う場合は、下記のようにしてパーサを読み込み、処理したい文字列をその parse メソッドに渡します。結果は分かち書きされた文字列の配列が渡されます。
import { loadDefaultJapaneseParser } from 'budoux' ; const parser = loadDefaultJapaneseParser(); console.log(parser.parse('今日は天気です。')); // ['今日は', '天気です。']
NPM を使わず、ウェブブラウザ上で下記のように ES Module として直接読み込むことも可能です。ここではビルドされたモジュールをホストするサイトとして unpkg.com を使用した例を示します。
<script type="module"> import {loadDefaultJapaneseParser} from 'https://unpkg.com/budoux/module/index.js'; const parser = loadDefaultJapaneseParser(); console.log(parser.parse('今日は天気です。')); // ['今日は', '天気です。'] </script>
ウェブでの利用を目的としている場合は、Web Components 版も利用可能です。まずウェブページ内で、下記のようにして BudouX カスタム要素を読み込みます。ここでは例として日本語モデル(budoux-ja)を読み込んでいます。
<script src="https://unpkg.com/budoux/bundle/budoux-ja.min.js"></script>
その後、BudouX により折り返し処理を適用したい文字列を budoux-ja カスタム要素に渡すと、自動でテキスト折り返しを整えるためのマークアップが Shadow Root に挿入されます。
<budoux-ja>今日は天気です。</budoux-ja>
<!-- Shadow Root -->
<span style="word-break: keep-all; overflow-wrap: anywhere;">今日は<wbr>天気です。</span>
Python
BudouX モジュールは、 pip install budoux としてインストールできます。以下に、Python で日本語モデルを読み込み、分かち書きを行う例を示します。
import budoux
parser = budoux.load_default_japanese_parser()
print(parser.parse('今日は天気です。')) # ['今日は', '天気です。']
Java
BudouX モジュールは Maven Central Repository にて com.google.budoux として公開されています。インストール後、以下のようにして日本語モデルを利用できます。
import com.google.budoux.Parser;
public class App {
public static void main(String[] args ){
Parser parser = Parser.loadDefaultJapaneseParser();
System.out.println(parser.parse("今日は天気です。"));
// ["今日は", "天気です。"]
}
BudouX はプレーンテキストだけではなく、HTML コードに対しても適用可能です。より進んだ使い方について詳しくは BudouX レポジトリの README をご覧ください。
ここからは、BudouX をご活用いただいているアドビの Japan R&D に所属する Software Development Engineer の吉田さんに活用の経緯などをお伺いしました。
どこで BudouX を活用している?
自社のオウンドメディアである adobe.com の日本語サイトにて BudouX を活用しています。適切な改行処理を行うことでデバイスサイズに限らずに読みやすい日本語になるように工夫しています。
BudouX を活用しているページの例
https://www.adobe.com/jp/acrobat/online/ppt-to-pdf.html https://business.adobe.com/jp/resources/main.html https://business.adobe.com/jp/customer-success-stories.html
BudouX を活用に至るまでの経緯
実は BudouX 採用前からアドビでは日本語の改行処理に力を入れていました。adobe.com は自社製品の CMS、Adobe Experience Manager 上で構築されていますが、ページを編集する際に区切り文字をマニュアルで入れることで著者が改行ポイントを設定することができました。我々は以前から日本語における適切な改行処理に関心があったというわけです。 話は本題へと移ります。現在 adobe.com は Adobe Experience Manager で構築された従来のサイトから、次世代のアドビの CMS 製品である AEM Franklin をベースにしたサイトへの移行プロジェクトを実施しています。AEM Franklin では Google Docs や Microsoft Word をオーサリング ツールとして活用することができます、また、Adobe Experience Manager で課題であった複雑なシステム構成やウェブサイトのパフォーマンスなどを容易に改善することができる等、新しいコンセプトの製品となっています。 しかし AEM Franklin をベースとした新しい製品を活用したウェブサイトへの移行となったため、今まで存在していた編集時の日本語の改行処理の機能がなくなってしまいました。このような状況の中で、この問題の解決のためにさまざまな手法を検討し、実装コストや運用コストなどを考慮した結果、サーバーサイドで分かち書きなどの前処理するのではなく、クライアントサイドだけで軽量に動作する BudouX がベストだという結論に至り、採用することとなりました。 それでも導入の際には 3 つ課題がありました。1 つ目は BudouX の日本語のデフォルト モデルはアドビのコンテンツを学習していません。特に「お、ご、などの尊敬語に弱い」、「デジタルエクスペリエンスプラットフォームなどの長いカタカナの複合名詞」は精度の面でやや不安があったわけです。そこで新たに adobe.com のデータをスクレイピングし学習させることでよりアドビのサイトにあったモデルを開発することができました。詳しい話はこちらの記事で書かれているので興味がある方はご覧ください。 2 つ目は禁則処理の問題です。禁則処理とは行頭や行末に特定の文字が来ないように文字の並びを調整する処理を指します。例えば、句読点は行頭には来ないようにするなどが挙げられます。BudouX は次の文字の間で区切るべきか否かの二値分類問題を考えています。その結果、かなり低確率ではありますが、周辺文字の状況によって句読点の前で文字が区切られてしまう例がわずかに見られました。我々が普段 HTML で文章を書いているときはブラウザが自動で日本語の禁則処理をしてくれるので問題ありませんが、BudouX では改行ポイントを <wbr> でコントロールしているので、例えば以下の画像のように行頭に疑問符(半角)が来てしまいます。この問題を解決するために、我々はルールベースの禁則処理を BudouX に追加することで禁則処理を実現しました。なお、この問題は現在 BudouX の GitHub にイシューとして登録しています。
実は BudouX 採用前からアドビでは日本語の改行処理に力を入れていました。adobe.com は自社製品の CMS、Adobe Experience Manager 上で構築されていますが、ページを編集する際に区切り文字をマニュアルで入れることで著者が改行ポイントを設定することができました。我々は以前から日本語における適切な改行処理に関心があったというわけです。
話は本題へと移ります。現在 adobe.com は Adobe Experience Manager で構築された従来のサイトから、次世代のアドビの CMS 製品である AEM Franklin をベースにしたサイトへの移行プロジェクトを実施しています。AEM Franklin では Google Docs や Microsoft Word をオーサリング ツールとして活用することができます、また、Adobe Experience Manager で課題であった複雑なシステム構成やウェブサイトのパフォーマンスなどを容易に改善することができる等、新しいコンセプトの製品となっています。
しかし AEM Franklin をベースとした新しい製品を活用したウェブサイトへの移行となったため、今まで存在していた編集時の日本語の改行処理の機能がなくなってしまいました。このような状況の中で、この問題の解決のためにさまざまな手法を検討し、実装コストや運用コストなどを考慮した結果、サーバーサイドで分かち書きなどの前処理するのではなく、クライアントサイドだけで軽量に動作する BudouX がベストだという結論に至り、採用することとなりました。
それでも導入の際には 3 つ課題がありました。1 つ目は BudouX の日本語のデフォルト モデルはアドビのコンテンツを学習していません。特に「お、ご、などの尊敬語に弱い」、「デジタルエクスペリエンスプラットフォームなどの長いカタカナの複合名詞」は精度の面でやや不安があったわけです。そこで新たに adobe.com のデータをスクレイピングし学習させることでよりアドビのサイトにあったモデルを開発することができました。詳しい話はこちらの記事で書かれているので興味がある方はご覧ください。
2 つ目は禁則処理の問題です。禁則処理とは行頭や行末に特定の文字が来ないように文字の並びを調整する処理を指します。例えば、句読点は行頭には来ないようにするなどが挙げられます。BudouX は次の文字の間で区切るべきか否かの二値分類問題を考えています。その結果、かなり低確率ではありますが、周辺文字の状況によって句読点の前で文字が区切られてしまう例がわずかに見られました。我々が普段 HTML で文章を書いているときはブラウザが自動で日本語の禁則処理をしてくれるので問題ありませんが、BudouX では改行ポイントを <wbr> でコントロールしているので、例えば以下の画像のように行頭に疑問符(半角)が来てしまいます。この問題を解決するために、我々はルールベースの禁則処理を BudouX に追加することで禁則処理を実現しました。なお、この問題は現在 BudouX の GitHub にイシューとして登録しています。
3 つ目はウェブサイトのコンテンツの著者の期待通りに改行処理されていない場合にどうするか? BudouX は高い精度で読みやすい単位に改行処理を行ってくれます。しかし、軽量さやスピードを重視しているので、ときには著者が意図する挙動と違う出力をしてしまうことがありました。また、どれだけ高い精度のモデルを採用したとしても、完全自動では 100% 著者の意図通りの結果を出すことは不可能です。どうしてもコンテンツを運用していく中でここだけは間違えてほしくないという場面は存在するわけです。そこで我々は自動+マニュアルの微調整を可能にすることでこれを解決しました。 幸いなことに AEM Franklin にはオーサリング ツールである Google Docs と Microsoft Word のファイルに対してウェブサイトのページごと、またはすべてのページに細かいメタデータを追加する機能が備わっていました。この機能を活用することで、著者が期待するルールや設定を細かく追加できるようになりました。例えば以下のようなことが可能となっています。 " ご覧ください " というテキストがあったときに " ご " と " 覧ください " の間では改行できないようにする " カスタマージャーニーマップ " というテキストがあったときに " カスタマー " と " ジャーニーマップ " の間で改行できるようにする ページの一部分に BudouX を適用しないようにする BudouX に渡すパラメータを調整する この結果 BudouX のスマートな自動改行処理のベネフィットを受けつつ、著者が細かい微調整を加えることを可能にし、理想な運用体制を構築の実現に成功しました。また、現在では移行前の Adobe Experience Manager で管理されているページでも BudouX は活用されており、マニュアルで実施していた改行処理は自動化されています。 BudouX はその軽量さとパフォーマンスが売りです。Lighthouse のスコアへの影響も軽微なもので、adobe.com のパフォーマンス メトリクスをクリアしています。また、最近では finetune が可能になり個別のサイトのコンテンツにあったモデルをより簡単に開発できるようになりました。今後も BudouX の発展に期待しています。
3 つ目はウェブサイトのコンテンツの著者の期待通りに改行処理されていない場合にどうするか? BudouX は高い精度で読みやすい単位に改行処理を行ってくれます。しかし、軽量さやスピードを重視しているので、ときには著者が意図する挙動と違う出力をしてしまうことがありました。また、どれだけ高い精度のモデルを採用したとしても、完全自動では 100% 著者の意図通りの結果を出すことは不可能です。どうしてもコンテンツを運用していく中でここだけは間違えてほしくないという場面は存在するわけです。そこで我々は自動+マニュアルの微調整を可能にすることでこれを解決しました。
幸いなことに AEM Franklin にはオーサリング ツールである Google Docs と Microsoft Word のファイルに対してウェブサイトのページごと、またはすべてのページに細かいメタデータを追加する機能が備わっていました。この機能を活用することで、著者が期待するルールや設定を細かく追加できるようになりました。例えば以下のようなことが可能となっています。
この結果 BudouX のスマートな自動改行処理のベネフィットを受けつつ、著者が細かい微調整を加えることを可能にし、理想な運用体制を構築の実現に成功しました。また、現在では移行前の Adobe Experience Manager で管理されているページでも BudouX は活用されており、マニュアルで実施していた改行処理は自動化されています。
BudouX はその軽量さとパフォーマンスが売りです。Lighthouse のスコアへの影響も軽微なもので、adobe.com のパフォーマンス メトリクスをクリアしています。また、最近では finetune が可能になり個別のサイトのコンテンツにあったモデルをより簡単に開発できるようになりました。今後も BudouX の発展に期待しています。
Before
After
現在 BudouX は ICU (International Components for Unicode) の一部になっており、ウェブに限らずさまざまなプラットフォームで利用され始めています。Chrome 119 以降では lang 属性が ja で指定された要素について、CSS で word-break: auto-phrase と指定された部分が BudouX によって分節区切りで折り返されるようになります。Android の文節区切り機能も Android 14 以降では BudouX が使われるようになり、大幅なデータサイズ削減が実現します。さまざまなシーンで読みやすい日本語体験を提供すべく、BudouX はこれからも改善を続けていく予定です。
一方で、BudouX の機械学習モデルも完璧ではなく、うまく処理できないケースもあります。もし、望ましい結果が得られないケースがありましたら、ぜひ GitHub から Issue を立ててください。Pull Request も大歓迎です。皆さまからのフィードバックをお待ちしております。
Shuhei Iitsuka - Senior UX Engineer, Google Brand Studio APACTaketo Yoshida - Software Development Engineer, Adobe Japan R&D
今回は、Maps JavaScript API の読み込み方法に関する 3 つの大きな改善点をご紹介します。3 つの改善点とは、柔軟なライブラリ読み込み用の API、新しいインライン ブートストラップ ローダ、一連のパフォーマンスの向上です。
Maps JavaScript API は、API を読み込むときに開発者が指定して追加できるライブラリで構成されています。これらのライブラリは、ウェブサイト上に地図を表示する以外のことも行います。たとえば、開発者は Places API にアクセスするために、プレイス ライブラリを読み込むことができます。ただし、これらのライブラリの読み込みは柔軟性が低く、これまでは Maps JavaScript API の初期読み込み時にしか指定できなかったため(libraries=places URL パラメータを介するなど)、起動時の読み込みに時間がかかっていました。
そこで、今回、ライブラリを動的にインポートするための API を提供することになりました。たとえば、次のようなものです。
await google.maps.importLibrary("places");
このように定義することで、ユーザーが必要であると判断したときにプレイス ライブラリが読み込みまれるように変更されます。たとえば、ユーザーのアクションの後に、場所に関する情報が必要になった場合です。さらに良いことに、以下のコマンドを介して google.maps.places.Place のような長い名前空間の使用を避けることもできるようになりました。
const {Place} = await google.maps.importLibrary("places");
ただし、google.maps.places 名前空間は引き続き設定されます。
また、複数のライブラリを並行してインポートできるようにもなりました。
const [placesLibrary, geocodingLibrary] = await Promise.all([
google.maps.importLibrary("places"),
google.maps.importLibrary("geocoding")
]);
さらに、ドキュメントに書かれている google.maps.importLibrary() を介して Maps JavaScript API のすべてのクラスを利用できるようにしました。たとえば、ユーザーは次のコマンドを介して StreetViewPanorama クラスにアクセスできます。
const {StreetViewPanorama} = await google.maps.importLibrary("streetView");
これで、Maps JavaScript API の依存関係を読み込むタイミングをより正確かつ効率的に制御できるようになります。
もう一つの問題は、Maps JavaScript API <script> ローダを使用するには、グローバルに定義された関数に対するコールバック パラメータを定義しなければならないことです。現在、開発者の皆様には、API の読み込みを待たずにすぐに google.maps.importLibrary() を使用できる新しいインライン ブートストラップ ローダの使用をおすすめしています。これにより、面倒なグローバル コールバックを回避し、Promises または async/await を使用して、Maps JavaScript API の準備が完了するタイミングを追跡することもできます。
URL で <script> タグを指定する代わりに、ほんの小さなインライン JavaScript である 新しいインライン ブートストラップ ローダを含めることができます。このコードは構成パラメータを受け取り、ブートストラップ URL を構築して、すぐに使用を開始できるように google.maps.importLibrary() を定義します。最初に google.maps.importLibrary() が呼び出されるまで、Maps JavaScript API のどの部分も読み込まれません。この新しいインライン ブートストラップ ローダはページごとに複数回使用することもできます。なお、最初の構成のみが使用されます。また、新しいローダを使用すると、Maps JavaScript API の読み込み時に問題が発生した場合(古いコールバック メカニズムがではサポートしてされていなかったもの)、google.maps.importLibrary() Promise によって適切に拒否されます。
今年は、エンドユーザーの読み込み時間を自動的に短縮できるように、Maps JavaScript API にもいくつかの変更を加えました。静的 JavaScript ファイルの Brotli 圧縮を有効にし、画面外のマップに対して自動遅延読み込みを導入しました。また、今年の後半には、より新しいコードの出力ができるように JavaScript をアップグレードし、より多くのブラウザの組み込み機能を利用してファイルサイズを削減する予定です。
多くの開発者から、なぜ npm 経由で配布しないのかと質問されることがあります。Google は API にアクセスするためのオプションを定期的に評価しており、ほとんどの JS パッケージが npm 経由で配布されている世界では <script> タグが時代遅れに見える可能性があることを十分に認識しています。
Google が得た重要なインサイトに、Maps JavaScript API を採用している多くのウェブサイト(大小問わず)は積極的にメンテナンスされていないというものがあり、Google はこうしたウェブサイトの機能を維持できるようにできる限りのことを行いたいと考えています。UI レンダリングを構成するコードはかなり複雑で、内部で多数のバックエンド サービスを利用します。長年にわたってブラウザやバックエンド サービスに無数の変更が加えられたため、正しい動作を続けるためには、Maps JavaScript API の内部動作を更新する必要がありました。アクセシビリティ、プライバシー、セキュリティに関する重要な更新もありました。また、各ウェブサイトは API を Google から直接読み込むため、こうした更新をすべて自動的に取得できています。積極的に管理されているウェブサイトであっても、Maps JavaScript API を使用する価値の一つは、この種の変更によって引き起こされる予期せぬ破損の多く(およびその結果として生じる、修正を見つけてデプロイするというストレスのかかる作業)を回避できることです。これは、依存関係の管理に取り組む代わりに、自分自身の目標に集中してより多くの時間を費やすことができることを意味します。
<script> の読み込みと npm との間のギャップを埋められるものを探している開発者のために、Google Maps Platform は @googlemaps/js-api-loader パッケージを提供しています。新しい google.maps.importLibrary() は、Loader.importLibrary() を介して js-api-loader とともに使用することもできます。また、Maps JavaScript API の新しいリリースを採用する時期をより細かくコントロールしたいと考えている開発者の方は、利用可能なオプションをご確認ください。Maps JavaScript API の各バージョンは、1 年間利用することができます。
Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。
Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer
Google Cloud は、日本時間 11 月 15 日(水)~ 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。今日は、ブレイクアウト セッションについてご紹介します。Next Tokyo では、すべてのブレイクアウト セッションにおいて事前登録が必要です。まずは、こちらから Next へのイベント登録をして、セッション登録へお進みください。
9 つのジャンルに分けて、アメリカの Next で発表された製品の最新情報や、お客様によるクラウド活用事例のセッションをライブでお届けします。スピーカーに直接質問ができる Ask the Speaker コーナーも用意しますので、ぜひ現地でご聴講ください。
人気のセッション、ハンズオン セッションは即時に満席になる場合があります。気になるセッションへは、お早めにご登録されることをお勧めします。
セッション情報の詳細は、以下リンクからチェックできます。
※ Next Tokyo のブレイクアウト セッションのライブ配信はありません。
編集者注 : この投稿は、世界規模で開催されるインスピレーション、イノベーション、教育に関する展示会「Next '23」から Google Maps Platform に関する最新のニュースをお伝えするシリーズの一部です。Google Maps Platform の新機能の詳細は、8 月 30 日の午前 11 時から 11 時 45 分(米国太平洋夏時間)に行われた「Google Maps Platform の新機能」のセッションでもご覧いただけます。
環境に関して言えば、今は、世代の問題点を明確にし、来るべき世代に影響を与えるべき重要な時期です。環境への影響を軽減する努力を続けることが、これまで以上に重要になっています。私たちが力を合わせれば、より多くの成果が得られます。Google は長年にわたり、地図にできることを進化させてきました。現在は、デベロッパーが Google Maps Platform でできることを拡大し、サステナブルな未来への道を開くエクスペリエンスを構築しています。このたび、Google Maps Platform は、Google Cloud Next '23 に先立ち、新しい Environment API 群(Solar、Air Quality、Pollen)を公開しました。これらの API を使用すると、デベロッパーは絶えず変化する世界をより深く理解できるようになるため、新しいサステナビリティ ツールを作成して、行動につながる分析情報を共有し、環境の新しい現実に適応するよう人々に働きかけられるようになります。
Air Quality API と Pollen API を使用すると、企業は気候変動と環境の変化についての理解を深めることができます。これにより、情報に基づいた選択や、改革の推奨、影響を軽減するための革新的なエクスペリエンスの構築に必要な情報が得られます。また、この情報を利用して、ユーザーがより多くの情報に基づいた意思決定を行えるようにすることもできます。
Air Quality API を使用すると、企業は信頼性の高い大気質データにアクセスして、ヒートマップで汚染を可視化できます。また、汚染物質の詳細情報と推奨される対策を対象ユーザーに提供することもできます。
大気汚染の高い流動性を考慮するため、Google は、政府の観測所、低コストのセンサー、気象データ、衛星、土地被覆、リアルタイムの交通情報など、複数のデータソースからの情報を組み合わせています。この手法では、1 つのデータソースが利用できなくなった場合でも情報を収集できます。Google は、毎時数テラバイトのデータを検証、整理し、地域に固有の信頼性の高い大気質情報を提供します。Air Quality API の詳細については、お知らせのブログ投稿をご覧ください。
Pollen API では、世界中の最も一般的なアレルゲンに関する最新の花粉情報にアクセスできます。Pollen API を使用することで、アレルギーの原因となる花粉にさらされるリスクを抑え、情報に基づいた意思決定を毎日適切に行えるようになります。また、気候が変化するなかで、より長く厳しくなるアレルギーの季節に適応できるようになります。この API は、局所的な花粉の飛散数や植物アレルゲンに関する詳細情報を提供します。ヒートマップによる可視化ができるほか、アレルギー患者が花粉への曝露を最小限にするための実用的なヒントも得られます。花粉と気候の関係を研究している組織や、ユーザーがより健康的な意思決定を行えるように支援したいと考えている企業は、データに基づいた分析情報が得られます。
Pollen API は、世界 65 か国以上の 1 平方キロメートル グリッドにおける花粉の季節性と 1 日あたりの量を計算するモデルを利用しています。また、最大 5 日間の予測、3 種類の植物、15 種類の植物種に対応します。このモデルは、土地被覆、気候データ、植物ごとの年間花粉生成量などのさまざまな入力情報を使用して、地域の花粉飛散量と曝露リスクに関する信頼性の高い予測値を提示します。Pollen API の詳細については、お知らせのブログ投稿をご覧ください。
Google Maps Platform を通じて、環境に関するその他の情報をデベロッパーに提供します。Google は、新しい環境データや、Photorealistic 3D Tiles(間もなくプレビュー版に移行)や Aerial View(一般提供中)などの臨場感あふれるエクスペリエンスを提供するプロダクトへのアクセスを可能にすることで、気候変動に対する革新的なソリューションをサポートする役割を果たしていきたいと考えています。環境データを 3D 画像に重ねて大気質や花粉の飛散量を可視化することは、これらのプロダクトが連携できる方法の一つにすぎません。皆で協力することで、より健康な地球への道を描くことができます。
Google の新しい Environment API 群の詳細については、8 月 30 日の午前 11 時から 11 時 45 分(米国太平洋夏時間)に行われた「Google Maps Platform の新機能」のセッションでもご覧いただけます。