1. Въведение
В тази статия ще разгледаме общ преглед на библиотеките с изкуствен интелект (AI) в Java .
Тъй като тази статия е за библиотеките, няма да правим въведение в самия ИИ. Освен това е необходима теоретична основа на AI, за да се използват библиотеките, представени в тази статия.
AI е много широко поле, така че ще се фокусираме върху най-популярните области днес като обработка на естествен език, машинно обучение, невронни мрежи и др. В крайна сметка ще споменем няколко интересни предизвикателства за ИИ, където можете да упражните разбирането си за ИИ.
2. Експертни системи
2.1. Apache Jena
Apache Jena е Java рамка с отворен код за изграждане на семантични уеб и свързани приложения за данни от RDF данни. Официалният уебсайт предоставя подробен урок за това как да използвате тази рамка с бързо въведение в RDF спецификацията.
2.2. Система за представяне и разсъждение на PowerLoom Knowledge
PowerLoom е платформа за създаване на интелигентни, базирани на знанието приложения. Той предоставя на Java API подробна документация, която може да бъде намерена на тази връзка.
2.3. d3web
d3web е механизъм за разсъждения с отворен код за разработване, тестване и прилагане на знания за решаване на проблеми върху дадена проблемна ситуация, с много алгоритми, които вече са включени. Официалният уебсайт предоставя бързо въведение в платформата с много примери и документация.
2.4. Око
Eye е механизъм за разсъждения с отворен код за извършване на полузадните разсъждения.
2.5. Туити
Tweety е колекция от Java рамки за логически аспекти на AI и представяне на знания. Официалният уебсайт предоставя документация и много примери.
3. Невронни мрежи
3.1. Невроф
Neuroph е Java рамка с отворен код за създаване на невронна мрежа. Потребителите могат да създават мрежи чрез предоставен GUI или Java код. Neuroph предоставя API документация, която също обяснява какво всъщност е невронната мрежа и как работи.
3.2. Deeplearning4j
Deeplearning4j е библиотека за задълбочено обучение за JVM, но също така предоставя API за създаване на невронна мрежа. Официалният уебсайт предлага много уроци и прости теоретични обяснения за задълбочено обучение и невронни мрежи.
4. Обработка на естествен език
4.1. Apache OpenNLP
Библиотеката Apache OpenNLP е набор от инструменти за машинно обучение за обработка на текст на естествен език. Официалният уебсайт предоставя API документация с информация за това как да използвате библиотеката. Ето въведение в Apache OpenNLP.
4.2. Станфорд CoreNLP
Stanford CoreNLP е най-популярната Java NLP рамка, която предоставя различни инструменти за изпълнение на NLP задачи. Официалният уебсайт предоставя уроци и документация с информация за това как да използвате тази рамка.
5. Машинно обучение
5.1. Библиотека за машинно обучение на Java (Java-ML)
Java-ML е Java рамка с отворен код, която предоставя различни алгоритми за машинно обучение, специално за програмисти. Официалният уебсайт предоставя API документация с много кодови проби и уроци.
5.2. RapidMiner
RapidMiner е платформа за наука за данни, която предоставя различни алгоритми за машинно обучение чрез GUI и Java API. Той има много голяма общност, много налични уроци и обширна документация.
5.3. Weka
Weka е колекция от алгоритми за машинно обучение, които могат да бъдат приложени директно към набора от данни, чрез предоставения GUI или извикан чрез предоставения API. Подобно на RapidMiner, общността е много голяма, като предоставя различни уроци за Weka и самото машинно обучение.
5.4. Encog Framework за машинно обучение
Encong е рамка за машинно обучение на Java, която поддържа много алгоритми за машинно обучение. Разработен е от Джеф Хийтън от Heaton Research. Официалният уебсайт предоставя документация и много примери.
5.5. Дълбока Java библиотека (DJL)
Deep Java Library е библиотека с отворен код, разработена от AWS Labs. Той предоставя интуитивна независима от API API на Java за обучение и тестване на учебни модели. Документация и примери са достъпни в GitHub.
6. Генетични алгоритми
6.1. Jenetics
Jenetics е усъвършенстван генетичен алгоритъм, написан на Java. Той осигурява ясно разделяне на концепциите на генетичния алгоритъм. Официалният уебсайт предоставя документация и ръководство за потребителите за нови потребители.
6.2. Часовник Framework
Часовникът Framework е рамка за внедряване на генетични алгоритми в Java. Официалният уебсайт предоставя документация, примери и допълнителна информация за самата рамка.
6.3. СЕС 23
ECJ 23 е базирана на Java изследователска рамка със силна алгоритмична подкрепа за генетични алгоритми. ECJ е разработен в лабораторията за еволюционно изчисление ECLab на университета Джордж Мейсън. Официалният уебсайт предоставя обширна документация и уроци.
6.4. Пакет за генетични алгоритми на Java (JGAP)
JGAP е компонент за генетично програмиране, предоставен като Java рамка. Официалният уебсайт предоставя документация и уроци.
6.5. Ева
Ева е проста рамка за еволюционен алгоритъм на Java OOP.
7. Автоматично програмиране
7.1. Spring Roo
Spring Roo е лек инструмент за разработчици от Spring. Той използва смесици AspectJ, за да осигури разделяне на проблемите по време на двупосочна поддръжка.
7.2. Акселео
Acceleo е генератор на отворен код за Eclipse, който генерира код от EMF модели, дефинирани от всеки метамодел (UML, SysML и др.).
8. Предизвикателства
Тъй като AI е много интересна и популярна тема, има много предизвикателства и състезания онлайн. Това е списък с някои интересни състезания, където можете да тренирате и да тествате уменията си:
- Кагъл
- Angry Birds AI Competition
- AI игри
- Боен код
- Виндинум
9. Заключение
В тази статия представихме различни рамки на Java AI, които могат да се използват в ежедневната работа.
Също така видяхме, че AI е много широко поле с много рамки и услуги - всичко това може да направи вашите приложения по-добри и по-иновативни.