ソフトウェア開発を簡素化する 5 つの機械学習ツール

ソフトウェア開発を簡素化する 5 つの機械学習ツール

[51CTO.com クイック翻訳] 機械学習を使用する開発者の間での議論のほとんどは、AI ベースのアプリケーションの作成と、その作成に使用されるツール (TensorFlow、PyTorch、Scikit-learn など) を中心に展開されます。

しかし、機械学習は、機械学習技術を使用してプログラミングをより容易かつ効率的にする新しい開発ツールを通じて、別の方法でもソフトウェア開発に影響を与えています。この記事では、開発プロセス中に開発者にとって機械学習が役立つようにする 5 つのプロジェクト (商用プロジェクト 3 つと実験プロジェクト 2 つ) を紹介します。

Kite は、ほとんどの主要なコード エディターで動作し、機械学習を使用して入力時にコードを入力するコード補完ツールです。

Kite が使用する機械学習モデルは、GitHub で公開されているコードを取得し、そこから抽象構文木を導出し、それをモデルの基礎として使用するという方法で作成されました。 Kite によれば、これにより、テキストだけでなくコードのコンテキストと意図からの自動提案と自動補完が可能になります。

現在、Kite は Python 開発者のみが利用できますが、Go のサポートも準備中です。 Kite は当初 Windows および macOS ユーザーのみが利用可能でしたが、現在は Linux もサポートしています。

2017 年、Kite はユーザー データの不適切な処理と Atom の autocomplete-python パッケージの変更により、オープン ソース コミュニティで注目を集めました。同社はこれら両方の問題に対処し、Kite はユーザー コードをクラウド サーバーに送り返すことはなくなり、代わりにすべての処理をローカルで実行するようになったと述べ、autocomplete-python パッケージは Kite が推奨するパッケージであることを明示的に認めています。

リンク: https://kite.com/

コドタ

コドタはカイトによく似ています。 Java および Kotlin コードでトレーニングされた機械学習モデルを使用して、入力時にこれらの言語のコードが自動的に補完されます。 Kite と同様に、Codota はモデルを構築するためのデータとして、テキストだけでなくコードの構文ツリーを使用します。

改良された Kite とは異なり、Codota はクラウドベースのサービスを使用して予測を生成し、提供します。ただし、サービスのドキュメントによると、Codota はユーザー コードを Codota サーバーに送信せず、「現在のローカル スコープに基づいて予測を行えるように、現在編集中のファイルから少量のコンテキスト情報のみを送信します」とのことです。

Codota は Windows、macOS、Linux で利用できます。ただし、エディターのサポートは IntelliJ、Android Studio、Eclipse (Luna 以降) に限定されています。これは、Java 言語と Kotlin 言語に重点を置いていることを考えると当然のことです。同社は特に、他の言語のサポートも開発中であり、まずは JavaScript のサポートを開始する予定であると述べた。 (現在、JetBrains JavaScript IDE: WebStorm のベータ サポートが追加されました。)

Codota の無料バージョンでは、無料で入手できるコードから作成された予測が使用されます。 Enterprise Edition では、トレーニングにプライベート コード リポジトリを使用できます。

リンク: https://www.codota.com/

ディープコード

DeepCode は、AI のガイダンスに従ってコードを自動的にレビューし、潜在的なセキュリティの脆弱性を検出できます。 Kite や Codota と同様に、DeepCode はパブリック リポジトリで利用可能なコードを分析して、共通のパターンを見つけます。しかし、DeepCode はこれらのパターンを使用してセキュリティの脆弱性を特定します。

DeepCode は、セキュリティ上重要なポイントに到達する前にユーザー入力がどのように処理されるかを判断する「汚染分析」に重点を置いています。ユーザー入力から SQL クエリに直接送信されるデータは「汚染されている」とみなされ、送信しても安全であると検証されない場合はアラームが発生します。

DeepCode がフラグを付けると主張する重大なバグには、クロスサイト スクリプティング、SQL インジェクション攻撃、リモート コード実行、パス トラバーサル攻撃など、Web アプリケーションによくあるセキュリティ問題が含まれます。

DeepCode の分析は GitHub および Bitbucket リポジトリで利用でき、オープンソース プロジェクトまたは最大 30 人の開発者がいるプライベート プロジェクトでは無料で利用できます。 DeepCode はオンプレミスのコード ホスティング (GitHub Enterprise など) のスキャンにも使用できます。価格表はリクエストに応じて提供されます。

リンク: https://www.deepcode.ai/

マイクロソフトPROSE

PROSE は「Program Synthesis by Examples」の略です。 Microsoft のこのプロジェクトは、サンプルの入力と出力からコードを生成するための SDK です。したがって、PROSE は予測コーディング ツールを構築するために使用できるツールキットですが、それ自体は予測コーディング ツールではありません。

PROSE の潜在的な応用分野には、例によるテキストの変換 (1 つの実装は、Excel の Microsoft の「フラッシュ フィル」機能です)、テキスト ファイルからのデータの抽出 (ログ分析など)、およびファイル操作の予測 (例によるテキストの列への分割など) が含まれます。

リンク: https://microsoft.github.io/prose/

Pix2コード

Pix2code の背後にあるアイデアは SF のように聞こえます。 Pix2code にグラフィカル ユーザー インターフェイスのスクリーンショットを提供すると、その GUI をレンダリングするコードが生成されます。 Pix2code は、ソフトウェアに付属するデータセットを使用してトレーニングされたディープラーニング モデルを使用して、Android XML、iOS Storyboard、HTML/CSS などの形式で GUI を生成します。 Pix2code は実験的な研究プロジェクト (「教育目的のみで共有」) であるため、Pix2code を使用して行う作業では、このプロジェクトをさらなる開発の基盤として使用する必要があります。

リンク: https://github.com/tonybeltramelli/pix2code

原題: ソフトウェア開発を容易にする 5 つの機械学習ツール、著者: Serdar Yegulalp

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  2019 年に知っておくべき機械学習向け Python ライブラリ トップ 10

>>:  チャットボット vs モバイルアプリ: 未来はどちらの手に?

ブログ    
ブログ    

推薦する

...

...

業界の洞察 | スマート シティと省エネ通信インフラ

スマートグリッドはエネルギー配給と通信ネットワークに革命をもたらす以下では、スマートグリッドの主な特...

家のドアをロックするChuangmi Technologyは、スマートホームセキュリティブランドをリードするスマートドアロックC1を発売しました。

「そう遠くない将来、スマートホームシステムを備えていない家庭は、インターネットにアクセスできない今...

人工知能は人間に取って代わろうとしているのでしょうか、あるいは人間を支配しようとしているのでしょうか?本当にそうなのでしょうか?

生産性が徐々に生産と生活をカバーするようになると、ロボットはすぐに生活のあらゆる分野に参入し、一部の...

データ サイエンスの初心者の場合は、まずはここにいくつかのアルゴリズムを紹介します。

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

...

TigerGraphは、伝染病の予防と制御を完全にサポートするために、エンタープライズレベルのバージョンのライセンスを無償で公開します。

新型コロナウイルスによる肺炎の発生以来、全国の人々が不安に思っています。世界をリードするスケーラブル...

...

スマートヘルスケアが業界のトレンドをリード、AI無人薬局の導入が加速

スマート医療産業の急速な発展は、多くの患者に恩恵をもたらしています。伝統的な医療業界をアップグレード...

...

...

GPT-4とMidjourneyに加えて、Tan Pingの起業家チームは3D基本モデルを構築したいと考えています。

少し前にOpenAIが驚くべき生成効果を持つグラフィックモデルDALL・E 3をリリースしました。た...

企業がAIベースのツールを使用して脆弱性を管理する方法

脆弱性の管理は、セキュリティ専門家にとって最優先事項の 1 つです。セキュリティ チームは、サイバー...

ChatGPTが公式検出ツールを削除、AIテキストは識別できないことを認める

OpenAI は、何の発表もなく、ひっそりと AI テキスト検出ツールをシャットダウンし、ページは直...