Cómo desarrollar un programa simple que tenga Inteligencia Artificial

AI es un término general bajo el cual se reducen cosas como ML, Computer Vision, NLP, Deep Learning, etc.

Entonces, cuando dices que quieres una IA pequeña, la interpreto como un programa basado en ML o en el tema mencionado anteriormente.

Así que voy a proporcionarle un programa de análisis de sentimientos, basado en la calificación del usuario. (Precaución: Sin comentarios, sin explicación, intente entender el código, honestamente es muy sencillo. Pero aún así, si tiene algún problema, envíeme un mensaje … en cualquier momento lo ayudará con seguridad)

solicitudes de importación
importar al azar
importar nltk
de nltk.corpus importar palabras vacías, wordnet
importar re
english_stops = set (stopwords.words (‘english’))
# las palabras a continuación se eliminaron intencionalmente, en base a pocas cosas analíticas
english_stops.add (‘.’)
english_stops.add (‘también’)
english_stops.add (‘get’)

def feature_extractor (documento):
características = {}
ls = []
para document_words en el documento:
para i, word in enumerate (document_words):
if ((word.lower () no en inglés_stops
y word.isalpha ())
o word.lower () == ‘no’):
syn = wordnet.synsets (word.lower ())
v = ‘no’
n = ‘no’
r = ‘no’
a = ‘no’
identidad = ‘desconocido’
si len (syn) es 0:
identidad = ‘desconocido’
continuar
más:
identidad = ‘conocido’
word = word.lower ()
características [‘contiene (% s) con identidad% s’% (word.lower (), identity)] = True
características de retorno

def pre_train_processor (enviado):
rd = re.sub (r ‘(^ @ | @) [^] +’, r “”, enviado)
rd = re.sub (r ‘(^ http | http) [^] +’, r “”, rd)
rd = re.sub (r ‘(\.) * \ 1’, r “.”, rd)
rep = re.findall (r ‘(\ w). * \ 1. * \ 1’, rd)

para ch en rep:
rd = re.sub (r ” + ch + ch + ch + r ‘+’, r ” + ch + ch, rd)
oraciones = nltk.sent_tokenize (rd)
oraciones = [nltk.word_tokenize (enviado) para enviado en oraciones]
devolver oraciones

def train_classifier ():
l = [ ‘1006589563512903396’, ‘1008324413029484000’, ‘1040575996755346578’, ‘1045137713186360887’, ‘7022552177697192106’, ‘674420826054740334’, ‘698451933787252187’, ‘414302334487557591’, ‘8944057146243258823’, ‘6946341970593481260’, ‘1431312376514000040’, ‘7864797704321962005’ , ‘7070434591968454556’]
app_id = ”
app_key = ”
final_resp = []
conjuntos de características = []
url = “http://developer.goibibo.com/api/voyager/get_hotels_by_cityid/?app_id=<Introduzca su ID de aplicación sin > & app_key = <ingrese su clave de aplicación con > & city_id = 6771549831164675055”
res = request.get (url)
resultado = res.json ()

print len ​​(resultado [‘datos’]. claves ())
cuenta = 0
para la clave en el resultado [‘datos’]. claves ():
cuenta + = 1
recuento de impresiones
vid = result [‘data’] [key] [‘hotel_geo_node’] [‘_ id’]
#vid = data.get (‘vid’, ‘7022552177697192106’)

límite = “50”
url = “http://ugc.goibibo.com/api/HotelReviews/forWeb?app_id=” + app_id + “& app_key =” + app_key + “& vid =” + vid + “& limit =” + limit + “& offset = 0”
res = request.get (url)
reslt = res.json ()
tratar:
para revisión en reslt:
if review.get (‘reviewContent’) y len (review [‘reviewContent’]. strip ())> 10:
final_resp.append ({‘rating’: review [‘totalRating’], ‘text’: review [‘reviewContent’]})
excepto Excepción, e:
print str (e)

para x en final_resp:
data = feature_extractor (pre_train_processor (x [‘text’]))
si x [‘calificación’]> 3:
etiqueta = ‘bueno’
elif x [‘rating’] == 3:
etiqueta = ‘moderado’
más:
etiqueta = ‘malo’
featuresets.append ((datos, etiqueta))
imprime “longitud del conjunto de datos:” + str (len (featureets))
feat_len = int (0.8 * len (featureets))
train_set, test_set = featuresets [: feat_len], featuresets [feat_len:]
clasificador = nltk.NaiveBayesClassifier.train (train_set)
print nltk.classify.accuracy (clasificador, test_set)
clasificador de retorno

def check_pos_hotels (clasificador, datos):

oraciones = pre_train_processor (datos)

feat = feature_extractor (oraciones)

res = {}
res [‘features’] = feat
res [‘tag’] = classifier.classify (feat)
volver res

El script anterior usa la API de Goibibo para obtener reseñas y calificaciones.

Déjeme saber si usted necesita más información. Puedes seguirme en Quora (totalmente opcional: D)

¡¡prestigio!!:)

El programa de inteligencia artificial no es simple. Se complicaron Dado que es un proceso enorme, escribiré un largo que le dará un tutorial completo de programación de inteligencia artificial.

https://code.tutsplus.com/tutori

Es realmente interesante que quieras escribir un programa simple que incluya IA. Intenta codificar el teorema de Bayes, construye árboles de decisión.