Procesamiento del lenguaje natural con ElasticSearch

por:

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es la realización de búsquedas textuales. Esto problema se puede resolver con muchos enfoques, desde una búsqueda exacta como permiten la mayoría de los lenguajes de programación, hasta la utilización de algoritmos de procesamiento del lenguaje natural.

¿Qué es el procesamiento del lenguaje natural?

El procesamiento del lenguaje natural, conocido también por sus siglas en inglés NPL consiste en desarrollar y aplicar distintas técnicas, metodologías y algoritmos que utilizan como entrada y/o salida texto o voz. La complejidad de este campo, es que agrupa conceptos como:

  • El reconocimiento de voz (traducir la voz en texto).
  • La síntesis de voz (traducir el texto en voz).
  • La traducción en tiempo real.
  • La identificación del idioma del usuario.

Además, hay que tener en cuenta que mientras que la escritura por ordenador es siempre igual, en el caso de la voz cada usuario dependiendo de su lugar, sexo, edad, etc presenta características distintas.

¿Qué es ElasticSearch?

ElasticSearch es un proyecto basado en Apache Lucene, que nos permite tener un servidor para realizar búsquedas. El proyecto fue creado por Shay Banon y tiene como principales características la velocidad de búsqueda y la escalabilidad. Este software es ampliamente usado en buscadores, e-commerce y para tratar el lenguaje natural.

Leer más

Cursos gratis de informática en LinkedIn

por:

Cursos gratis de informática en LinkedIn

Desde Somos Binarios, una de las cosas que siempre nos gusta publicar son conjuntos de tutoriales para aprender sobre diversos temas relacionados con la tecnología, de forma gratuita. Esta semana nos sumamos al evento que está desarrollando esta semana la plataforma LinkedIn, ofreciendo acceso a todos sus cursos de formación de manera gratuita.

Duración y acceso al evento

Para acceder al evento, el cual dura hasta el 30 de octubre, deberéis tener una cuenta en esta red social empresarial y seguir este enlace. Los cursos que nos ofrece LinkedIn están en Inglés, pero cuentan con subtítulos en este mismo lenguaje, para un mejor seguimiento.

Cursos gratuitos destacables

Entre la multitud de cursos que nos ofrecen, he estado investigando algunos y a continuación, os indico los que considero más destacables:

Cursos de iniciación

Una categoría importante de cursos, son aquellos destinados a principiantes, como pueden ser:

Leer más

Primeros pasos con Docker Compose

por:

Instala servicios complejos mediante Docker Compose

En esta entrada, la cual es continuación de nuestro manual de Docker, os enseñamos como montar vuestro propio entorno de producción con Docker Compose.

¿Qué es Docker Compose?

Como se ha comentado en entradas anteriores, Docker utiliza la tecnología de contenedores para desplegar imágenes. Estas imágenes suelen contener un servicio concreto, por ejemplo un sistema de bases de datos, un servidor web, un compilador específico etc. El gran problema que presenta este sistema es que, normalmente, vamos a necesitar de múltiples de estos servicios para poder hacer funcionar nuestro software. Un ejemplo de lo anterior es WordPress, el cual requiere de un servidor web con soporte para PHP y un sistema de bases de datos, para almacenar todos los datos de la página (usuarios, entradas, categorías, etc).

La propuesta de Docker para resolver este tipo de configuraciones que requieren de servicios que están en diversas imágenes, es Docker Compose. Este mecanismo permite utilizar varias imágenes y comunicarlas, para obtener los requisitos necesarios para hacer funcionar nuestra aplicación.

 

Ejemplo de uso de Docker Compose

Lo primero que debemos hacer es instalar esta tecnología, para ello lo mejor es que sigáis el propio manual de los creadores.

Para este ejemplo he decidido utilizar MyBB, un excelente sistema de foros que usábamos antiguamente en Somos Binarios, el cual viene junto con un servidor web en una imagen. Pero como requisito presenta la necesidad de tener que utilizar una base de datos, así que vamos a utilizar la imagen de MySQL.

Leer más

Desplegando contenedores Docker fácilmente con Kitematic

por:

Desplegando contenedores Docker facilmente con Kitematic

Esta entrada es la continuación de la entrada Virtualización con Docker: primeros pasos, os invitamos a visitarla, si no conocéis Docker.

Quizás uno de los “problemas” que uno nota al usar Docker es que necesita, para su gestión, un uso intensivo de la terminal. Esto dependiendo de lo acostumbrados que estemos a usarla puede sernos un problema, aunque para muchos administradores de servidores es toda una ventaja.

Kitematic o cómo desplegar contenedores Docker fácilmente

Kitematic la forma mas sencilla de desplegar contenedores Docker

Kitematic surge para ayudar a todos aquellos que busquen usar Docker de una manera visual, sin necesidad alguna de utilizar la línea de comandos. Este proyecto está desarrollado bajo la filosofía Open Source y está disponible para Mac OS  y Windows.

Leer más

Virtualización con Docker: primeros pasos

por:

Virtualización con Docker primeros pasos

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite desplegar programas en contenedores de software.

¿Qué es y cómo funciona Docker?

Como hemos comentado, Docker es un proyecto Open Source creado y liderado por Solomon Hykes que afronta el problema de la virtualización de servicios y programas. Este tema es muy importante, ya que se busca aprovechar al máximo el recurso disponible (un servidor) para ejecutar los servicios que necesitemos.

El funcionamiento de Docker es distinto a los métodos más comunes que se han utilizado anteriormente, ya que no necesita un sistema operativo invitado para ejecutar sobre él los servicios, sino que lo hace sin este intermediario. Esta tecnología se denomina de contenedores, siendo un contenedor un programa, servicio o sistema que queremos desplegar. Esta arquitectura se puede ver en la siguiente ilustración:

Contenedores de Docker

Al no utilizar máquinas virtuales es capaz de conseguir un mayor rendimiento, ya que el consumo de recursos es menor. Sin embargo, gracias al uso del kernel de Linux es capaz de aislar cada contenedor. Esta decisión también aporta otras características como una mayor seguridad (gracias a estar aislados) o un despliegue más rápido de los recursos.

Leer más

Cómo es un móvil por dentro

por:

como es un movil por dentro la cabecera

Casualmente he tenido la oportunidad de tener un móvil, no muy antiguo, que se estropeó de forma súbita y sin arreglo, lo cual he aprovechado para escribir este artículo sobre cómo es un móvil por dentro.

Telefono desmontado para ver cómo es por dentro

Empezando por la parte trasera tenemos:

  1. La carcasa de la batería
  2. La estructura posterior de plástico
  3. La placa base del teléfono
  4. La pantalla y la estructura delantera del teléfono
  5. El protector de la pantalla, el cual suele ser de cristal o de algún tipo de plástico

Como se puede apreciar las partes más interesantes son la 3 y la 4 ya que en las mismas están los componentes que consiguen darle vida al teléfono.

Leer más

4 cursos online gratis de Google para el verano

por:

4 cursos online gratis de Google

En esta época veraniega en la que solemos disponer de mayor tiempo libre, solemos dedicarnos a practicar con mayor asiduidad nuestras aficiones, como la informática. Por ello os quiero recomendar los siguientes cursos online avalados por Google, ya que el verano puede ser una buena época para formarse.

 

Curso online gratis de Desarrollo Web

Este curso quizás sea el más interesante para aquellos que estén empezando con el desarrollo web, el mismo tiene una duración de 40 horas y está certificado por la Universidad de Alicante. La finalidad del mismo es enseñar los conceptos básicos del desarrollo web, para que el usuario que lo tome sea capaz de realizar una web propia.

 

Curso online gratis de Comercio Electrónico

Este curso resulta de gran utilidad tanto para todos aquellos que ya tienen su propio negocio físico y quieren transformarlo en uno digital, como para los que quieren empezar el suyo propio. La duración recomendada también son 40 horas y en este caso está certificado por la Escuela de Organización Industrial.

Leer más

¿Qué es y cómo funciona P2P?

por:

Seguro que la gran mayoría de vosotros ha usado alguna vez un cliente P2P para descargar cualquier tipo de archivo, pero, ¿realmente sabemos cómo funciona?

Funcionamiento de P2P

Funcionamiento de P2P

Un sistema P2P es un sistema distribuido (conjunto de computadoras conectadas y comunicadas entre sí) en el cual todos los elementos tienen la misma función.

Con este sistema, evitamos la infraestructura de los servidores y todos los problemas que conlleva (congestión de la red y del propio servidor etc). Ahora lo que tenemos son varios ordenadores los cuales tienen almacenados los recursos, por lo tanto está descentralizado, ya que cada sistema puede localizarse en cualquier parte.

Leer más

Creando chuletas de forma rápida

por:

En la entrada de hoy os proponemos conocer un nuevo servicio con el que hemos estado últimamente trabajando, pensado para la creación, búsqueda y compartición de las cheat sheets (chuletas). Pero no penséis que es una ayuda para copiar en los exámenes.

Cheatography el lugar de las chuletas

La página de la que os hablamos hoy es en efecto Cheatography, una pequeña comunidad, pero muy activa pensada para compartir nuestras chuletas. Cuando me refiero a chuletas estoy pensando en un miniresumen con las información más importante sobre algo, por ejemplo resumen de los comandos más importantes o de las opciones más usadas de un programa.

En mi caso he creado una sobre los atajos de Windows (que seguramente conoceréis).

Nuestras chuletas recién creado sobre los atajos de Windows
Leer más

Los mayores errores del Software Libre

por:

Te contamos los mayores problemas que tiene los proyectos de software libre para que no cometas sus errores

 

En esta entrada quiero transmitir mi opinión, es una opinión y cada uno puede tener la suya, sobre cuales son los mayores problemas en los proyectos que son Software Libre. El centrarse en este tipo de proyectos, es debido a que suelen tener unas características bastante especiales respecto a los proyectos comerciales (pocas personas, desarrolladores voluntarios y normalmente bajo presupuesto). Antes de que dejes de leer y digas, esto es un ataque más al Software Libre, te quiero decir que yo también soy un firme defensor del Software Libre y este artículo es para evitar esos errores.

1 ¿Documentación? Léete el código

Seamos realistas a nadie nos gusta documentar el código y dedicar parte de nuestro tiempo a ir comentando que hace cada cosa. Sin embargo esto es un pilar básico en todo proyecto medianamente decente que se precie, si queremos que los programadores usen nuestro proyecto, le tendremos que decir cómo funciona y qué hace cada cosa y no, no vale con decir léete el código, ahí está todo.
En los últimos años he usado varios proyectos grandes de Software Libre y sorprendentemente no traían ninguna documentación, pero es que tampoco incluían casi comentarios en el propio código fuente, así que para entenderlos tenía o bien que ejecutarlos paso a paso o bien ir siguiendo todas las funciones con lápiz y papel.
Este error se puede subsanar usando por ejemplo Doxygen como ya os contamos hace un tiempo.

2 ¿Colaboradores? Estoy mejor solo

Otra de las cosas que más me ha llamado la atención es que algunos proyectos están desarrollados por una única persona y aunque el proyecto cada vez es más grande, no tienen ningún interés en que colabores con él. En muchos casos porque como no hay documentación, te tendría que enseñar como funciona cada función del código fuente.

Leer más