Tuesday, May 30, 2017

Tài liệu hướng dẫn sử dụng API Vietnam AI Hackathon

Tại cuộc thi Vietnam AI Hackathon, Tập đoàn FPT mở rất nhiều dữ liệu và API giá trị để giúp các đội thi phát triển ý tưởng, tạo ra những ứng dụng áp dụng Trí tuệ nhân tạo giúp người dùng có những trải nghiệm không giới hạn. Dưới đây là tài liệu chi tiết của các API.
SECURITY, COMMERCE & INFRASTRUCTURE
LANGUAGE & SPEECH
VISION & DATA INSIGHTS
DATA
NHÓM API SẢN PHẨM CỦA SENDO
Sendo.vn cung cấp 3 APIs: Lấy danh sách sản phẩm theo ngành hàng; Tìm kiếm sản phẩm trên Sendo.vn; Lấy thông tin chi tiết sản phẩm trên Sendo.vn (Link chi tiết: Download tại đây)
Một số bài toán gợi ý từ Sendo.vn, để các đội có thể tham khảo:
  • Trải nghiệm mua hàng thông minh: 
    • Ví dụ Dùng Chatbot kết hợp với APIs của Sendo.vn, để giúp người dùng browse / tìm kiếm sản phẩm ngay trong giao diện chat
  • Phát hiện hàng giả / hàng nhái
    • Ví dụ: Dùng APIs để crawl sản phẩm trên Sendo.vn
    • Sau đó, khi người dùng input một tên thương hiệu như “adidas”, chương trình sẽ trả về tất cả những sản phẩm được phát hiện là hàng giả / hàng nhái của thương hiệu đó
    • Các thông tin chương trình có thể sử dụng để phát hiện hàng giả / hàng nhái:
      • Ứng dụng các thuật toán nhận dạng hình ảnh để tìm xem trong hình ảnh của sản phẩm có chứa logo của Adidas hay không
      • Giá của sản phẩm: Các sản phẩm hàng giả / hàng nhái thường có giá thấp hơn (nhiều) so với các sản phẩm chính hãng
  1. Lấy danh sách sản phẩm theo ngành hàng
Parameter nameDescription
Category_level_1Category alias level 1
Category_level_2Category alias level 2
Category_level_3Category alias level 3
pThứ tự trang. Ví dụ: p=1, p=2, ..
qKeyword để tìm kiếm trong ngành hàng
  • Response Values:
Key nameDescription
category_level1_idID của category level 1
category_level1_nameTên của category level 1
category_level2_idID của category level 2
category_level2_nameTên của category level 2
category_level3_idID của category level 3
category_level3_nameTên của category level 3
display_styleCách hiển thị sản phẩm. – List: hàng dọc
– Grid: dạng lưới
total_pageTổng số trang tồn tại sản phẩm
total_countTổng số sản phẩm thỏa điều kiện hiển thị
keywordKeyword được tìm kiếm theo ngành hàng
product_idID của sản phẩm
nameTên sản phẩm
admin_idID của shop
brand_idID của thương hiệu
app_dis_count_percentTỉ lệ giảm giá khi mua trên app
is_adsSản phẩm đăng ký quảng cáo
is_eventSản phẩm đăng ký tham gia event
order_count_dd_1000_codTổng số đơn hàng đặt mua sản phẩm trong 3 tháng
cat_pathUrl sản phẩm
category_idCategory ID của sản phẩm
counter_viewSố lượt xem sản phẩm
counter_likeSố lượt yêu thích sản phẩm
deposit_amountSố tiền của thanh toán trước khi đặt hàng
free_shippingMiễn phí vận chuyển
img_urlHình ảnh sản phẩm
img_url_mobHình ảnh sản phẩm
is_certifiedSản phẩm được được duyệt
is_promotionSản phẩm có khuyến mãi
priceGiá bán sản phẩm
promotion_percentTỉ lệ % giảm giá trên sản phẩm
final_promotion_percentTổng tỉ lệ % giảm giá trên sản phẩm
shop_idID của shop
shop_nameTên shop
special_priceGiá khuyến mãi
loyalty_price
final_priceGiá bán sau khuyến mãi
percent_starTỉ lệ đánh giá sản phẩm
is_product_installmentSản phẩm cho trả góp
url_icon_eventUrl icon hiển thị cho event
2. Tìm kiếm sản phẩm trên Sendo.vn

Parameter nameDescription
pThứ tự trang. Ví dụ: p=1, p=2, ..
qKeyword để dùng tìm kiếm
  • Response Values
Key nameDescription
total_pageTổng số trang tồn tại sản phẩm
total_countTổng số sản phẩm thỏa điều kiện hiển thị
keywordKeyword được tìm kiếm theo ngành hàng
product_idID của sản phẩm
nameTên sản phẩm
admin_idID của shop
brand_idID của thương hiệu
app_dis_count_percentTỉ lệ giảm giá khi mua trên app
is_adsSản phẩm đăng ký quảng cáo
is_eventSản phẩm đăng ký tham gia event
order_count_dd_1000_codTổng số đơn hàng đặt mua sản phẩm trong 3 tháng
cat_pathUrl sản phẩm
category_idCategory ID của sản phẩm
counter_viewSố lượt xem sản phẩm
counter_likeSố lượt yêu thích sản phẩm
deposit_amountSố tiền của thanh toán trước khi đặt hàng
free_shippingMiễn phí vận chuyển
img_urlHình ảnh sản phẩm
img_url_mobHình ảnh sản phẩm
is_certifiedSản phẩm được được duyệt
is_promotionSản phẩm có khuyến mãi
priceGiá bán sản phẩm
promotion_percentTỉ lệ % giảm giá trên sản phẩm
final_promotion_percentTổng tỉ lệ % giảm giá trên sản phẩm
shop_idID của shop
shop_nameTên shop
special_priceGiá khuyến mãi
loyalty_price
final_priceGiá bán sau khuyến mãi
percent_starTỉ lệ đánh giá sản phẩm
is_product_installmentSản phẩm cho trả góp
url_icon_eventUrl icon hiển thị cho event
3. Lấy thông tin chi tiết sản phẩm trên Sendo.vn
Parameter nameDescription
product_idID của sản phẩm
  • Response Values
Key nameDescription
idID của sản phẩm
nameTên sản phẩm
priceGiá bán sản phẩm
admin_idID của shop
special_priceGiá khuyến mãi
imagesDanh sách hình ảnh sản phẩm
final_priceGiá bán cuối cùng sau khuyến mãi
deposit_amountSố tiền đặt cọc
promotion_percentTỉ lệ % giảm giá sản phẩm
app_dis_count_percentTỉ lệ % giảm giá khi mua hàng bằng mobile apps
final_promotion_percentTổng tỉ lệ % được giảm giá
is_promotionSản phẩm có khuyến mãi1: Có
0: Không
descriptionMô tả chi tiết sản phẩm
category_idID danh mục của sản phẩm
Vd: 1/2/8/664/667
Bỏ 1/2/ đi vì đây là ID default của root8: level 1664: level 2667: level 3
created_atThời gian đăng bán (Unix timestamp)
cat_pathUrl của sản phẩm
total_commentTổng số bình luận của sản phẩm
total_rating_imageTổng số đánh giá có hình ảnh
counter_likeTổng số lượt yêu thích sản phẩm
order_countTổng số đơn hàng đã đặt mua sản phẩm
url_keyURL key
skuSKU của sản phẩm
sku_userSKU user shop tự định nghĩa
attributeThông số thuộc tính sản phẩm
rating_infoThông tin đánh giá sản phẩm
product_relatedsDanh sách ID các sản phẩm liên quan
promotion_start_dateNgày bắt đầu chương trình khuyến mãi (Unix Timestamp)
shop_free_shippingShop hỗ trợ miễn phí vận chuyển cho sản phẩm
short_descriptionMô tả ngắn về sản phẩm
stock_statusTrạng thái còn hàng1: Còn hàng
0: Hết hàng
status_textText hiển thị trạng thái sản phẩm
shipping_supportHỗ trợ phí vận chuyển{
order_amount: 200000, // Giá trị đơn hàng tối thiểu
seller_support_fee: 20000, // Giá trị mức phí shop hỗ trợ vận chuyển
position: 1 // Thứ tự hiển thị
}
brand_idID của thương hiệu
brand_nameTên thương hiệu
categoriesCategory path của sản phẩm
shop_infoThông tin chủ shop
status_quantitySố lượng tồn kho

NHÓM API SẢN PHẨM CỦA FPT TRADING
  1. Website so sánh giá bán lẻ sản phẩm FTG
  • Gợi ý ứng dụng:
    • Xây dựng ứng dụng (web/app) hiển thị thông tin các sản phẩm FTG bán theo danh mục, hiển thị giá bán lẻ tham khảo của ít nhất 10 website bán lẻ lớn tại Việt Nam (hiển thị theo giá tăng dần)
    • Website có tình năng filter sản phẩm theo cấu hình chi tiết (ví dụ: RAM, CPU, HDD,…)
  • API:
  1. Ứng dụng Mobile Xác nhận giao hàng
GENDER RECOGNITION
  • Mô tảXác định hoặc xác minh một người từ một hình ảnh kỹ thuật số. Một trong những phương pháp để thực hiện nhận biết là so sánh một số đặc điểm nhất định trên khuôn mặt từ hình ảnh và cơ sở dữ liệu về khuôn mặt. Sử dụng các thuật toán nhận diện khuôn mặt để xác định các đặc điểm bằng cách tách các điểm mốc, hoặc các đặc điểm từ một hình ảnh khuôn mặt của đối tượng cần xác định.
  • Gợi ý ứng dụng: Công nghệ này thường được sử dụng trong các hệ thống an ninh và có thể được so sánh với các phương pháp sinh trắc học khác như hệ thống nhận dạng vân tay hoặc mống mắt.
  • Demo: https://openfsoft-beta.fsoft.com.vn/livedemo/5
  • Request URL: https://openfsoft-beta.fsoft.com.vn/apigateway/api/face/file
  • Method: POST
  • Parameters (form-data):
KeyValue
filehuman image file
  • Response Body:[{“fx”:192,”fy”:35,”fh”:99,”fw”:99,”eyes”:[{“ex”:19,”ey”:30,”ew”:23,”eh”:23},{“ex”:52,”ey”:30,”ew”:24,”eh”:24}],”gender”:”male”}]
LPR – HỆ THỐNG ĐỌC BIỂN SỐ XE
  • Mô tả: Đầu vào sẽ là ảnh xe ô tô có kèm biển số xe, đầu ra là biển số xe của xe đó theo dạng text.
  • Gợi ý ứng dụng: Đọc biển số xe
  • Địa chi truy cập: https://openfsoft-beta.fsoft.com.vn/livedemo/29
  • Request URL: https://openfsoft-beta.fsoft.com.vn/apigateway/api/lprjp
  • Method: POST
  • Parameters (form-data):
KeyValue
fileJapanese license plate image file
  • Response Body: {“issuingOffice”:”長野”,”vehicleClass”:”1″,”hiragana”:”せ”,”lowerNumber”:”7809″}
FACIAL RECOGNITION – NHẬN DIỆN KHUÔN MẶT
KeyValue
urla image url
  • Response Body: [[{“box”: {“bottom”: 166,”height”: 130,”left”: 294,”right”: 423,”top”:37,”width”: 130},”name”: “Barack Obama”}]]
OBJECT RECOGNITION – NHẬN DIỆN ĐỐI TƯỢNG
KeyValue
imagefilean object image file
  • Response Body:[[{“confidence”: 0.96653318, “bbox”: [254, 35, 441, 231], “label”: “cat”}], [{“confidence”: 0.96318173, “bbox”: [37, 11, 251, 231], “label”: “dog”}]]
EMOTION ANALYSIS – PHÂN TÍCH CẢM XÚC KHI GỌI VIDEO
  • Mô tả: Phân tích cảm xúc nhằm xác định thái độ của người nói, nhà văn hoặc đối tượng khác liên quan đến một số chủ đề hoặc ngữ cảnh tổng thể hoặc phản ứng về mặt cảm xúc đối với một tài liệu, sự tương tác hoặc một sự kiện nào đó. Thái độ có thể là sự đánh giá, trạng thái tình cảm (của tác giả hoặc diễn giả), hoặc sự thể hiện cảm xúc dự định trước (hiệu ứng cảm xúc đã định trước của tác giả hoặc người đang cùng nói chuyện).
  • Gợi ý ứng dụng: Bản demo này là một ứng dụng có khả năng tìm và theo dõi khuôn mặt trong bất kỳ bức ảnh hoặc hình ảnh nào, sau đó cố gắng xác định những cảm xúc tích cực, tiêu cực và trung lập của khuôn mặt qua thị giác máy tính và học máy.
  • Địa chỉ truy cập: https://openfsoft-beta.fsoft.com.vn/livedemo/13
  • Request URL: https://openfsoft-beta.fsoft.com.vn/apigateway/api/emotion/upload_json
  • Method: POST
  • Parameters (form-data):
KeyValue
imagefilea face image file
  • Response Body:[{“faceRectangle”: {“width”: 129,”top”: 109,”left”: 251,”height”: 129},”scores”: {“fearful”: 0.00019812668324448168,”angry”: 0.0005837445496581495,”sad”: 0.00004130572415306233,”neutral”: 0.0003822192666120827,”disgusted”: 0.000013609809684567153,”surprised”: 0.0005325537640601397,”happy”: 0.9982484579086304}}]
ENTITY EXTRACTION – XỬ LÝ NGÔN NGỮ TỰ NHIÊN, CHATBOT
  • Tổng quan: Đây là một triển khai Java của một bộ Named-entity recognizer (NER). NER đặt tên các chuỗi từ trong một văn bản là tên của sự vật, chẳng hạn như tên người và tên công ty hoặc vị trí. Trong bản demo bao gồm các bộ nhận dạng thực thể có tên cho tiếng Anh, đặc biệt là cho 3 lớp (PERSON, ORGANIZATION, và LOCATION).
  • Ứng dụng: Named-entity recognizer (NER) (còn gọi là nhận diện đối tượng, tập hợp thực thể và khai thác thực thể) là một phần của việc khai thác thông tin tìm kiếm để định vị và phân loại các thực thể được đặt tên trong văn bản thành các loại được xác định trước như tên người, vị trí, biểu hiện về thời gian, số lượng, giá trị tiền tệ, tỷ lệ phần trăm, v.v …
  • Lợi ích & Giá trị: Phần mềm này cung cấp sự thi hành đồng bộ các mô hình chuỗi tuyến tính các Trường điều kiện ngẫu nhiên (Conditional Random Field – CRF) (theo thứ tự ngẫu nhiên). Nghĩa là, bằng cách đào tạo mô hình của riêng bạn trên dữ liệu đã được dán nhãn, bạn thực sự có thể sử dụng mã này để xây dựng các mô hình trình tự cho NER hoặc thục hiện bất kỳ công việc nào khác.
  • Trường hợp sử dụng
    • Xử lý ngôn ngữ tự nhiên
    • Chatbot
  • Request URL: https://openfsoft-beta.fsoft.com.vn/apigateway/api/ner/c?s={query_string}
  • Method: GET
  • Parameters:
    • Parameter: s
    • Value: {query string – a sentence}
Example: I am Tom
  • Response Body:
[

  {

    "kind": "PERSON",

    "word": "Tom",

    "start": 5,    "end": 8

  }

]
PARSING, POS TAGGING TOKENS – XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Request URL: https://openfsoft-beta.fsoft.com.vn/apigateway/api/pos/json?s={query_string}
Method: GET
Parameters:
Parameter: s
Value: {query string – a sentence}
Example: I am an IT guy.
Response Body:
 
 {"node": {
   "node": {
     "node": [
       {
        "node": {
          "leaf": {
            "value": "I"
          },
          "value": "PRP"
        },
        "value": "NP"
      },
      {
        "node": [
          {
           "leaf": {
             "value": "am"
           },
           "value": "VBP"
         },
         {
           "node": [
             {
               "leaf": {
                  "value": "an"
                },
                "value": "DT"
            },
            {
               "leaf": {
                  "value": "IT"
               },
               "value": "NNP"
           },
           {
               "leaf": {
                 "value": "guy"
               },
               "value": "NN"
             }
            ],
            "value": "NP"
          }
        ],
        "value": "VP"
      },
      {
        "leaf": {
           "value": "."
        },
        "value": "."
      }
    ],
    "value": "S"
   },
   "value": "ROOT"
  }
 }

Sunday, May 21, 2017

What Skills Do I Need to Get a Job in Artificial Intelligence?

Automation, robotics and the use of sophisticated computer software and programs characterize a career in artificial intelligence (AI). Candidates interested in pursuing jobs in this field require specific education based on foundations of math, technology, logic, and engineering perspectives. Written and verbal communication skills are also important to convey how AI tools and services are effectively employed within industry settings. To acquire these skills, those with an interest in an AI career should investigate the various career choices available within the field.

Skills and Abilities Helpful to Careers in AI

The most successful AI professionals often share common characteristics that enable them to succeed and advance in their careers. Working with artificial intelligence requires an analytical thought process and the ability to solve problems with cost-effective, efficient solutions. It also requires foresight about technological innovations that translate to state-of-the-art programs that allow businesses to remain competitive. Additionally, AI specialists need technical skills to design, maintain and repair technology and software programs. Finally, AI professionals must learn how to translate highly technical information in ways that others can understand in order to carry out their jobs. This requires good communication and the ability to work with colleagues on a team.

Educational Requirements for Careers in Artificial Intelligence

Basic computer technology and math backgrounds form the backbone of most artificial intelligence programs. Entry level positions require at least a bachelor’s degree while positions entailing supervision, leadership or administrative roles frequently require master’s or doctoral degrees. Typical coursework involves study of:
  • Various level of math, including probability, statistics, algebra, calculus, logic and algorithms.
  • Bayesian networking or graphical modeling, including neural nets.
  • Physics, engineering and robotics.
  • Computer science, programming languages and coding.
  • Cognitive science theory.
Candidates can find degree programs that offer specific majors in AI or pursue an AI specialization from within majors such as computer science, health informatics, graphic design, information technology or engineering.

Types of AI Careers

A career in artificial intelligence can be realized within a variety of settings including private companies, public organizations, education, the arts, healthcare facilities, government agencies and the military. Some positions may require security clearance prior to hiring depending on the sensitivity of information employees may be expected to handle. Examples of specific jobs held by AI professionals include:
  • Software analysts and developers.
  • Computer scientists and computer engineers.
  • Algorithm specialists.
  • Research scientists and engineering consultants.
  • Mechanical engineers and maintenance technicians.
  • Manufacturing and electrical engineers.
  • Surgical technicians working with robotic tools.
  • Medical health professionals working with artificial limbs, prosthetics, hearing aids and vision restoration devices.
  • Military and aviation electricians working with flight simulators, drones and armaments.
  • Graphic art designers, digital musicians, entertainment producers, textile manufacturers and architects.
  • Post-secondary professors at technical and trade schools, vocational centers and universities.
From its inception in the 1950’s through the present day, artificial intelligence continues to advance and improve the quality of life across multiple industry settings. As a result, those with the skills to translate digital bits of information into meaningful human experiences will find a career in artificial intelligence to be sustaining and rewarding.

What are prerequisites for learning Artificial Intelligence?

10 Answers
Roman Trusov
History.
With all the hype for deep learning nowadays people are missing so many great ideas that were proposed and even developed to a significant degree in the past. The results that neural networks show on highly specialized tasks like playing Go or Atari games are incredibly misleading. They make people think that by some additional simple trick the same algorithms can also do everything else.
They can’t.
There were many failed attempts to achieve machine reasoning in the past, performed by very famous people like McCarthy, Vinograd and Minsky. Learning about their experiments and the conclusions drawn from them is the main prerequisite for understanding what really needs to be improved and where the possible solution can be.
All that doesn’t mean skipping the math, but it’s not really the main thing there. You will find out what you lack when you start reading von Neumann and Turing and Rosenblatt and Shannon. Those guys weren’t blinded by 100 million acquisitions in the news and their scientific work was far more related to the actual problem than anything that is being praised in the media. It’s worth noting that their papers are supplemented with a decent amount of philosophical discussion, they try to give clear and unambiguous definitions - it makes their work much easier to understand.
Many paths were tested in that era and many of them are forgotten now. Being well informed about the foundation of the AI field makes one much more desirable collaborator than, say, yet another DL enthusiast.
Also, avoid the software. When you make yourself dependent on the particular tool from the beginning, it shapes your worldview and you tend to miss things you would otherwise notice. Conducting experiments is very good, but knowing what and why you are doing that is more important.
Papers from the 50s are a good start, but I’d not limit myself and basically sift through all highly-cited papers by CS pioneers.
Franck Dernoncourt
Basic math and coding skills. But it really depends on what kind of algorithms you plan to work with. I would say first select the algorithms you're interested in, then explore the corresponding math background you feel you need to understand them. Discrete mathematics is the most widely used in computer science and artificial intelligence, but is probably too broad for your needs. If you're undecided on what branch of AI you want to study, the book Artificial Intelligence: A Modern Approach gives a very nice overview of AI and will help you spot the skills you need.
Chomba Bupe
AI is not like physics or maths it is too broad and largely unsolved. There are no true experts in this area and things are currently changing very fast in this field. What you need is just an overview of the whole field then specialize, like jump into machine learning (ML) later and develop from there, yes you can take a quick look at the history of AI for starters, you also need to know about state spaces and maths such as linear algebra and of course coding skills as well as differentiable calculus. You also need to know about set theories from maths of course as well as logical operations like in digital electronics. You also need to know induction and as well as probability theories.
My favorite approach is to learn as you go, AI is too large to be considered a specialized field, thus only when a particular algorithm or algorithms seems important to the problem you are trying to solve should you go deeper otherwise you might be too theoretical, this brings me to another point.
Do you want to be an AI theorist or a practitioner? These are two very different things, for a theorist you need to know a lot more than is necessary about the field itself thus you don't need coding or experimentations just theories upon theories, this is best done by taking online courses or at Universities for example.
A practitioner on the other hand needs AI techniques to solve complex problems thus here you start with a problem statement and view AI as just another set of tools or methods to help you realize that goal. Thus for self-taught people I recommend being a practitioner and it means getting down and dirty coding, you need to experiment a lot and learn as you go, this way you will be able to apply AI in a manner like no other. You will develop a unique perspective and approach just like athletes have unique abilities because of practice.
Then don't forget one very important prerequisite, passion, without it you are probably wasting your time. It is important to love whatever it is you are trying to achieve because everything is easier that way.
Hope this helps.
Maximilian Unfried
At the end it is all about curiosity and about how eager you are to learn about AI. Do you just want to scratch the surface or do you want to dig deep into the subject. Also from which perspective do you want to look at Artificial Intelligence?
Learning about neuroscience might be helpful if you really want to learn and imitate the brain and are interested in copying nature directly to built AI. Here you might want to built your foundations with some basic biology(what are cells?, how do they communicate?, metabolism?) and elementary physics (mechanics and electronics) and later on combine those two and move towards biophysics before transferring your understanding of how the brain works into the computer.
Computer scientist and mathematicians look at AI from a mathematical point of view which can be a bit abstract from time to time. At the end it comes down to find things to calculate and find fancy ways of making calculations quicker. So it is more about about creating algorithms, which might be inspired by nature but are at the end of the day just models. So here you have to have strong mathematical and coding skills as Faisal Hassan and Franck Dernoncourt mentioned in this post.
A philosopher might ask different questions about AI. A philosopher might think about ethics of AI, it’s implications on society and what it means for humanity in general. You have to be able to really think something through in detail and also doubting your assumptions from time to time.
Paul Tardy
  1. Motivation to study
  2. self-discipline, to actually study
  3. Patience, it’s a long way to go
Real answer:
I guess, if you ask that you actually wonder “can i do it?”. Everybody will just answer you that you can only know by actually do it. You can also wonder “How to do it?” or more specifically “Where to start?”, then for both:
  1. Register either Computer Science / Maths / Applied Math degree.
  2. Register Coursera’s more than famous Machine Learning course by Andrew Ng.
Then you can follow ML masters, or continue the web based learning and competitions (kaagle &co).
As a general advice (started ML with quite a poor math background): don’t be afraid of math. You will need time (a lot) to understand some concepts but you may find the right friend/prof/online resources to tackle it!
Just, DO IT :)
Marco A.V. Bitetto
Normally, you don’t start learning any areas of artificial intelligence until your Master Degree level and Doctoral Degree levels. You also typically need either a Bachelor’s Degree in Computer Systems Engineering (intensive hardware and software based training), or, a conventional Bachelor’s Degree in Computer Science. These are the standard prerequisites for what you are looking to do. Robotronics LLC | Facebook
Naitik Chandak
Hii Sayam Sawai Thanks for A2A.
If I start prerequisites of Artificial Intelligence, then first will be the Interest in A.I.
A.I needs lots of Research before developing any kind of Project. Understanding the flow of data and Most Important the knowledge of Algorithms. The techniques of classifying data, removing noisy / unwanted data and every single thing about Data.
Keep in mind that A.I is based on 2 things. 1. Algorithms 2. Data
here, Programming language doesn’t matter either you can implement in Java, Python, Matlab or R. The key things are Data and Algorithms.
So Before starting with A.I make sure you have good understanding of data and Algorithms.!!!
E-wish you all the best..!
NC - The Fifth Horse
Salageanu Dragos
Nothing, really, just like with all questions like “what do I need to do before I do X?”. Preparation is a form of procrastination. Just google “artificial intelligence” (there LMGTFY), land on the Wikipedia definition of it (like this Artificial intelligence - Wikipedia), then start reading. Whatever you don’t understand, just click on it and find out what’s it about. Wash your eyeballs in random articles about your desired (as well as adjacent) topic, day after day, until you find out what you need to study.
Whenever you contemplate a new subject, you are not aware of what you don’t know, hence this question. You need to read and work a bit to find out. Then, slowly and steadily, you’ll start building that foundation of knowledge and, before you realise it, you’ll be able to answer a question or two on the subject. At some point (some people say 10,000 hours but hey, that’s just a quantitative expression), you’ll be able to master, or at least have some relevant opinions on your topic of choice: Four stages of competence - Wikipedia
Good luck!
Almost all my education (or rather, almost all my valuable education), especially on this topic has been autodidactic, so I may not be the best person to answer this question, but I'll give it a try.
Firstly you need determination to really understand it. Lots of people I know understand what tool or algorithm does what, but don't understand, or at least can't explain why. This makes them valuable from an enterprising stand point, they are efficient when doing things that have been done before, but not valuable from a development stand point; they can't develop new algorithms or trying to solve problems that haven't been solved. So you must decide what you want; research and development in new ai techniques or to be a data scientist.
Secondly I have encountered statistics and computer science concepts again and again. You could study those topics to get a leg up. I might even suggest education yourself on neuroscience, that's where I started and I feel it really helped; after all it is the brain we are trying to emulate.
Muktabh Mayank
IMHO:
essential ones are - Computer Programming, algorithms and basic Maths.
good to have- Optimization and Linear Algebra