自己流！Databricksノートブックを効率よく翻訳・理解する方法

# はじめに

株式会社NTTデータ [デジタルサクセスソリューション事業部](https://enterprise-aiiot.nttdata.com/) の [nttd-saitouyun](https://qiita.com/nttd-saitouyun) です。

立場上、Databricksの勉強方法についてよく質問を受けます。

**Databricks には以下のような無料で自学習できるコンテンツが豊富にある**ので、勉強しようと思ったらいくらでもできます。

- [デモ／ソリューションアクセラレータ](https://www.databricks.com/jp/resources/demos)
- [トレーニングサイト](https://www.databricks.com/jp/learn/training/login)

<br>

しかし、**多くのコンテンツは英語である**ため、ややハードルがあるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/f2863153-3f7f-7284-5fc8-ed4bab7d25c7.png)

大体はこうなって音信不通になってしまいます😭

ということで、こうならないようにするにはどうすれば良いか考えてみました！



# Playground を使ってコンテンツ（ノートブック）を効率よく翻訳・理解する


## Playground とは
コンテンツはノートブックに**マークダウンで書かれた英語**と**プログラミング言語**が記載されているので、**LLMを使えば効率よく翻訳したり、解説をしてもらうことができます**。


Databricks には、「Playground」というLLMと対話する機能が備わっていますので活用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/d2668881-d5b5-a6d4-c21f-64be23babff8.png)

設定方法は以下の記事を参照してください。簡単に設定ができます。

1. [Meta Llama 3.1 on Databricks を Mosaic AI Playground で試してみた（動画あり）](https://qiita.com/nttd-saitouyun/items/f6fb3c023358340dcd21)
→ 「Llama 3.1 405B」など Databricks がホストするLLMを使う場合（設定なし）
1. [Databricks の Mosaic AI Model Serving Endpoint から Amazon Bedrock の LLM を利用する](https://qiita.com/nttd-saitouyun/items/4fc9bde0b338cb180e02)
→ 「Amazon Bedrock / Claude 3.5 Sonnet」など外部のLLMを使う場合（GUIで少し設定が必要）

:::note warn
1.の方法は2024年8月15日時点で日本リージョンではまだ利用できないのでご注意ください。
:::

今回は、2.の方法で「Amazon Bedrock / Claude 3.5 Sonnet」を使います。


## 事前準備

Playground で以下ように設定しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/50e00aa2-2f34-82ac-38bc-1e5aafaa0160.png)

システムプロンプトにはそれぞれ以下のように入れておきます。もちろん、カスタマイズしてもOKです。

```:翻訳
以下はマークダウンで記載された文書です。
英語の部分を日本語に翻訳して、マークダウン記法のまま表示してください。
```

```:コードの説明
コードを解説してください。
```

## 翻訳
こちらのマークダウンで記載されたセルを翻訳します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/c8bc2645-2109-8dd3-e900-31802d499c9d.png)


セルを開いてマークダウンのテキストをコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/2e0fa1e6-3dd0-4bc0-3942-e76bb20ecde2.png)


翻訳側のLLMにそのままペーストした内容を渡します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/60375f11-8c5d-9f3f-4c22-80cb8123bf5a.png)


回答はマークダウンで返ってきます。「応答をコピー」ボタンからマークダウン記法の状態でコピーができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/8bbcf2d2-687c-e171-75ef-26b326634f27.png)


ノートブックに新規のテキストセルを作成し、コピーした内容を貼り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/43a9d9de-6536-2e36-78e7-26814eb2fd77.png)


完成です！見出しやリンクなども同じ状態で翻訳できています。日本語だと読みやすさが段違いですね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/8164e1b1-5211-c347-6647-046f02d85807.png)

英語が見たくない人は、元の英語のセルで「セルを折りたたむ」を選択するとセルを消さずに非表示にできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/ece2edf1-81c1-0660-7a2d-2afe7a16892b.png)


マークダウンが長い場合は回答が途切れるケースがありますが、続きを出力するように促せば回答してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/2cbe360a-3c77-27ef-af11-15e23816a3a9.png)



## コードの説明
やり方は翻訳と同じです。コード解説側のLLMにコードをコピペして渡すだけです。
ステップバイステップで解説をしてくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/54496f43-2fa3-de4c-a7ef-36f059221667.png)


こちらも回答はマークダウンで返ってくるので「応答をコピー」ボタンで回答をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/5efb6a93-89a8-c59b-3f22-de5ce5ce2e14.png)

こちらも、ノートブックに新規のテキストセルを作成し、コピーした内容を貼り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/04681e9d-a54a-e47a-f39f-625265d232ab.png)

LLMが作ってくれた解説をマークダウンで見やすく表示できます。


## まとめ

**この作業を繰り返すだけで、あっという間に教科書のようなコンテンツが量産できます。**

気持ちの問題ですが、日本語で記載されているだけでだいぶ取っ付きやすくなります。（内容は変わってはいませんけど）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118781/da87b750-3309-7d07-96dc-25c2bde8f4ce.png)


HTMLに出力して同僚に共有するのもいいと思います！


# おわりに
これまで研修やデモのために、自力でコードにせっせとコメントを入れて、翻訳サイトでマークダウンの英語を翻訳しようとしたら、関係のないところまで翻訳されてマークダウンが崩れて・・・なんてことを繰り返してました。今となっては懐かしいです。

本書の内容はお察しの通り、Databricksでなくてもできますが、**LLMの出力であるマークダウンをノートブックでキレイに保存できる点**、**Databricks だけ完結する点（しかもブラウザのタブ２つで）** が個人的に気に入ったので記事にしてみました。

**英語がボトルネックで学習が妨げられるのはもったいない**ので、ぜひテクノロジーを活用しましょう！




# 仲間募集
NTTデータ デザイン＆テクノロジーコンサルティング事業本部 では、以下の職種を募集しています。

<details><summary> 1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア) </summary>
クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。

https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary> 2. データサイエンス領域（データサイエンティスト／データアナリスト） </summary>
データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。

https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary> 3.お客様のAI活用の成功を推進するAIサクセスマネージャー </summary>
DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。

https://nttdata.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary> 4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》 </summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata.jposting.net/u/job.phtml?job_code=898

</details>

# ソリューション紹介
<details><summary> Trusted Data Foundationについて </summary>
～データ資産を分析活用するための環境をオールインワンで提供するソリューション～

https://enterprise-aiiot.nttdata.com/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</details>

<details><summary> NTTデータとDatabricksについて </summary>
NTTデータは、お客様企業のデジタル変革・DXの成功に向けて、「databricks」のソリューションの提供に加え、情報活用戦略の立案から、AI技術の活用も含めたアナリティクス、分析基盤構築・運用、分析業務のアウトソースまで、ワンストップの支援を提供いたします。

 https://enterprise-aiiot.nttdata.com/service/databricks

</details>

<details><summary> TDF-AM（Trusted Data Foundation - Analytics Managed Service）について </summary>
～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～

https://enterprise-aiiot.nttdata.com/service/tdf/tdf_am
TDF-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</details>

</details>

<details><summary> NTTデータとSnowflakeについて </summary>
NTTデータでは、Snowflake Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Snowflake」の導入・構築、および活用支援を開始しています。
NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Snowflakeは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://enterprise-aiiot.nttdata.com/service/snowflake

</details>

</details>

<details><summary> NTTデータとInformaticaについて </summary>
データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。

https://enterprise-aiiot.nttdata.com/service/informatica

</details>

</details>

<details><summary> NTTデータとTableauについて </summary>
ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。

https://enterprise-aiiot.nttdata.com/service/tableau

</details>

</details>

<details><summary> NTTデータとAlteryxについて </summary>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。
Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://enterprise-aiiot.nttdata.com/service/alteryx

</details>

</details>

<details><summary> NTTデータとDataRobotについて </summary>
DataRobotは、包括的なAIライフサイクルプラットフォームです。
NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://enterprise-aiiot.nttdata.com/service/datarobot

</details>