1前書き
この記事では、Java ** の人工知能(AI)ライブラリーの概要について説明します。
この記事はライブラリーに関するものなので、AI自体については紹介しません。さらに、この記事で紹介するライブラリーを使用するには、AIの理論的背景が必要です。
AIは非常に広い分野なので、自然言語処理、機械学習、ニューラルネットワークなど、今日最も人気のある分野に焦点を当てます。最後に、AIについての理解を深めることができる興味深いAIの課題についてはほとんど触れません。
2エキスパートシステム
* 2.1。 Apache Jena **
Apache Jena は、RDFデータからセマンティックWebおよびリンクデータアプリケーションを構築するためのオープンソースのJavaフレームワークです。
公式Webサイトには、このフレームワークの使用方法に関する詳細なチュートリアルと、RDF仕様の概要が記載されています。
2.2. PowerLoomの知識表現と推論システム
PowerLoom は、インテリジェントな知識ベースのアプリケーションを作成するためのプラットフォームです。それはこのhttp://www.isi.edu/isd/LOOM/PowerLoom/documentation/manual/manual manual 6.html#Java-API[link]で見つけることができる詳細なドキュメンテーションをJava APIに提供します。
2.3. d3web
d3web は、問題解決のための知識を特定の問題の状況に合わせて開発、テスト、および適用するためのオープンソースの推論エンジンです。公式Webサイトでは、多くの例とドキュメントと共にプラットフォームの概要を説明しています。
2.4. 眼
Eye は、セミバックワード推論を実行するためのオープンソースの推論エンジンです。
2.5. トゥイーティー
Tweety は、AIと知識表現の論理的側面に関するJavaフレームワークのコレクションです。公式Webサイトには、ドキュメントと多くの例があります。
3ニューラルネットワーク
3.1. ニューロフ
Neuroph は、ニューラルネットワーク作成のためのオープンソースのJavaフレームワークです。ユーザーは提供されたGUIまたはJavaコードを介してネットワークを作成できます。 Neurophは、ニューラルネットワークが実際にどのように機能し、どのように機能するのかを説明するAPIドキュメントを提供しています。
3.2. ディープラーニング4j
Deeplearning4j はJVM用のディープラーニングライブラリですが、ニューラルネットワーク作成用のAPIも提供します。
公式Webサイトでは、ディープラーニングおよびニューラルネットワークに関する多数のチュートリアルと簡単な理論的説明が提供されています。
4自然言語処理
4.1. Apache OpenNLP
Apache OpenNLP libraryは、自然言語テキストを処理するための機械学習ベースのツールキットです。公式Webサイトは、ライブラリの使用方法に関する情報を含むAPIドキュメントを提供しています。これはリンクです:/apache-open-nlp[Apache OpenNLPの紹介]。
4.2. スタンフォードCoreNLP
Stanford CoreNLP は、NLPタスクを実行するためのさまざまなツールを提供する最も人気のあるJava NLPフレームワークです。公式Webサイトでは、このフレームワークの使用方法に関する情報を含むチュートリアルとドキュメントを提供しています。
5機械学習
5.1. Java機械学習ライブラリ(Java-ML)
Java-ML は、特にプログラマのためにさまざまな機械学習アルゴリズムを提供するオープンソースのJavaフレームワークです。公式Webサイトは、多くのコードサンプルとチュートリアルを含むAPIドキュメントを提供しています。
5.2. RapidMiner
RapidMiner は、GUIおよびJava APIを介してさまざまな機械学習アルゴリズムを提供するデータサイエンスプラットフォームです。
それは非常に大きなコミュニティ、多くの利用可能なチュートリアル、そして広範囲なドキュメントを持っています。
5.3. Weka
Weka は、提供されたGUIを通じて、または提供されたAPIを通じて呼び出すことができる、データセットに直接適用できる機械学習アルゴリズムのコレクションです。 RapidMinerと同様に、コミュニティは非常に大きく、Wekaおよび機械学習自体のためのさまざまなチュートリアルを提供しています。
5.4. Encog機械学習フレームワーク
Encong は、多くの機械学習アルゴリズムをサポートするJavaの機械学習フレームワークです。 Heaton ResearchのJeff Heatonによって開発されました。公式Webサイトには、ドキュメントと多くの例があります。
6. 遺伝的アルゴリズム
6.1. 遺伝学
Java はJavaで書かれた高度な遺伝的アルゴリズムです。それは遺伝的アルゴリズムの概念の明確な分離を提供します。公式Webサイトでは、新規ユーザー向けの資料とユーザーガイドを提供しています。
6.2. 時計職人フレームワーク
Watchmaker Framework は、遺伝的アルゴリズムをJavaで実装するためのフレームワークです。公式Webサイトには、フレームワーク自体に関する文書、例、および追加情報があります。
6.3. ECJ 23
ECJ 23 は、遺伝的アルゴリズムを強力にアルゴリズムでサポートしているJavaベースの研究フレームワークです。 ECJはジョージメイソン大学のECLab Evolutionary Computation Laboratoryで開発されています。公式Webサイトには、豊富なドキュメントとチュートリアルが用意されています。
6.4. Java遺伝的アルゴリズムパッケージ(JGAP)
JGAP は、Javaフレームワークとして提供される遺伝的プログラミングコンポーネントです。公式Webサイトでは、資料とチュートリアルを提供しています。
6.5. エヴァ
Eva は単純なJava OOPの進化的アルゴリズムフレームワークです。
7. 自動プログラミング
7.1. 春のルー
Spring Roo はSpringの軽量開発者ツールです。往復のメンテナンス中に問題を分離するためにAspectJミックスインを使用しています。
7.2. アクセラロ
Acceleo はEclipse用のオープンソースコードジェネレータで、あらゆるメタモデル(UML、SysMLなど)から定義されたEMFモデルからコードを生成します。
8課題
AIは非常に興味深く人気のあるトピックなので、オンラインでは多くの課題と競争があります。これはあなたがあなたのスキルを訓練しテストすることができるいくつかの興味深い競技のリストです:
-
http://www.aibirds.org/【Angry Birds AI Competition】
9結論
この記事では、日常業務で使用できるさまざまなJava AIフレームワークを紹介しました。
また、AIは多くのフレームワークとサービスを備えた非常に広い分野であることも確認しました。これらすべてが、アプリケーションをより優れた革新的なものにすることができます。