Google スプレッドシート、Gmail、Google ドライブで Duet AI を使用する方法
Google の Duet AI 機能は、データを要約して整理するために Google スプレッドシートでも利用できます。これを有効にして使用する方法は次のとおりです。
正規表現 (regex) を寄り目で書くことにうんざりしていませんか? 正規表現プログラミングは強力ですが、習得するのが大変であることは周知の事実です。幸いなことに、 ChatGPTのような AI ツールを使用すると、プロセスを大幅に簡素化できます。
ChatGPT は人間のようなテキストの生成に優れており、正規表現パターンの作成、テスト、トラブルシューティングを簡単に行うことができます。言語モデルは、熟練したプログラマーと同じように正規表現を理解できます。
この記事では、この新しいテクノロジーを使用して正規表現を使用するプロセスを簡素化および強化し、開発者にとってよりアクセスしやすく効率的なものにする方法を検討します。また、正規表現に ChatGPT を使用する場合の制限と課題についても検討します。
さあ行こう!
目次
ChatGPT を正規表現に使用する方法
ChatGPT は、 OpenAI によって開発され、 2022 年 11 月に一般公開された高度な AI 言語モデルです。
これは、コンテンツ生成、質問応答、さまざまなプログラミング タスクの支援など、幅広いアプリケーションに役立つツールです。
ChatGPT の自然言語処理機能を活用して、正規表現の操作や最適化などの複雑なタスクを簡素化できます。小数点の位置、必要な文字クラス、使用する置換演算、出力への応答のタイプなど、あらゆる種類のパラメータを指定できます。
このセクションでは、パターンの生成からテスト、検証、最適化まで、さまざまな正規表現タスクに ChatGPT を使用するプロセスを説明します。正規表現のニーズに合わせて ChatGPT の機能を効果的に活用するには、次の手順に従ってください。
ステップ 1. RegEx 要件の説明
まず、必要な出力について明確かつ具体的な説明を提供します。
可能であれば、ChatGPT が要件をよりよく理解できるように、必要な一致と不一致の両方の例を含めてください。
例: 「電子メール アドレスに一致する式を生成します。結果は、「[email protected]」および「[email protected]」には一致する必要がありますが、「[email protected]」または「[email protected]」には一致しません。」
ステップ 2. 正規表現パターンを生成する
Chat GPT はリクエストを処理し、説明に基づいて正規表現を出力します。
提供された結果を注意深く検討して、要件を満たしていることを確認することが重要です。
例: ChatGPT の応答: 「電子メール アドレスの式は次のとおりです: ^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,})+$」
ステップ 3. 出力のテストと検証
生成された式の精度と信頼性を確認するには、肯定的な (一致する) ケースと否定的な (一致しない) ケースの両方を含む、包括的な例のセットに対してテストします。
ご覧のとおり、Chat GPT を使用して正規表現パターンを生成するのは非常に簡単です。幅広い入力形式に一致する正規表現パターンを迅速かつ簡単に生成できます。
複雑な構文や複雑な正規表現の定式化に苦労する時代は終わりました。Chat GPT に希望の条件を明確かつ正確に説明するだけで、その魔法が機能するのを観察できます。
興味をそそられましたか? 読み続けて、正規表現のニーズに合わせて ChatGPT の機能を活用することがいかに簡単で効果的であるかを示すさまざまなプロンプトの例を調べてください。
7 正規表現パターンに対する ChatGPT プロンプトの例
Chat GPT を使用して正規表現を作成する方法を説明したので、ChatGPT に要求した入力の例を見てみましょう。
優れたプロンプトの 7 つの例を紹介し、さまざまなフォーマットやユースケースにわたる多様な技術的タスクや単純なことを処理する AI チャット ボットの多用途性を示します。
例 1 : 電話番号の正規表現
プロンプト: 「市外局番を含む米国の有効な電話番号に一致する正規表現を作成します。次の数字形式の番号と一致する必要があります: (123) 456-7890、123-456-7890、および 123.456.7890 (1234567890 または 1234-567-890 ではありません)。
結果: `^(?(d{3}))?[-. ]?(d{3})[-. ]?(d{4})$`
例 2: URL の正規表現
プロンプト:「HTTP プロトコルと HTTPS プロトコルの両方を含む、URL に一致する正規表現を作成します。「 https://www.example.com」や「http://example.org 」などのすべての URL に一致する必要がありますが、「ftp://example.net」や「www.example.com」には一致しません。」
結果: `^(https?://)?([da-z.-]+).([az.]{2,6})([/w .-]*)*/?$`
例 3 : 日付抽出の正規表現
プロンプト:「テキストから「YYYY-MM-DD」形式で日付を抽出するための正規表現を指定します。この数字は、「2023-05-04」や「2021-12-31」などの日付と一致する必要がありますが、「05-04-2023」や「2023/05/04」とは一致しません。」
結果: `^(d{4})-(d{2})-(d{2})$`
例 4 : IPv4 アドレス検証の正規表現
プロンプト:「IPv4 アドレスを検証するための正規表現を作成します。この数字は、「192.168.1.1」や「8.8.8.8」などのアドレスと一致する必要がありますが、「256.0.0.0」や「192.168.1.256」とは一致しません。」
結果: `^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).{3} (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`
例 5 : クレジット カード番号照合の正規表現
プロンプト:「Visa、Mastercard、American Express のクレジット カード番号に一致する式を作成してください。文字クラス「4111 1111 1111 1111」、「5555 5555 5555 4444」、および「3782 822463 10005」の数字と一致する必要がありますが、「1234 5678 9012 3456」とは一致しません。」
結果: `^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][ 0-9]{13})$`
例 6: SS 番号を照合するための正規表現
プロンプト:「文字クラス 'XXX-XX-XXXX' の社会保障番号 (SSN) に一致する式を指定してください。「123-45-6789」のような番号には一致する必要がありますが、「123456789」や「12-3456-789」には一致しません。」
結果: `^(?!000)(?!666)[0-8]d{2}-(?!00)d{2}-(?!0000)d{4}$`
例 7 : ユーザー名を検証するための正規表現
プロンプト:「次のルールに従ってユーザー名を検証する正規表現を作成します。文字で始まる必要があり、文字、数字、ダッシュ、およびアンダースコアなどの特殊文字を含めることができ、長さは 3 ~ 16 文字である必要があります。正規表現は、「user_123」、「Jane-Doe」、「a3b_c」などのユーザー名と一致する必要がありますが、「123_user」、「_user123」、または「 [email protected] 」とは一致しません。」
結果: `^[a-zA-Z][w-_]{2,15}$`
これらの例は、ChatGPT に適切なプロンプトを与えた場合に正規表現タスクを簡素化および強化し、さまざまな書式設定、文字クラス、および検証要件に取り組む開発者にとって強力な味方となる方法を示しています。
次に、ChatGPT が生成するものを評価する方法を見ていきます。
ChatGPT で生成された正規表現を評価する手順
ChatGPT 応答を評価およびテストして、要件を満たしていることを確認し、潜在的な問題を回避することが重要です。
このセクションでは、ChatGPT が提供する正規表現を評価し、潜在的な問題を特定するプロセスについて説明します。
1. 要件に対して出力を検証する
出力を初期要件に照らしてチェックし、不一致を除外しながら、目的の一致を正確にキャプチャしていることを確認します。さまざまなシナリオやエッジケースをカバーするさまざまな例を使用してパターンをテストします。
例
電子メール アドレスを検証する要件を考えてみましょう。ChatGPT が次の機能を提供するとします。
`^[w-]+(.[w-]+)*@[A-Za-z0-9-]+(.[A-Za-z0-9]+)*(.[A-Za-z ]{2,})$`
このパターンを要件に照らして検証するには、有効な例と無効な例を含むさまざまな電子メール アドレスに対してテストして、期待どおりに動作することを確認する必要があります。
時間をかけて結果を確認すると、出力が電子メール アドレスを検証するための要件を満たしていることを確認できます。
2. パターンの可読性と保守性を評価する
出力の読みやすさと保守性を調べます。適切に構造化された理解可能な基準は、時間の経過とともにデバッグ、変更、保守が容易になります。
例
HTTP プロトコルと HTTPS プロトコルの両方を含む URL と一致する例を見てみましょう。ChatGPT が次の出力を提供するとします。
`^(https?://)?([-w]+(.[-w]+)*.)[az]{2,}(/[^s]*)?$`
まず、正規表現を調べて、読み取り可能で保守可能であることを確認します。コンポーネントの内訳は次のとおりです。
^: 行の先頭
(https?://)?: オプションの「http://」または「https://」
([-w]+(.[-w]+)*.): ハイフンとドットを使用して、ドメイン名とサブドメインを照合します。
[az]{2,}: 最上位ドメインと一致し、少なくとも 2 つの小文字を許可します
(/[^s]*)?: オプションのパス。スラッシュの後の空白以外の文字と一致します。
$: 行末
Regex を確認すると、文字クラス、グループ、および量指定子を使用して、適切に構造化された理解可能なルールが作成されていることがわかります。
読みにくく保守しにくい不必要な文字クラス、過剰なエスケープ文字、または高度なグループ化は含まれていません。
正規表現は、長期にわたるデバッグ、変更、および保守が容易になる方法で編成されており、読みやすさと保守性に関して正規表現を評価する基準を満たしています。
3. パフォーマンスと効率を評価する
特に大量のデータを処理する場合やパフォーマンスが重視される環境で、過剰なバックトラッキングや非効率な文字クラスなどの潜在的なパフォーマンスのボトルネックがないか、生成された出力を分析します。
例
有効な IPv4 アドレスと一致する出力を検討し、ChatGPT が次の出力を提供するとします。
`^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) .){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5 ])$`
この出力のパフォーマンスと効率を評価するには、過剰なバックトラッキングが発生したり、さまざまな IPv4 アドレスの処理に時間がかかりすぎたりしないことを確認する必要があります。
これは、有効な例と無効な例、および非常に長い無効な IP アドレスなどの特殊なケースを含む、さまざまな IPv4 アドレスを使用して結果をチェックすることを意味します。
有効な、無効な、およびエッジケースの IPv4 アドレスを使用して出力をテストした後、そのパフォーマンスと効率を分析する必要があります。過度のバックトラッキングを発生させずに結果を迅速に返す場合、効率的であると考えることができます。
4. エンジン固有の違いと互換性を確認する
正規表現がプログラミング言語のターゲット エンジンと互換性があることを確認してください。ルールの動作に影響を与える可能性のあるエンジン固有の違いや機能に注意してください。
例
ChatGPT を使用して、MM/DD/YYYY 形式の日付を検証する正規表現を作成していると仮定します。出力は次のとおりです。
`^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/(19|20)dd$`
このルールは、JavaScript やPythonなどのエンジンでうまく機能します。ただし、POSIX などの別の正規表現エンジンで使用しようとすると、正規表現の構文と機能の違いに気づく場合があります。
たとえば、POSIX エンジンは基本正規表現 (BRE) と拡張正規表現 (ERE) を使用しますが、これらは数字や非キャプチャ グループの短縮文字クラス「d」などの最新の機能をサポートしていません。
さまざまな Regex エンジン間の互換性を確保するには、特定のエンジンの構文と機能に従ってルールを変更する必要があります。POSIX ERE の場合は、次のように書き換えることができます。
`^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/(19|20)[0-9 ][0-9]$`
エンジン固有の違いと互換性をチェックすることで、生成された正規表現がさまざまなプラットフォームや言語で正しく動作することを確認できます。
5. ドメイン固有の概念を扱う
複雑な概念やドメイン固有の概念を含む文字列検索条件の場合、ChatGPT による要件の理解が正確かつ最新であることを確認してください。これには、生成されたルールが必要な基準を満たし、関連するニュアンスをすべて把握していることを確認するために、追加の調査やドメインの専門家との協議が必要になる場合があります。
例
ログ ファイルから特定のデータを抽出する、またはドメイン固有の言語を解析する文字列検索条件の場合、関連するすべての構文、エッジ ケース、およびバリエーションが正確に処理されることを確認します。
6. 結果を反復して改良する
生成された正規表現に問題や改善の余地があることが特定された場合は、ChatGPT と協力してルールを反復して改良します。遭遇した問題や改善したい点について、明確かつ具体的なフィードバックを提供してください。
例
この例では、ChatGPT を使用して、電話番号を照合するための正規表現を `(XXX) XXX-XXXX` という形式で記述しているとします。生成されたルールは次のとおりです。
`^(d{3})sd{3}-d{4}$`
テストすると、オプションの国際プレフィックスを含む電話番号が考慮されていないことがわかります。ルールを改良するには、国コード形式を繰り返して含める必要があります。
`^(+d{1,3}s)?(d{3})sd{3}-d{4}$`
現在は、電話番号の先頭にオプションの国際プレフィックス (米国の場合は「+1」) が含まれ、その後にスペースが続きます。改訂されたルールは、国コードありと国コードなしの両方の電話番号に一致します。
– 国番号付き: `+1 (123) 456-7890`
– 国番号なし: `(123) 456-7890`
文字列の検索条件を繰り返して調整することで、目的の形式と正確に一致し、発生する可能性のある追加のバリエーションを考慮することができます。
これらの手順を使用して、ChatGPT によって生成された正規表現を評価して要件を満たしていることを確認し、潜在的な問題を回避し、プロジェクトの高品質で信頼性の高い出力を維持します。
次のセクションでは、ChatGPT に提案やベスト プラクティスを求める方法を見ていきます。
ChatGPT のヒント、トリック、ハックを直接受信箱に受け取りたいですか?
以下の限定ニュースレターに登録し、3,647 名以上の他のユーザーに加わって、ChatGPT で競争の先を行きましょう!
ファーストネーム *
Eメール *
ChatGPT のヒント、トリック、ハックを教えてください!
ChatGPT に提案とベスト プラクティスを求める
ChatGPT は、望ましい結果を達成するためのベスト プラクティスや代替アプローチなど、正規表現パターンを最適化するための提案を提供します。例えば:
「YYYY-MM-DD 形式の日付を一致させるために、このテキスト一致基準を最適化するにはどうすればよいですか? ^(d{4})-(d{2})-(d{2})$”
Trados Studio ほど堅牢ではありませんが、ChatGPT の自然言語処理機能により、正規表現を使用するプロセスを合理化し、より効率的で楽しいものにすることができます。
ChatGPT が最も正確で有用な正規表現を生成できるようにするには、次のヒントを考慮してください。
説明は明確かつ具体的にしてください。
希望する一致と不一致の例を含めます。
必要に応じて、考慮すべき固有の要件やバリエーションを指定します。
これらのヒントは、次のセクションで説明するように、特に高度な使用例で ChatGPT を使用する場合に役立ちます。
正規表現に対する ChatGPT の 4 つの高度な使用例
ChatGPT は正規表現開発プロセスを簡素化し、強化するための非常に貴重なツールですが、その機能は基本的な正規表現の生成と検証を超えて拡張されます。
このセクションでは、複雑な正規表現を操作するときに ChatGPT が貴重な支援を提供できるいくつかの高度な使用例を検討します。
1. 複雑なマルチパターンの正規表現の処理
多くの状況で、開発者は、複数のサブパターン、条件式、またはネストされたグループを含む複雑な文字列検索条件を扱う必要があります。ChatGPT は次のことに役立ちます。
特定のパターン、コンテキスト、制約に基づいて複雑な正規表現を作成します。
複雑なパターンを分解するのに役立ちます。構文エラーを含む、各コンポーネントの洞察を説明できます。
複雑さを軽減し、可読性と保守性を向上させるための代替アプローチまたは簡略化を提案します。
2. 正規表現のパフォーマンスの最適化
正規表現のパフォーマンスは、さまざまなアプリケーション、特に大量のデータを処理する場合やパフォーマンス重視の環境で使用する場合に重要な要素となる可能性があります。ChatGPT は、次の方法で検索条件を最適化するのに役立ちます。
過剰なバックトラッキングや非効率な文字クラスなど、潜在的なパフォーマンスのボトルネックを特定します。
原子グループや所有数量指定子の使用など、パフォーマンスを向上させるための代替パターンや手法を提案します。
効率的な正規表現設計のためのベスト プラクティスを推奨します。
3. 言語間およびエンジン間の互換性
正規表現エンジンと構文は、プログラミング言語とツールによって若干異なる場合があります。ChatGPT は、次の方法で開発者がこれらの違いをナビゲートできるように支援します。
基準を JavaScript、Python、Ruby などの特定のプログラミング言語に適合させます。
潜在的な互換性の問題を特定し、さまざまな Regex エンジン間で一貫した動作を保証するためのソリューションを提供します。
名前付きキャプチャ グループ、Unicode サポート、インライン修飾子などの言語固有の Regex 機能の使用に関するガイダンスを提供します。
4. 正規表現を使用したデータの抽出と変換
正規表現は、ログ ファイルの解析、データのクリーンアップ、形式間のデータの変換などのデータ抽出および変換タスクでよく使用されます。ChatGPT は、次の方法でこれらのシナリオに貴重な支援を提供できます。
テキストから特定のデータ要素または属性を抽出するための文字列検索条件を記述します。
抽出されたデータを変換するための適切な置換パターンまたは関数を提案します。
正規表現を使用した効率的で信頼性の高いデータ抽出と変換のベスト プラクティスについてアドバイスします。
ChatGPT の高度な機能を活用することで、広範囲にわたる困難で複雑な正規表現タスクに取り組むことができ、より堅牢で効率的なソリューションにつながります。
ただし、ChatGPT にも制限があります。これについては、次のセクションで説明します。
4 正規表現に ChatGPT を使用する場合の制限事項
ChatGPT は Regex を生成、テスト、最適化するための強力なツールですが、その制限と潜在的な課題を認識しておくことが重要です。
このセクションでは、正規表現タスクに ChatGPT を使用するときにユーザーが直面する可能性のある制約と問題のいくつかについて説明します。
1. 不完全または不正確な出力
正規表現の複雑な性質と幅広い潜在的な使用例により、ChatGPT は必要な入力形式を完全にキャプチャしなかったり、特定のエッジ ケースを見逃したりするルールを生成する場合があります。
例としては次のようなものがあります。
要件の誤解: ChatGPT は、特に提供された説明があいまいまたは曖昧な場合、意図や特定の要件に一致する正確な表現を必ずしも提供するとは限りません。
未処理のエッジ ケース: ChatGPT 出力では、考えられるすべてのエッジ ケースがキャプチャされなかったり、不要な一致がすべて除外されたりする可能性があり、不正確または予期しない結果が生じる可能性があります。
次善のパターン: 場合によっては、ChatGPT は機能する正規表現を提供しますが、最も効率的または保守可能なソリューションではありません。
開発者は、生成されたパターンを実際のシナリオに実装する前に、その精度と有効性を確認するために徹底的に検証する必要があります。
2. 複雑な概念またはドメイン固有の概念を理解できない
ChatGPT には広範な知識ベースがありますが、正規表現の複雑または特殊な要件を理解するのが難しい場合があります。これにより、特定の使用例では効果が低下したり、不正確なパターンが発生したりする可能性があります。
この問題を軽減するには、ドメインの専門知識と ChatGPT の機能を組み合わせて、生成された正規表現パターンを改良および調整して、プロジェクトの特定のニーズを確実に満たす必要があります。
3. 言語とエンジンの互換性の問題
言語とエンジンの互換性の問題は、ChatGPT を使用して正規表現を生成する場合のもう 1 つの課題です。これは次のように現れる可能性があります。
エンジン固有の違い: ChatGPT は、さまざまなプログラミング言語やツールの正規表現エンジン間の微妙な違いを常に考慮しているわけではなく、その結果、パターンが意図したとおりに動作しなかったり、予期しない動作を示したりする可能性があります。
サポートされていない機能: ChatGPT の出力では、ユーザーのターゲット言語または正規表現エンジンでサポートされていない機能または構文が使用されている可能性があり、互換性の問題が発生します。
これらの互換性の問題に対処するには、ターゲット言語またはエンジンのニュアンスを基本的に理解し、それに応じて Chat GPT の出力を適応させる準備をしておく必要があります。
パターンが意図したとおりに機能することを確認し、必要なレベルの精度と効率を維持するには、さまざまな環境にわたる徹底的なテストと検証が不可欠です。
4. 明確かつ正確なユーザー入力への依存
ChatGPT が生成する正規表現の有効性は、ユーザー入力の明確さと精度に大きく依存します。ユーザーは次のような問題に直面する可能性があります。
コミュニケーションの課題: ChatGPT によって生成される正規表現パターンの品質は、入力の明確さと具体性に大きく依存します。あいまい、あいまい、または不完全な説明は、満足のいく結果が得られない可能性があります。
要件の反復: 必要な正規表現パターンを実現するには、説明を改良したり、追加の例や制約を提供したりする必要がある場合がありますが、これには時間がかかるプロセスになる可能性があります。
正規表現生成における ChatGPT の有用性を最大限に高めるには、時間をかけて、意図した形式と要件を明確に概説する、詳細かつ明確なプロンプトを作成する必要があります。
最初の出力が満足のいくものではない場合は、ChatGPT をより正確な正規表現に導くために、入力を調整するか、追加のコンテキストを提供する必要がある場合があります。
ChatGPT の制限と課題を理解することで、正規表現タスクに ChatGPT をより効果的かつ効率的に使用できます。
ChatGPT によって生成された正規表現パターンを確認し、必要に応じて要件を反復するか、代替ソリューションを探す準備をしておく必要があります。
ChatGPT のヒント、トリック、ハックを直接受信箱に受け取りたいですか?
以下の限定ニュースレターに登録し、3,647 名以上の他のユーザーに加わって、ChatGPT で競争の先を行きましょう!
ファーストネーム *
Eメール *
ChatGPT のヒント、トリック、ハックを教えてください!
最終的な考え
ChatGPT は、正規表現を使用するプロセスを簡素化し、強化するための貴重なツールとして登場しました。
高度な自然言語処理機能により、ユーザーは正規表現パターンを簡単に作成および最適化できるため、複雑で時間のかかるタスクになりがちな作業を、より楽しく効率的なエクスペリエンスに変えることができます。
ただし、このテクノロジーに関連する課題を認識し、その要件を反復し、生成された正規表現パターンを徹底的にテストし、さまざまな言語やエンジン間での潜在的な互換性の問題に留意する準備をしておく必要があります。
ChatGPT の制約を認識した上で ChatGPT を使用すると、AI の力を活用して正規表現の技術を習得でき、プロジェクトでより効率的で堅牢かつ保守可能なソリューションが実現します。
ChatGPT を日常生活に組み込む方法の詳細については、以下のビデオをご覧ください。
Google の Duet AI 機能は、データを要約して整理するために Google スプレッドシートでも利用できます。これを有効にして使用する方法は次のとおりです。
Microsoft は、テキストから画像を作成するための Bing AI を導入しました。 Bing Image Creator を使用して想像力を実現する方法を学びましょう。
OpenAI API キーを生成してアプリで使用する方法をお探しですか?この記事を読んで、同じことについてすべてを知りましょう!
Android デバイスで Google アシスタントから Gemini AI アプリに切り替えて、新たな可能性を探る方法を学びましょう。
Snapchat 私の AI が動作しない、または表示されませんか? Snapchat Android および iOS アプリでこの問題を解決する 8 つの方法を見てみましょう。
Google スライドには、テキスト プロンプトを表示するだけでプレゼンテーションに画像を追加できる Duet AI 機能が導入されています。使用方法は次のとおりです。
Google Bard をインストールするには、Chrome > [カスタマイズとコントロール] > [その他のツール] メニュー > [ショートカットの作成] を開きます。Windows 11 の Edge から追加することもできます。
SwiftKey で Bing Chat AI を使用するには、Android および iPhone でアプリを開き、キーボードを表示し、Bing をクリックして、検索、トーン、またはチャットを選択します。
Windows 11 に ChatGPT を使用して Bing をアプリとしてインストールするには、Edge のメイン設定メニューを開き、[アプリ] を選択して、アプリ オプションとしてこのサイトをインストールします。
ChatGPT AI を使用して Bing に早期アクセスするには、Microsoft アカウントでサインアップし、これらの設定を変更して列に並ばずにアクセスできるようにしてください。