ソフトウェア開発を簡素化する 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 モバイルアプリ: 未来はどちらの手に?

ブログ    
ブログ    
ブログ    

推薦する

Toutiaoに加えて、テキスト推奨の成功したアプリケーション事例は他に5つあります。

テキスト推奨は、推奨システムの応用シナリオとして、商業的に実装されて成功しています。最もよく知られて...

人工知能:現在も将来も有望

最近、2020年世界人工知能会議が中国上海で開催されました。各国の専門家らがオンラインで議論し、人工...

ChatGPTは人間よりも優れているか? - チューリングテストの観点からの議論

翻訳者|朱 仙中レビュー | Chonglou概要:機械は考えることができるか?この論文では、この問...

...

...

ハッカーがテスラの自動運転システムの「隠しモード」を解除

最近開催されたカオスコンピューティングカンファレンスで、ベルリン工科大学のサイバーセキュリティ研究者...

ヴィンセントの3Dモデルが大躍進しました! MVDreamは、超リアルな3Dモデルを一文で生成します

すごいですね!数語を入力するだけで、美しく高品質な 3D モデルを作成できるようになりました。ちょう...

Linuxに顔認識ログインを追加する方法

最近、Deepin OS 20.05がリリースされ、追加された顔認識機能がコミュニティの注目を集めて...

Amap、ADAS警告ナビゲーション機能を発表:視覚AI技術を使用して車両と歩行者の衝突をインテリジェントに警告

11月18日、高徳地図の新バージョンは革新的なADAS警告ナビゲーション機能をリリースしました。視覚...

人工知能専攻では主に何を学ぶのですか?キャリアの方向性と展望は何ですか?

人工知能専攻は、工学専攻の下にある電子情報専攻に属します。ここでは、人工知能専攻を提供している大学と...

ロボットになることでのみロボットを倒すことができる

人類はロボットの時代に突入している。ロボット工学の専門家や哲学者の中には、将来、高度に知能化されたロ...

研究者は、現在のAIトレーニングの効率が低すぎると不満を述べている

海外メディアによると、グーグルの研究者は以前、グーグルが現在検索やその他のテキスト分析製品に使用して...

NLP/CVモデルは国境を越えて、ビジュアルトランスフォーマーはCNNを超えるのか?

コンピュータービジョンの分野では、畳み込みニューラルネットワーク (CNN) が常に市場を支配してき...

機械学習モデルを .NET 環境にデプロイするにはどうすればよいでしょうか?

データ中心のエンジニアにとって、Python と R はデータセンターで最も人気のあるプログラミング...

機械知能に取って代わられない5つのスキル

「機械知能が人間のために行っている 5 つのこと」という記事では、機械が常に新しい奇跡を生み出してい...