AlphaGoの登場により、2016年は人工知能元年とも言えるでしょう。蘇州でプラットフォームの開発をしていたときのことを覚えています。仕事が終わった後、私たちは人間と機械の戦いの本当の意義について話し合いました。それは技術的な進歩ではなく、人間の本来の知識への影響についてでした。人工知能の応用は雨後の筍のように現れ、将来人工知能ソフトウェアがなかったら、声を上げるのが恥ずかしくなるでしょう。誰もが、自分の仕事と人工知能の関係は何か、自分の仕事に人工知能をどのように適用するか、人工知能の遺伝子をソフトウェアに組み込むにはどうすればよいか、人工知能の使用をどこから始めるか、人工知能の学習をどこから始めるか、といった疑問を抱いています。そして、より深い疑問は、人工知能が人間に取って代わることができるかどうか、プログラマーとして、人工知能はプログラムの作成において人間に取って代わるかどうかです...ここでは、私たちのチームの実践に基づいて、ソフトウェアに人工知能を適用する方法を紹介します。 人工知能(AI)の目的は、人間に取って代わることではなく、知能(IA)を強化することである。 人工知能は新しい概念ではありません。1940 年代のウィーナーの「サイバネティクス: 動物と機械の制御とコミュニケーションの科学」は人工知能でした。しかし、初期の人工知能は計算能力によって制限されており、モデルの計算速度や精度を解決する上で多くの問題がありました。近年、クラウドコンピューティング技術の発展に伴い、コンピュータの計算能力が向上し、同時にビッグデータの発展により、より多くのデータでより複雑な計算問題を解決できるようになり、人工知能の可用性が大幅に向上しました。しかし、現在の人工知能の応用から、人工知能は人間に取って代わることはできないことがわかります。たとえば、画像認識、音声認識などのブレークスルーは、機械をより賢くするだけで、人間のレベルに到達するにはほど遠いです。人間のインテリジェントなアシスタントとして機能する方が適切です。 人工知能、機械学習、ディープラーニング、統計などの基本的な概念間の関係を明確にします。 人工知能の手法をソフトウェアに適用するには、まずいくつかの概念間の関係を整理する必要があります。 人工知能 (AI) は、機械が人間のように考えたり、さらには人間を超えたりできるようにする広範な概念です。 機械学習は人工知能を実装する方法です。機械学習の最も基本的なアプローチは、アルゴリズムを使用してデータを分析し、そこから学習し、現実世界の出来事について決定や予測を行うことです。 ディープラーニングは、機械学習を実装するもう 1 つの方法です。人間のニューラル ネットワークをシミュレートし、より多くのレイヤーとニューロンを使用して、大量のデータをシステムに入力し、ネットワークをトレーニングします。 統計学は機械学習とニューラルネットワークの基礎知識です。伝統的な分業の観点から見ると、統計学は一般的に数学、統計学などの専門分野の研究方向であり、機械学習はコンピュータサイエンスの研究方向です。しかし、現在、各研究成果はますます収束しています。統計学の達人の中には、統計学が実際に機械学習の仕事に従事していると考える人もいます。 ディープラーニングや統計の専門家は、モデルやアルゴリズムなどに重点を置き、問題に対する普遍的な解決策を見つけます。私たちのアプリケーションでは、特定のアルゴリズムの実装についてあまり考える必要はなく、適切なシナリオ、適切なモデル、およびマッチングアルゴリズムを見つける必要があります。したがって、人工知能のアプリケーションは、実際にはコンピューター、統計、知識工学、および業界知識のクロスアプリケーションです。よく関わるアプリケーションでは、分類、データ相関、回帰など、構造化データや半構造化データを扱う場合には従来の統計手法を優先し、非構造化データ(画像、動画、テキストなど)を扱う場合にはディープラーニング手法を優先するのが一般的ですが、これらの手法にも統計の知識が必要です。そのため、線形代数、数理統計、Python を補う必要があります。「実践機械学習」という本は良い入門書だと思います。この本では、上記の知識がすべて紹介されています。 人工知能を適用して3つのレベルの拡張知能を実現する 人工知能を応用するとき、人々は誤解しています。彼らは常に予想外の結果を得ること、つまり新しい知識を探求することを望んでいます。よく、「得られた結果について、私が知らないことは何もないようだ」と聞かれます。私は「その通りです。あなたは専門家ですから」と答えます。コンピューターが得た結果が分からないのなら、どうしてそれを信頼できるのでしょうか。たとえば、AlphaGo が打つ手のほとんどは人間に知られています。ごくまれに、型破りな手を出すこともありますが、それはすでに一流のレベルです。多くの人ががっかりしています。何が問題なのでしょうか? 実は、それはとても大きな意味があります。 (1)コンピュータにより、これまでは専門家しか入手できなかった知識を一般の人々が迅速に獲得することが可能になった。 たとえば、経験豊富なアカウント マネージャーは、コンピューターを必要とせずに、顧客の状況、優良顧客は誰か、誰がどの製品を必要としているのかなどを非常によく把握している必要があります。しかし、ユーザープロファイリングなどの人工知能の手法を通じて、コンピューターは経験の少ない人でも上記のような経験をすることができるようになります。結局のところ、専門家はほとんどいないので、このアプローチは非常に価値があります。 (2)専門家の反復作業の削減を支援する 例えば、医師が病理検査を行っているとき、この機械は病気や典型的な病理学的特徴がないほとんどの症例を医師に思い出させ、貴重な時間を節約することができます。このように、人工知能は人間に代わるものではなく、人間のための追加のインテリジェントアシスタント、つまり強化された知能(IA Intelligence Augmentation)であることがわかります。 インテリジェントなアシスタントとして、コンピューターはさまざまなレベルと方法で私たちを助けることができます。私はコンピューターを、機械的知能、意図を実現する知能、意図を生み出す知能の 3 つの側面に分類しています。 (1)機械知能 これが現在私たちが行っている主な仕事です。事前にルール(コードもルール)を設定し、コンピューターに大量の繰り返し計算を実行させ、コンピューターの計算能力を最大限に活用して人間の手作業を置き換えます。これはルールを中核とするモデルであり、これらのルールは人々の既存の知識から来ています。 (2)意図を実現する知性 人間は最終的な結果がどうなるかは分かっていますが、計算にどのようなルールを使うかをコンピュータに教えません。大量のデータを使ってコンピュータを訓練し、ルールを見つけさせ、その後、コンピュータに大量の繰り返し計算をさせます。コンピュータが見つけたルールは、人間には理解できないことがあり、実際には理解する必要がないことが多く、コンピュータはブラックボックスとして扱われます。 (3)意図的な知性の創造 それは、人間が知らない新しい知識をコンピューターが見つけられるようにすることであり、それは私たちが最も望んでいるシナリオでもあります。 具体的な実装の観点から見ると、間違いなく最初の状況が最も一般的です。ルールを洗練して要約する必要があり、最初の状況をうまく活用することが重要です。2番目の状況は以前は比較的一般的ではありませんでしたが、現在まさに改善する必要があるものです。2番目の状況では、構造化データと半構造化データ(フォーマットされたログなど)を処理するために統計的手法を使用することを優先し、非構造化データを処理するためにディープラーニング手法を使用することがよくあります。これには、チームに人工知能の思考が必要です。 AI アプリケーションを実践するには、新たな考え方が必要です。コンピューターが知能を獲得する仕組みを理解するために、もはやルールを使用することはできません。 人工知能を実践するには、私たちの考え方を調整する必要があります。私たちは、入力の計算ルールと出力結果がわかっているルールを設定してコンピューターに命令することに慣れていることが多く、これが上で述べた機械知能の方法です。しかし、後者の 2 つのモードはルールベースではありません。ルールはコンピューターによって発見されるため、データ トレーニングと呼ばれることがよくあります。 ここでは、モデル、アルゴリズム、データ トレーニングがどのようなものかを理解していただくために、当社独自の実装の例を紹介します。 まず背景をお話しします。既存のエンタープライズ データ アーキテクチャを整理する際には、データ間の関係性を確立する必要があります。これを人間が行うのは手間と時間がかかるため、コンピューターを使用して一部を自動で完了し、その後手動で修正する予定です。これは拡張インテリジェンス (IA) の一例です。ここで状況があります。データベースに外部キーが設定されていない場合、実際の外部キー関係をどのように見つけるのでしょうか? この例を使用して、機械知能と意図知能の実現方法について説明しましょう。 (1)ルールを使って外部キー関係を見つける まず、ルールを定義する必要があります。外部キーの関連付けのルールには、一貫したフィールド タイプ、一貫した長さ、同じデータが含まれていることなどが含まれ、次にすべてのデータを走査して一致を調べます。この方法では完全なデータが必要であり、外部キー関係が存在するかどうかを判断するためのルールはやや曖昧であることが多く、完全なデータが利用できない場合は一定の制限があります。 (2)統計的手法を用いて外部キー関係を見つける まず、フィールドの特性を定義します(ユーザーポートレートに似ています)。フィールド特性はベクトルであり、テーブル名、フィールド名、フィールドタイプ、コメント、サンプルデータの最大長、サンプルデータの最小長などを含む1次元配列です。テーブル名とフィールド名は数値ではないため、数値に変換して同じ標準文字列と比較する必要があります。つまり、文字列をシフトして標準文字列に移動します。シフト数が少ないほど、類似性が高くなります。このようにして、実際の1次元配列(ベクトル)を取得します。 次に、関係性がわかっているテーブルとフィールドをいくつかトレーニング サンプルとして取り出し、2 つのフィールド間の相関係数を 1 つずつ計算します (相関係数の計算方法は既成のものなので、ここでは紹介しません。数式を見ると目が回りそうになりますが、Python ディストリビューションの Anaconda に含まれています。これを使用すると、Python が最適な言語であることが実感できます)。相関係数が高いということは、特徴が似ていることを示し、外部キー関係であると識別されます。このとき、手動で判断します。結果が良ければ、モデルは正しいです。結果が悪ければ、別の相関係数の計算方法を使用したり、データの特徴を変更したり、データの特徴を処理したりします。つまり、客観的な存在として、外部キーの特徴は確実に一致する特徴を見つけることができます。これがデータトレーニングです。データのトレーニングを通じて、適切なフィールド機能 (モデル) と計算方法 (アルゴリズム) を見つけたり、コンピューターに処理させてすべての外部キーを見つけたりすることができます。 ほら、ここには決まったルールはないんです。処理方法は、データをトレーニングしてコンピューターが自分で見つけ出すというものです。相関係数が何を意味するかなんて知る必要はありません。これが上で言ったことですが、コンピューターはブラックボックスなのです。 上記の例では、多くのアクションを簡略化していることに注意してください。実際、createTime など、外部キー関係ではないフィールドが最初に多数見つかりました。ノイズを除去するには、このノイズ フィールドの特徴をトレーニングする必要もあります。 この例は、人工知能を適用する際の 2 つの異なる思考モードを示しています。簡単に言えば、ルールを作成してコンピューターに命令することはできなくなり、代わりにコンピューターが自分でルールを見つけるようにトレーニングするようになりました。 上記では、人工知能の基本概念、人工知能のさまざまなモード、人工知能を適用する際に必要な思考のブレークスルーについて分析しました。次に、ソフトウェア アーキテクチャの開発とそれが直面する課題を見て、人工知能を適用するためのエントリ ポイントがどこにあり、人工知能の火花を散らすのがより簡単な場所を確認します。 ソフトウェアアーキテクチャに対する分割統治アプローチによってもたらされる統合の課題に対処し、インテリジェントな接続を探求する ソフトウェアアーキテクチャとは何でしょうか?InfoQが発行した「Let's Talk About Architecture」という本で非常にわかりやすく説明されています(非常に正確な要約を提供してくれたLao Wangに感謝します)。ソフトウェアアーキテクチャとは (1)問題に基づいてシステム境界を決定する。 (2)一定の原則に従った区分 (3)異なるモジュール間の通信メカニズムを確立する。 (4)ソフトウェア機能を総合的に提供する。 アーキテクチャの鍵は分割統治の哲学であることがわかりますが、分割はソフトウェア開発と運用保守の便宜を図るためのものです。ソフトウェアの目標は、全体として提供することです。分割と統合の間には矛盾があり、統合によって解決されます。ただし、統合は複雑になることがよくあります。アーキテクチャに関する共有のほとんどは、分割方法に焦点を当てており、統合方法については比較的少ないです。 統合作業の複雑さは複雑なシステムの開発に影響を与える Unix の実践は、ソフトウェア アーキテクチャに間違いなく大きな影響を与えています。1 つのことだけをやり、それを最善に行うという考え方は常に Unix スタイルによって提唱されてきましたが、「理想的な世界では、Unix プログラマーは、それぞれが非常に小さく、非常にエレガントで、非常に完璧な、小さくて完璧なソフトウェアの宝石を手作業で構築することしか望んでいません。残念ながら、複雑な問題が多すぎると、複雑なソリューションが必要になります。わずか 10 行のプログラムは、どれほどエレガントであっても、ジェット旅客機を制御することはできません。機器、チャネルとインターフェイス、プロセッサ、およびさまざまなオペレーターによって定義されたサブシステムが多すぎます。基本的な規則を統一することさえできません。航空システムの個々のソフトウェア部分をすべてエレガントにできたとしても、組み立ての結果は、巨大で複雑で質の悪いコードの山になる可能性があります...ジェット旅客機の複雑さは避けられません。 かつては、航空機は飛行できなければならないので、シンプルさのために機能性を犠牲にすべきではないという厳しい議論がありました。航空管制システムが複雑さに対する聖戦を生み出さないのは、この事実によるものです。Unix プログラマーは複雑さを避ける傾向があります (「The Art of Unix Programming」より引用)。 残念ながら、私たちは複雑なシステムに直面することが多く、Unix スタイルの分割統治アプローチを一方的に理解すると、統合がさらに困難になることがよくあります。統合の難しさを軽減するために、多くの場合、モノリシックなシステム アーキテクチャを採用し、統一された方法でシステムを設計し、システム内のモジュールのみを分割し、コードベースと仕様を使用して制約しますが、これは Unix スタイルに反します。パフォーマンスと保守性のプレッシャーがかかると、そのようなシステムを分割する必要があります。ソフトウェア システムが 100 万行のコード規模に達すると、保守が困難になり、システムを分割したいという強い欲求が生じるのを、私は過去に何度も見てきました。300 万行のコード規模に達すると、分割したいという欲求に抵抗できなくなることがよくあります。500 万行のコード規模に達すると、最も保守的な組織でさえ、システムを分割するという決定を下すでしょう。 ソフトウェアアーキテクチャにおける複雑な統合タスクは、人工知能を使用して簡素化する必要がある 統合問題の解決の歴史を振り返ると、初期の統合アーキテクチャ モデルは Unix から来ており、よく知られているパイプ モデルであることがわかります。パイプ モードでは、データが一連のタスクに渡され、パイプラインはデータが処理されて次のステップに渡されるパイプラインの役割を果たします。 パイプライン パターンは最も基本的な方法であり、理論的にはすべての統合問題を解決できます。ただし、具体的な問題になると、さまざまな状況に対応する必要があります。さまざまな複雑な状況に対して、より多くのパターンをまとめることができます。「Enterprise Integration Patterns」(EIP) という本では、メッセージ統合をめぐるいくつかの統合パターンをまとめており、メッセージ統合の包括的な要約と見なすことができます。ただし、EIP 統合モデルは、主にシステム間のバックエンド サービスの統合を目的としています。SOA アーキテクチャは、ポータル (フロントエンド統合)、BPM (プロセス統合)、ESB (サービス統合)、DI (データ統合)、イベント/メッセージ統合に基づくマルチレベル統合システムを提案し、統合作業に対するより体系的なガイダンスを提供します。 SOA統合方式では、一連の統合インフラストラクチャのサポートが必要であり、これは集中型の統合方式であり、MiddleBox方式と呼ぶことができます。マイクロサービスアーキテクチャが提案された後、統合ロジックとビジネス機能を一緒に展開する分散型統合方式を採用します。これはMiddlePipeモデルと呼ぶことができます。 統合方法は、主に統合手段の継続的な革新により、進化してきました。さまざまなフレームワークとインフラストラクチャにより、非機能要件がますます解決されています。たとえば、ESB はルーティング、セキュリティ、フロー制御などの問題を解決し、統合の作業負荷をある程度軽減できます。ただし、統合には依然として多くのビジネス上の複雑さが伴います。一般的な問題をいくつか挙げます。 (1)データ検索問題 ビジネスニーズを満たすには、既存のデータやサービスを利用する必要があります。しかし、エンタープライズ環境では、システム、サービス、データが多く存在します(10万以上のサービスと10万以上のデータ標準がある状況を想像してください)。試用可能なサービスやデータを見つけるのは簡単ではありません。一般的には、この分野の専門家の知識に頼り、全体的な設計を通じてデータの流れを指定する必要があります。これは専門家の能力に依存しており、専門家の能力もゆっくりと蓄積されます。企業がデータやサービスをより迅速に見つけられるように支援し、専門家が知識を迅速に蓄積できるように支援し、反復的な作業を削減できるようにする必要があります。 (2)データ適応の問題 サービスを通じて統合する場合、アトミック サービスでは多数の入力パラメータが必要になることがよくあります。たとえば、SMS インターフェースを呼び出す場合、受信者の電話番号と SMS の内容だけでなく、送信者の名前、組織、送信システム、送信理由、送信時に顧客に連絡するチャネル (カスタマー サービス チャネル、支店チャネル、オンライン バンキング チャネル、セルフ サービス端末など)、送信に関連する製品など、ビジネス上の重要性を持つ多くのパラメータが含まれます。これらの情報を使用して、コストを計算し、回数を制御し、顧客への繰り返しの嫌がらせを回避できます。ユーザー名、パスワード、確認コード、送信時間などは、セキュリティ検証に使用されます。優先度、送信チャネルなどは、フロー制御に使用されます。シリアル番号、グローバル ビジネス ID、リクエスト ID、リクエスト時間などは、監視に使用されます。上記の情報は、各テキストメッセージのコンテキストから取得されます。実際の開発期間中、コンテキスト情報をサービスに渡すために、多くの割り当てと変換作業を行う必要があります。この変換は、下の図のようになります。通常、麺が多すぎる場合は水を追加し、水が多すぎる場合は麺を追加します。手作業による繰り返し作業を回避するには、現在のコンテキストとサービスの特性に基づいて、いくつかの適応を自動的に実行する必要があります。
(3)システム連携の問題 ビジネス イベントが発生すると、多くの関連システムが関連した方法で対応する必要があります。たとえば、フライトの遅延には、航空券の再スケジュール、ホテルの予約、車のサービスの再スケジュール、会議の手配、スケジュールの変更などが含まれます。一般的には、イベントセンターを設計し、各システムの監視プログラムを開発して、コンテキスト情報を判断し、イベントが発生したときに実行するアクションを決定します。事前にルールが設定されていなければ、連携は行われません。この連携関係をより自動化し、手動設定だけでなくコンピューターがインテリジェントにアクションを生成できるようになることを期待しています。 同様の問題は多くあり、よりインテリジェントな統合が期待されます。 統合が必要な部分はソフトウェア自体だけではなく、ソフトウェアプロセスも複雑な統合/コラボレーション作業です。 分割統治ソフトウェアは、全体として統合された方法で提供される必要があります。ソフトウェア制作プロセスも、複数の人々と複数の組織が関与する共同作業プロセスであり、統合が必要です。ソフトウェアを製品として考えると、製品には企画、研究開発、運用、終了などさまざまな段階があり、各段階は異なる人や組織によって完了される場合があります。ソフトウェア開発フェーズは、プロジェクトの確立、実行、完了を含む各プロジェクトの実装プロセスです。このようなプロセスが一緒に編成されて、ソフトウェア生産組立ラインが形成されます。初期のウォーターフォール型のソフトウェア開発から、後のアジャイル開発プロセスである CMM、そして現在人気の DevOps まで、それらはすべてソフトウェア生産パイプラインのさまざまな段階でのコラボレーションの問題を解決することを目的としています。アジャイルはソフトウェアの定義、設計、構築 (開発) 段階でのコラボレーションを目的としており、継続的インテグレーションは構築 (開発) 段階とテスト段階でのコラボレーションであり、継続的デリバリーは定義段階から展開 (配信) 段階までのコラボレーションです。 コラボレーションで直面する問題は統合の問題です。多くの問題が考えられますが、ここではいくつかの例を挙げます。 (1)要件・設計・構築(開発)間のコミュニケーション問題:要件・設計の知識をマッピング・項目化し、それを開発作業にある程度自動的に適応させ、要件・設計からコードへの変換作業を削減する必要がある。 (2)構築(開発)とテスト間のコミュニケーション問題:サービスやデータの特性、蓄積された履歴データに基づいて、テストケースやテスト方法を自動的に生成する必要がある。 (3)運用上のコミュニケーションの問題:アプリケーションプロファイリング、リソースプロファイリングなどを通じてサービスと物理リソース間の接続を確立し、問題を迅速に特定し、容量予測を実行し、よりスマートな運用と保守を実現する必要があります。 ソフトウェア アーキテクチャに人工知能を適用する目的は、強化されたインテリジェンスを通じてソフトウェア システムとソフトウェア エンジニアリング間のインテリジェントな接続を実現することです。 複雑な統合の課題に対応するために、人工知能の概念を導入し、知識を活用した方法で、人とソフトウェア、オブジェクトとソフトウェア、ソフトウェアとソフトウェア、およびソフトウェア生産ラインのすべてのリンクを統合することができます。ルールに完全に依存する従来の統合方法に基づいて、コンテキスト情報を入力として使用し、専門家の既存の知識を活用し、データのトレーニングと強化学習を通じて、コンピューターが統合の意図を理解できるようにし、インテリジェントなアシスタントになり、インテリジェントな接続を実現するのを助け、コンピューターが新しい接続知識を探索できるようにします。ここでも、接続を、機械的な接続、知識ベースの接続、知識創造の接続の 3 つのレベルに分類します。 インテリジェントな接続から始めて、ソフトウェアアーキテクチャにおける人工知能の応用を探る ソフトウェアにおける人工知能の応用をどこから始めて探求するかは、誰もが最も関心を持つテーマです。ここでは、Puyuan が人工知能の探求の初期段階で経験したいくつかの事例を紹介したいと思います。 Puyuan の会長である劉亜東博士は、若い頃からニューラル ネットワークの研究に携わってきました。彼は、並列コンピューティングなどの技術が完全に発達したことにより、アルゴリズムはもはや人工知能のボトルネックではなくなったと指摘しました。人工知能の応用には、次の 2 つのブレークスルーが必要です。 (1)AI応用の入り口を見つける (2)チームはAIを適用するマインドセットを持っている そのため、人工知能を応用する際には、研究を行うための特別なグループを設置するのではなく、百花繚乱という方針を採用しています。 Puyuan をよく知る友人は、Puyuan の研究開発がクラウド コンピューティングと SOA、ビッグ データ、モバイル、エンジニアリング効率とテクノロジー プラットフォーム、製品サポート センターなど、いくつかのチームに分かれていることをご存知でしょう。各チームにデータ + 接続の方向から始めてもらい、現場での人工知能の応用シナリオを探求してもらいます。エントリー ポイントを見つけて最初の実践を行うことで、チームの人工知能の考え方を徐々に確立します。クラウドコンピューティング&SOAチームの方向性は、サービスプロファイリングを通じてマイクロサービスのインテリジェントな運用と保守、インテリジェントなマッチングを解決することであり、ビッグデータチームの方向性は、ナレッジグラフを通じてデータのセルフサービスを実現することであり、モバイルチームの方向性は、UIのインテリジェントな開発であり、エンジニアリング効率とテクノロジープラットフォームチームの方向性は、プロセスとインテリジェント製造におけるディープラーニングの応用です。スペースが限られているため、Puyuan のビッグデータ チームとモバイル チームの作業のみを紹介します。 事例1: ナレッジグラフに基づくデータセルフサービス機能の実現 まずは簡単に背景をご紹介します。「どんなデータがあるの?どこにあるのか?どうやって入手するのか?」という質問をよくいただきます。百度検索のように、自分の知識(ビジネス用語)を元に関連データを探し、申請して、データを取得できるプラットフォームを構築できないか?これは、データ取得のセルフサービスです。 これまで、データの整理は手作業で行われることが多かったのですが、その一部を自動化し、専門家にインテリジェントなアシスタントを提供したいと考えています。ここでの作業は、次の 3 つの部分に分かれています。 (1)ナレッジグラフの構築 人々はビジネス用語 (知識) を通じてデータを検索しますが、知識は相互に関連しています。たとえば、果物とトマトは階層関係にあります (後者は前者の具体的な表現です)。検索では、直接的な結果を一覧表示するだけでなく、関連する知識も表示する必要があり、そのためにはナレッジ グラフを確立する必要があります。簡単に言えば、ナレッジ グラフとは、概念、属性、概念間の関係です。この関係は手動で確立できます。ポリシー、規制、要件、データベース コメント、インターフェイスなどの複数のソースから自然言語処理やその他の方法を使用して部分的なナレッジ グラフを構築し、専門家の作業を支援することができます。 (2)技術メタデータの整理 各システムの内部データとデータ間の関係性を整理し、データマップを形成します。ここで難しいのは、血縁関係、影響力関係、関連関係、マスターデータ関係などのデータ間の関係です。ここでは、フィールド機能の相関、データ処理ロジックの語彙/構文分析、強化学習を使用してそれを完了します。上記の外部キー検索の例はその一部です。 (3)ナレッジグラフと技術メタデータの関係の確立 ここでは、インターフェース/サービスとコードの関係を分析して、マッピング関係を確立する必要があります。最終的な効果は、データ検索を使用し、検索したいビジネス用語を入力して関連する結果を取得し、サンプルデータを表示し、必要なデータである場合は使用申請を送信することです。必要なデータでない場合は、関連する知識に基づいてデータの探索を続けます。データ セルフサービス機能を提供するということは、アプリケーション デザイナー、データ サイエンティスト、ビジネス アナリストとデータ間の接続を確立することを意味します。私たちのチームは、接続というアイデアに基づいて人工知能のエントリ ポイントを見つけました。 実際、データセルフサービスには、検索、取得、使用など多くのリンクが含まれています。ここで私が話しているのは、検索リンクをどのように実現するかということです。この検索方法は100%正確ではありません。専門家による調整や、強化学習などの手段による継続的な修正も必要です。人工知能の応用も徐々に改善していくプロセスであることがわかります。 事例2:ディープラーニングによるモバイルUIのインテリジェント開発の実現 モバイル UI のインテリジェント開発は、モバイルチームが人工知能を応用した最初の試みです。現在、UI デザイナーと開発エンジニアのつながりを確立することを目指しているようです。デザイナーのデザインをコード実装に落とし込むと、必ず偏差が生じます。1ピクセルの違いでもインターフェースの効果に影響します。以前は、さまざまなビジネステンプレートを採用し、いくつかの仕様を定めて設計と開発を制約していました。その後、モバイルチームは、ディープラーニングを使用して、さまざまなインターフェース設計効果を見つけるためのいくつかの試みができると考えました。まず、データラベルを通じてページのスタイルを決定し、次に画像フラグメントを通じて設計案のコンポーネントを学習して識別しました。最後に、複数の処理を経て、ツリー構造になりました。このツリー構造をコードにマッピングすると、設計図と一致するコードが生成されました。 この場合、画像ベースのニューラルネットワーク学習は重要なテクノロジーです。ただし、このテクノロジーが単独で使用される場合、計算の量は耐えられないため、処理プロセスをいくつかの段階に分類し、各段階を分類し、各段階を組み合わせて、コンピューター学習をガイドするための戦略を手動で指定することができます。 VEはディープブルーによって決定されました)。 上記の2つのケースでは、最初にさまざまな分野で可能なエントリポイントを見つけ、すべてのシナリオにさまざまなソリューションを使用しました。代わりに、Tensorflowなどのフレームワークを学習することから始めませんでした。 要約する 将来のソフトウェアは間違いなく人工知能ソフトウェアですが、人工知能は技術的な手段を通じてインテリジェンスの強化を達成し、普通の人々がいくつかの専門家スキルを迅速に獲得するのを支援し、専門家が繰り返しの仕事を減らし、人々を置き換えるのではなく、新しい知識を探求することです。人工知能を適用するには、データ +接続モデルの下でのインテリジェントな統合から始めて、ソフトウェアでの人工知能の適用を調査する必要があります。この調査には、従来のルール、統計と深い学習方法によってサポートされている意図的な知能、および意図の作成/新しい知識の検索の両方がよく含まれていますが、深い学習はしばしば非構造化データを使用します。 要するに、人工知能は、コンピューターサイエンス、統計、知識工学、およびドメインの知識の学際的な主題です。 |
現在、海外では人工知能が新素材の開発に役立っている事例が報告されています。英国リバプール大学の研究者...
以前、AI顔変換ソフトウェアZAOが一夜にして人気を博したことで、サーバーが「満杯になって崩壊」する...
人工知能 (AI)、機械学習 (ML)、ディープニューラルネットワーク (DNN) は、金融業界のビ...
現在、拡張現実(AR)技術はもはや新しい製品ではありませんが、その適用範囲が限られているため、ARは...
1. ナレッジグラフとは何ですか?現実世界にはさまざまなものが存在します。物事の間にはいくつかの種類...
12月17日、浙江省徳清国際会議センターで2019年中国スマート企業発展フォーラムが開催され、工業情...
教育機関向けオファー Github AI スマートコーディングアシスタント コパイロットAIプログラ...
廃棄フィルム2枚がパチンと貼り合わされました!見逃した素晴らしい瞬間をすぐに蘇らせることができ、効果...
[[255298]] 「2014年に私は、30年前に設立されたKingsoft WPSは雷軍によって...
近年、モバイルラーニングと人工知能は、人々が機械と連携する方法に大きな影響を与えており、個々の顧客に...
データスキルについてまだ不安がありますか?アルゴリズムの革新を適用できる場所はありませんか?こんなに...
自動運転については長い間議論されてきましたが、それが本当に人々の生活に不可欠なものになるのはいつでし...
医療用ロボットという用語は、監督なしで事前にプログラムされたタスクを自律的に実行する機械のイメージを...
人工知能と関連技術はマーケティングの未来を変えつつあり、仮想現実 (VR)、音声検索、人工知能はマー...