この記事は Josh Radcliff による Google Ads Blog の記事 "Google Ads API support for importing and editing conversions from Google Analytics" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

変更点
2023 年 10 月 9 日以降、Google Ads API で、Google アナリティクス 4(GA4)プロパティからインポートした 
この記事は Josh Radcliff による Google Ads Blog の記事 "Google Ads API support for importing and editing conversions from Google Analytics" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

変更点
2023 年 10 月 9 日以降、Google Ads API で、Google アナリティクス 4(GA4)プロパティからインポートした ConversionAction について、次の種類の変更操作が許可されるようになりました。
  1. statusprimary_for_goalcategorynamevalue_settings を変更する update
  2. コンバージョン アクションを削除する remove
これが重要な理由
Google アナリティクスからインポートするコンバージョンは、多くの Google 広告ユーザーにとって、入札やレポートの重要な要素になっています。これまでも、Google Analytics Admin API を使って Google アナリティクスと広告アカウントをリンクすることはできました。しかし、次に示すリンクプロセスのその他の手順を、Google Ads API から完了することはできませんでした。
  • status フィールドを HIDDEN から ENABLED に変更し、GA4 プロパティのコンバージョンを Google 広告アカウントにインポートする操作。
  • インポートしたコンバージョンの primary_for_goal フィールドと category フィールドを設定し、Google 広告の入札とレポートに与える効果を指定する操作
今回の変更により、両方の操作が Google Ads API でサポートされ、API ベースのソリューションだけで Google アナリティクス 4 プロパティを Google 広告アカウントにリンクできるようになります。

適切なコンバージョン目標を設定するために必要な属性に加えて、インポートした GA4 の ConversionAction の次の属性も変更できます。
  • name
  • value_settings
インポートした GA4 の ConversionAction のその他の属性を変更するリクエストは、今後も失敗します。また、ユニバーサル アナリティクス(UA)プロパティからインポートした ConversionAction を remove または update するリクエストも同様です。

対応が必要になる点
Google Ads API の連携コードにおいて、インポートした GA4 コンバージョンを update または remove しようとしたときに、ConversionActionOperation が MUTATE_NOT_ALLOWED エラーで拒否されることを前提としている場合は、変更してください。たとえば、コンバージョン アクションがインポートした GA4 コンバージョンであるかどうかを検出するためにこの動作を利用している場合は、ConversionAction の type が GOOGLE_ANALYTICS_4_CUSTOM か GOOGLE_ANALYTICS_4_PURCHASE であることを確認するように変更します。

また、UI を使って Google アナリティクスを Google 広告アカウントにリンクしている場合は、API ベースのソリューションに切り替えることが適切かどうかを検討してください。

サポートの利用方法
ご質問やサポートが必要なことがありましたら、Google Ads API サポートページでオプションをご確認ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事は Mattia Tommasone による Google Ads Blog の記事 "Changes in dynamic ad targets reporting" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2023 年 9 月 20 日より、Google 広告の動的広告ターゲット レポートのバックエンド改善のロールアウトが開始されました。これにより、削除されてから除外条件として再追加された条件が含まれるようになります。

変更前は、ウェブページ条件のレポートクエリ(つまり、 webpage_view リソースに対するクエリ)で過去のデータをリクエストした場合、削除されてから除外条件として再追加された条件は含まれませんでした。

そのため、この条件によって指標が生成された時間帯(つまり、この条件が   negative = false
この記事は Mattia Tommasone による Google Ads Blog の記事 "Changes in dynamic ad targets reporting" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2023 年 9 月 20 日より、Google 広告の動的広告ターゲット レポートのバックエンド改善のロールアウトが開始されました。これにより、削除されてから除外条件として再追加された条件が含まれるようになります。

変更前は、ウェブページ条件のレポートクエリ(つまり、webpage_view リソースに対するクエリ)で過去のデータをリクエストした場合、削除されてから除外条件として再追加された条件は含まれませんでした。

そのため、この条件によって指標が生成された時間帯(つまり、この条件が  negative = false  だったときにターゲットになっていた時間帯)のレポートが、期待と異なる値になっていました。これは、レポートクエリの結果で、その時間帯に生成された指標が返されなかったためです。

今回の変更は、除外でない条件が削除されてから除外条件として再追加された場合にのみ影響します。他のすべての条件は、変更前と同じ値を返します。

変更のリリース後は、削除された条件と、除外条件として再追加された条件の両方が考慮された条件指標となります。

必要なアクション

GAQL クエリを変更する必要はありません。ただし、正しい値が報告されるようになるため、変更後の条件レポートに差異が生じる場合があります。

質問や懸念事項がある方は、遠慮なくフォーラムからご連絡ください。


Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

DevFest は、Google Developer Group(GDG)コミュニティによって世界各地で開かれるデベロッパー向けイベントです。参加者は Android、Firebase、Google Cloud Platform、TensorFlow、Web などの Google のデベロッパー テクノロジーに関する技術情報、知識やアイデアを共有できます。

それぞれの DevFest は、主催するコミュニティとその地域のニーズに沿ったユニークな内容となり、日本では下記のイベントが現時点では企画がされています。情報は追加、更新されていきますので、ブログ記事やツイッターをご確認ください。

■ DevFest Shikoku 2023 うどん県 with えれくら

    日時 : 2023 年 10 月 29 日(日) 13:00~17:00
    場所 : e-とぴあ・かがわ BBスクエア Zoom)
 参加費 : 無料
 定員 :  0 名
 申込サイト : こちら
 主催 : GDG Shikoku、えれくら
 内容 : IoT 


■ DevFest Shikoku 2023 in 徳島

    日時 : 2023 年 11 月 3 日(金) 
    場所 : 
 参加費 : 
 定員 :  
 申込サイト :
 主催 : GDG Shikoku
 内容 : 


■ DevFest Nagoya 2023

    日時 : 2023 年 11 月 24 日(金) 18:30~
    場所 : マネーフォアード 東海支社、名古屋開発拠点
    参加費 : 無料
    定員 : 一般参加(19 名)
         LT 参加(6 名)
    申込サイト : こちら
    主催 : GDG Nagoya
    内容 : LT のテーマは『ことしの頑張り共有しましょう!』


■ DevFest: Kobe Developer Day

    日時 : 2023 年 12 月 16 日(土) 18:30~
    場所 : 会場調整中
 参加費 : 無料
 定員 :  20 名(現地参加)
 申込サイト : こちら
 主催 : GDG Kobe
 内容 : 復活の GDG Kobe! 記念すべき今年の年末イベント、DevFest Kobe Developer Day を開催いたします!噂のシリコンバレー流エンジニア教育から企業での生成 AI 活用事例まで、幅広くテクノロジーを取り扱ったお話を聞いていただける予定です。


■ DevFest Shikoku 2023 in 高松

    日時 : 2023 年 12 月 17 日(日) 
    場所 : 
 参加費 : 
 定員 :  
 申込サイト :
 主催 : GDG Shikoku
 内容 : 


■ GDG DevFest Tokyo 2023

    日時 : 2023 年 12 月 9 日(土)10:00~19:00
    場所 : ハイブリッド(Google 六本木オフィス& YouTube Live)
    参加費 : 無料
 定員 : 会場オフライン・一般参加(300 名)
    LT 参加(10 名)
    オンライン参加は人数制限無し
 申込サイト : こちら
 主催 : GDG Tokyo
 内容 : Android, Chrome, ML など幅広くセッションを予定中



※ リンクがない箇所は、情報が入り次第更新していきます。

皆さまのご参加を心よりお待ちしております。


Posted by Reisa Matsuda - Developer Relations Team

この記事は Anash P. Oommen による Google Ads Blog の記事 "Developer token-less experience for Google Ads API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

現在、デベロッパー トークンなしで API を呼び出すことができる Google Ads API パイロット プログラムの早期登録を受け付けています。API アクセスレベルは、Google Cloud プロジェクト ID と Google Cloud の組織によって識別されます。

この記事は Anash P. Oommen による Google Ads Blog の記事 "Developer token-less experience for Google Ads API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

現在、デベロッパー トークンなしで API を呼び出すことができる Google Ads API パイロット プログラムの早期登録を受け付けています。API アクセスレベルは、Google Cloud プロジェクト ID と Google Cloud の組織によって識別されます。

このパイロット プログラムには、次のようなメリットがあります。

  • デベロッパー トークンを保護する必要がなくなる
  • Google Cloud コンソール API のクォータ管理ツールとの連携が強化される

この機能の詳細については、デベロッパー ドキュメントをご覧ください。

ご質問はフォーラムからご連絡ください。


Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

Google Cloud は、日本時間 11 月 15 日(水)〜 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。イベント当日は、会場にて様々なプログラムを用意しておりますので、ぜひ会場にお越しください。登録がまだの方は、事前に こちらからしておきましょう。

☁︎ 基調講演

各日とも 10 時よりスタートいたします。

基調講演へご来場の先着特典として Google Cloud オリジナル クッションを進呈します。(なくなり次第終了)

オリジナル音声での聴講はメイン会場だけで、サテライト会場は日本語訳の音声のみとなります。

両日とも大変混みあいます。開場は 9:00 からとなりますので、早めの入場にご協力ください。

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」ブースも設けております。この機会をご活用ください。

☁︎ Expo、Innovators Hive 

実際に触れるライブデモ、エキスパートとの交流やライトニング トークなど、会場でしか体験できない企画を多数ご用意しています。スキルアップやコミュニティと繋がるためにも、この機会をご活用いただき、会場にて直接体験してください。

★ 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


※1 賞品数には限りがありますことご了承ください。また、特典のご利用には制限が適用されます。


Google Cloud は、日本時間 11 月 15 日(水)〜 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。

Google Cloud の最新製品やソリューションを実際に体験したい方は、本日ご紹介するブースや Innovators Hive の情報のぜひチェックしてください。気になるブースやコンテンツがありましたら、忘れずイベント登録をしておきましょう。


☁︎ Expo ブース☁︎

AI Innovation、Modern Infrastructure、Data、Security、Google Workspace、の 5 つのエリアでは 22 の Google Cloud デモブースに加え、カプコン、富士フイルムビジネスイノベーション富士フィルム、明治クッカーによる 3 つのカスタマーブースをご用意しております。


Google Cloud は、日本時間 11 月 15 日(水)〜 16 日(木)の 2 日間にわたり、旗艦イベント Google Cloud Next Tokyo '23 を東京ビッグサイトにて開催します。

Google Cloud の最新製品やソリューションを実際に体験したい方は、本日ご紹介するブースや Innovators Hive の情報のぜひチェックしてください。気になるブースやコンテンツがありましたら、忘れずイベント登録をしておきましょう。


☁︎ Expo ブース☁︎

AI Innovation、Modern Infrastructure、Data、Security、Google Workspace、の 5 つのエリアでは 22 の Google Cloud デモブースに加え、カプコン、富士フイルムビジネスイノベーション富士フィルム、明治クッカーによる 3 つのカスタマーブースをご用意しております。

Google Cloud の最新のプロダクトやソリューションを、会場でご体験ください。>> 詳細はこちら


☁︎ スポンサーブース ☁︎

Google Cloud パートナーによるスポンサー展示ブースでは、Google Cloud(GCP)、Google Workspace のデモや導入事例、そして導入支援に関するご相談やクラウド全般に関するご質問をお待ちしています。

ぜひ、スポンサーブースにお越しください。>> 詳細はこちら


☁︎ Innovators Hive ☁︎

主にデベロッパーやエンジニア向けのゾーンです。デモ、ハンズオン、ライトニング トークやエキスパートとの交流を通して、Google Cloud のスキルアップをしたり、コミュニティと繋がることができます。また、スタートアップ向けのコンテンツ、 Google Maps Platform、そしてイノベーションの源泉となるカルチャーについてもご紹介いたします。>> 詳細はこちら


☁︎開催概要

名称 : 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 

BudouX は、ウェブをはじめさまざまなプラットフォームで読みやすいテキスト折り返し(改行)を実現するための、軽量な分かち書き器です。オープンソース プロジェクトとして GitHub で公開されており、現時点では日本語と中国語(簡体字、繁体字)をサポートしています。2016 年に公開した Budou の後継となるものですが、Budou とは違いサードパーティの API や分かち書きライブラリに依存せずに動作します。分かち書きのための機械学習モデルを含めて 20 KB 程度に収まるため、ウェブブラウザに配信する JavaScript ファイルに同梱することも可能です。

単語と単語の間をスペースで空けて書く英語などの言語と異なり、日本語や中国語をはじめとするアジア圏の一部の言語は分かち書きをしません。そのため、ウェブサイトやモバイル アプリケーションで日本語や中国語を表示する際に、スクリーンサイズによって好ましくない折り返しが起きてしまうことがあります。このような問題の解決策として、改行要素や改行可能要素を挿入する、特定の要素の折り返しを禁止するなどの方法が考えられます。しかし、そのいずれも対象言語に精通した人物による手作業が必要になるため、大量のテキストがある場合に対応するのは困難です。

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 の利用方法

現在、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 をご覧ください。

Adobe.com での活用ストーリー

ここからは、BudouX をご活用いただいているアドビの Japan R&D に所属する Software Development Engineer の吉田さんに活用の経緯などをお伺いしました。

どこで BudouX を活用している?

自社のオウンドメディアである adobe.com の日本語サイトにて BudouX を活用しています。適切な改行処理を行うことでデバイスサイズに限らずに読みやすい日本語になるように工夫しています。

BudouX を活用しているページの例


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 にイシューとして登録しています。

3 つ目はウェブサイトのコンテンツの著者の期待通りに改行処理されていない場合にどうするか? BudouX は高い精度で読みやすい単位に改行処理を行ってくれます。しかし、軽量さやスピードを重視しているので、ときには著者が意図する挙動と違う出力をしてしまうことがありました。また、どれだけ高い精度のモデルを採用したとしても、完全自動では 100% 著者の意図通りの結果を出すことは不可能です。どうしてもコンテンツを運用していく中でここだけは間違えてほしくないという場面は存在するわけです。そこで我々は自動+マニュアルの微調整を可能にすることでこれを解決しました。

幸いなことに AEM Franklin にはオーサリング ツールである Google Docs と Microsoft Word のファイルに対してウェブサイトのページごと、またはすべてのページに細かいメタデータを追加する機能が備わっていました。この機能を活用することで、著者が期待するルールや設定を細かく追加できるようになりました。例えば以下のようなことが可能となっています。

  • " ご覧ください " というテキストがあったときに " ご " と " 覧ください " の間では改行できないようにする
  • " カスタマージャーニーマップ " というテキストがあったときに " カスタマー " と " ジャーニーマップ " の間で改行できるようにする
  • ページの一部分に BudouX を適用しないようにする
  • BudouX に渡すパラメータを調整する

この結果 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 APAC
Taketo Yoshida - Software Development Engineer, Adobe Japan R&D