AIがPythonの記述を手助けし、インストールはたった5ステップで完了し、自由に調整できます。

AIがPythonの記述を手助けし、インストールはたった5ステップで完了し、自由に調整できます。

[[269874]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

コードを 1 行ずつ入力するのは、素手でレンガを動かすようなものです。賢いプログラマーはこう言います。「生産性を解放したいのです!」

たとえば、次のようになります。

機械学習の時代では、AI によるインテリジェントなコード補完はもはや夢ではありません。さまざまな IDE やプラグインが、プログラマーのキー入力回数を減らし、キーボードの寿命を延ばすために懸命に取り組んでいます。

スリランカのプログラマーもキーボードケア協会に参加しました。彼はシンプルなディープラーニングモデルを使用して、Pythonコードの自動補完という目標を達成しようとしましたが、その効果は驚くほど良好でした。プロジェクトはオープンソースになりました!

シンプルなモデルは強力

実験的な考え方から、このプロジェクトでは、スリランカ人は単純な LSTM (Long Short-Term Memory) モデルのみを使用しました。

予測を行うために使用されるアルゴリズムは、ヒューリスティックなグラフ検索アルゴリズムであるビーム検索です。深度拡張の各ステップを実行する際、ビーム検索では品質の高いノードのみが保持されるため、スペースの消費が削減され、時間効率が向上します。ビーム検索アルゴリズムは最大 10 文字の予測を実現できます。

モデルに入力されるデータはトークン化された Python コードであり、コメント、文字列、空白行は事前にクリーンアップされています。

トレーニング効果は以下のとおりです。

緑色の文字が自動補完の開始位置です。TAB キーを押して補完を選択します。灰色でハイライトされた部分は AI によって追加されたコードです。

彼によると、このような単純なモデルでも、ディープラーニングを使用して Python コードを自動的に補完することで、キー入力回数を 30 ~ 50% 削減できるとのことで、これは本当に驚きです。

GitHub では、この人物が Python パーサーを提供しており、他の言語用のパーサーが書かれていれば、このソリューションを他の言語に拡張して、Java の自動補完、C の自動補完などを実現できます。

使い方

効果を自分で試してみませんか?

問題ありません。わずか 5 つのステップで独自のオートコンプリート モデルをトレーニングできます。

[[269875]]

1. 機械学習の実験環境(ラボ、記事の最後にあるアドレスを参照)をインストールします。

2. データを ./data/source にコピーします。

3. extract_code.py を実行してすべての Python ファイルを収集し、エンコードして all.py にマージします。

4.evaluate.py を実行してモデルを評価します。

5. train.py を実行してモデルをトレーニングします。

まだ成長が必要

方法は簡単で効果もかなり良いです。このプロジェクトには大きな可能性があるようです。しかし、理想は満ち溢れているが、現実はまだ少し足りない。この新しい AI は、まだ多くの成長上の課題に直面しています。

課題1: 効率の低さ

1 つ目は、そのパフォーマンスが実際の使用のニーズをまだ満たしていないことです。エディター インテグレーターの制限により、ビーム検索アルゴリズムの効率は低く、コードが完了するまで待つ時間よりも、数行のコードを手動で入力する時間の方が長くなります。

これに対してスリランカの担当者は、次のステップでは異なるアーキテクチャを使用して推論パフォーマンスを向上させるつもりであり、誰もがアイデアや提案を共有することを歓迎すると述べました。

課題2: 強力な先人

Redditのユーザーはまた、機械学習を使ってコードを完成させるというアイデアには、Trith Venturesから投資を受けたKiteなど、すでに比較的成功した実装ソリューションが存在すると指摘した。

世界中で 30,000 人を超える Python 開発者が、現在最高の Python 自動補完ツールとして知られている Kite を使用しています。 Kite はコードを完成させるだけでなく、ドキュメントを省略して他のユーザーが関数をどのように使用しているかをリアルタイムで理解するのにも役立ちます。同時に、カスタム コード ベースでの定義と使用方法も提供できます。

Python の作者でさえ、Kite に賛成せずにはいられませんでした。これは本当に素晴らしいです。

前身のKiteと比較すると、このプロジェクトはまだ非常に未熟です。しかし、Kiteはオープンソースではなく、補助として使用されるクラウドエンジンもセキュリティに関する疑問を引き起こしています。一部のネットユーザーは次のように述べています。

職場で Kite を使用すると、会社の法務部門が激怒する可能性が高いです。

さらに、一部のネットユーザーは、AI と Pycharm を比較するとどうなるのか興味を持っています。結局のところ、Pycharm の自動補完はすでに非常に便利です。

ポータル

GitHub: https://github.com/vpj/python_autocomplete より

ラボ: https://github.com/vpj/lab

<<:  人工知能やロボットによって仕事が奪われた後、人々の収入はどこから来るのでしょうか?考えるための材料

>>:  AIが科学研究を「行う」ことを学習し、ネイチャー誌に発表。知湖ネットユーザー:水を見るのは耐えられない

ブログ    
ブログ    
ブログ    

推薦する

あなたの疑問に答える3つの側面:「怠け者」は人工知能に置き換えられるでしょうか?

100年前、女性は衣服を洗うときに手で「こする」必要がありました。 50 年前、テレビのチャンネル...

大規模製造企業におけるインテリジェントな意思決定シナリオの分析

1. 製造業の発展の現状まず、製造業企業の発展状況について紹介します。 1. 企業経営は直線的な発展...

...

中国科学院とディープマインドが協力し、ディープラーニングを使って脳が顔を認識する仕組みを解明

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

エンタープライズグレードのインテリジェントオートメーションガイド

エンタープライズ グレードのインテリジェント オートメーションとは何ですか?エンタープライズ レベル...

北京大学はChatGPTを使用して開発チームを構築し、AIが人間の介入なしにソフトウェア開発を自律的に完了します

「一人の能力には限界があるが、チームの力は無限である。」この言葉は、現実世界のソフトウェア開発に鮮や...

...

人間とコンピュータのインタラクション技術の現状と進化 将来、私たちはどのように機械とコミュニケーションをとるのでしょうか

コンピューターやその他の機械は、生産性を高め、より多くのことを学び、お互いのつながりを保つことを可能...

Ctrip カスタマー サービス ロボット ASR エンジンの負荷分散の実践

著者についてCtrip の技術専門家である Yu Xiu 氏は、電話の音声およびビデオ通信やインテリ...

...

2021年にITリーダーがAIと機械学習に期待すること

毎年末と翌年の初めに、IT 思想リーダーが翌年のテクノロジー、革新的なサービス、業界の進歩などの開発...

人工知能への恐怖とその対処法5つ

AI テクノロジーを導入する IT リーダーは、ある程度の不安を感じるかもしれませんが、それには十分...

ビジネスマーケティングにおける人工知能の6つの応用

[[378540]] [51CTO.com クイック翻訳] 今日、人工知能(AI)に基づくソリューシ...

AI革命はネットゼロデータセンターに終止符を打つのでしょうか?

これらの施設は重要であるにもかかわらず、あまり理解されていません。しかし、最近ではデータセンターに注...