domingo, 8 de mayo de 2016

Tema 6: Business Intelligence


Definición

Según el instituto de Data Warehousing, la definición de inteligencia de negocio es:
"Business Intelligence se refiere al proceso de convertir datos en conocimiento y conocimiento en acciones para crear ventaja competitiva del negocio "
Las empresas necesitan saber el estado en que se encuentran, aprovechar las oportunidades de negocio definiendo estrategias empresariales que seguir.
La competitividad con otras empresas aporta la necesidad de que la organización sea capaz de gestionar y aprovechar toda la información de la que dispone.


¿Cómo ponerlo en práctica?

Dentro de una empresa, se pueden utilizar herramientas, metodologías y diferentes tecnologías que realizan el almacenamiento, tratamiento y visualización de los datos obtenidos automáticamente, de tal manera que realiza la transformación de información desestructurada y datos transaccionales en información estructurada, útil para realizar la toma de decisiones.

Todo esto aporta una ventaja competitiva, permite conocer más el estado actual de un negocio, actuar con mayor precisión y adaptar los planes más exactamente.

Productos


Para recoger los datos, tratarlos y visualizarlos, se pueden utilizar diferentes herramientas que, combinadas, aportan una mayor visión del negocio.

Sistemas de soporte a la decisión

Estos sistemas realizan el análisis de los datos de las aplicaciones utilizadas dentro del negocio, buscando la explotación de la información almacenada en las bases de datos disponibles.
Ofrece funcionalidades como la creación de informas de manera dinámica con los que el usuario puede interactuar, ofrece tiempos rápidos de respuesta, interfaz intuitiva y sencilla, los datos se pueden ajustar en base al perfil profesional de la persona y el rol que tenga en la empresa, se integra con otros sistemas de la compañía, almacenamiento de histórico de datos para poder realizar comparaciones...




Sistemas de información ejecutiva


Esta herramienta aporta información tanto interna como externa de la compañía, con el fin de poder obtener una visión global de los diferentes planes de acción.
Para ello se utilizan los KPI o indicadores de negocio, que representan objetivos fijados  suele utilizarse el porcentaje como medida.
Estos indicadores  muestran la progresión sobre los objetivos, y pueden cubrir áreas como logística, ventas, satisfacción de clientes, compras, beneficios... De tal  manera que muestran el estado actual de la empresa.
Al igual que el sistema anterior, ofrece generación de informes dinámicos y sencillos, creación de alertas, configuración de indicadores  y se interconecta con otros sistemas.






Cuadro de mando 

Este producto ofrece una interfaz que conecta toda la información anterior y los muestra de manera sencilla para su monitorización, control y seguimiento.

Generalmente, en estos cuadros se puede especificar los KPI a incluir y el intervalo de actualización.

Los cuadros de mando operativos realizan un seguimiento sobre indicadores de procesos de departamentos concretos.


Los cuadros de mando integrales ofrecen una visión más global de la empresa y están orientados especialmente para las áreas directivas.
Suelen contener las perspectivas:

  • Perspectiva financiera: incluye datos del valor empresarial y se busca contabilizar la generación de valor por parte de la empresa.
  • Perspectiva del cliente: aporta información sobre la satisfacción del cliente y el valor de la marca.
  • Perspectiva de procesos internos: se pueden visualizar indicadores dentro de los diferentes procesos del negocio dentro de las distintas áreas de la empresa.
  • Perspectiva de crecimiento y aprendizaje: se realiza un seguimiento sobre la evolución y el avance de los recursos humanos.
Cuadro-de-Mando-Integral-1
Fuente: Web de Lantares Solutions

Almacenamiento de datos


Datawarehouse

Este tipo de base de datos recibe información de varias fuentes distintas para procesarla y tratarla aportando análisis con grandes velocidades de respuesta.

Puede presentar diferentes tipos de estructura como cubos relacionales, tablas en estrella, estructura de copos de nieve...
Los datos deben ser consistentes  y estructurados en los diferentes niveles de detalle necesarios.
También se almacena información pasada para la comparación de históricos.
Así mismo, estas bases de datos incluyen metadatos sobre la información que almacenan que incluyen su fuente, periodicidad de actualización, fiabilidad...

En definitiva, estas bases de datos están más orientadas al almacenamiento que a la actualización.

Datamart

Estas bases de datos son departamentales, orientadas a un área de negocio concreto, y pueden recibir información de un datawarehouse, así como alimentarlo con los datos que contiene.

Puede haber dos tipos:
  • Datamart OLTP: se basa en un extracto del datawarehouse, aunque habitualmente se incluyen mejoras para optimizar el rendimiento y adaptándola al departamento del que almacena la información.
  • Datamart OLAP: utiliza la estructura de cubos OLAP, de tal manera  que se agregan las dimensiones  e indicadores necesarios en base al área de negocio que comprenden. 

Resumen

En definitiva, la inteligencia de negocio es, mediante el uso de las herramientas explicadas anteriormente, ser capaz de tomar decisiones empresariales en base a los datos recopilados.


Esto está enlazado con las otras entradas, donde se habla de la importancia de obtener información de los datos, y de usarla en nuestro beneficio.




Bibliografía

  • Apuntes de Sistemas Empresariales.
  • Empresa Sinnexus






martes, 12 de abril de 2016

Tema 5: Recuperación de Información

Introducción

En la entrada anterior  se trató el tema de el sistema de indexación y rastreo del motor de búsqueda de Google.
Como se comentaba, los datos de las páginas web se encuentran almacenados en un índice que contiene metadatos y palabras clave que es el utilizado para realizar la búsqueda de resultados a la consulta introducida por el usuario, además del uso del Gráfico del Conocimiento para mostrar más información asociada a los datos de la búsqueda.

Diferentes algoritmos

Como se puede ver en la siguiente imagen extraída de la web de Google, se han implementado diferentes métodos no sólo de búsqueda, sino como modo de añadir funcionalidades tanto a la búsqueda como al propio usuario, de tal manera que dependerá del contenido a buscar o incluso los dispositivos desde los que se realice la consulta.


Centros de datos

Google almacena una gran cantidad de información no sólo de las páginas web, sino de los diferentes usuarios y aplicaciones que mantiene, por lo que ha creado diferentes centros de datos para poder albergarlos y soportar el gran tráfico que generan.


Localizaciones

Como es de esperar, hay diferentes centros de datos (CPD en adelante) situados en diferentes regiones:

  • Asia: Hong Kong, Singapur y Taiwan.
  • Europa: Bélgica, Finlandia e Irlanda.
  • Estados Unidos: Carolina del Sur, Iowa, Georgia, Oklahoma, Carolina y Oregón.
  • Sur América: Chile.
Al no estar localizados en un único punto, permite una rapidez de acceso a máquinas a la hora de realizar consultas mucho mayor, aporta mayor movilidad en caso de caída de alguno de los servidores o de problemas dentro del CPD que impidan su normal funcionamiento.

Dentro de la gestión de la empresa, esto induce a un menor coste de mantenimiento, debido a que es más barato mantener diferentes centros más pequeños y aporta la posibilidad de desviar el tráfico de datos hacia aquellos CPD donde la tarifa sea más baja por la franja horaria o desviar mayor carga hacia aquellos en los que el clima sea más frío en ese momento para reducir riesgos por sobrecalentamiento de las instalaciones.

Tráfico de datos

Como se comentaba anteriormente, Google tiene un tráfico de datos no sólo derivado del buscador, sino del resto de servicios que ofrece la empresa, lo cual implica una gran cantidad de información que se mueve a lo largo de su infraestructura.
Para ello utiliza dos redes diferenciadas:
  • Red de servicios: incluye datos de su buscador, YouTube, Gmail, Maps... Hay dos grandes franjas diferenciadas que se dividen entre el tráfico diurno (mucho más abundante) y nocturno. Pese a esta diferenciación, teniendo en cuenta que se presta un servicio a nivel global, el tránsito de esta red es constante, por lo que apenas presenta picos dentro del volumen de tráfico.
  • Red de conexiones entre los CPD: contiene el tráfico interno de la empresa, e incluye los índices mencionados en la anterior entrada, backups, datos de los productos... Todo ello implica un mayor control del tiempo de procesamiento y envío de los datos entre centros, buscando el priorizar aquellos más importantes.
Para gestionar esto, en Google se utiliza un sistema de código abierto llamado OpenFlow.
Está basado en la separación de funciones de direccionamiento de la red en unos servidores que conocen el estado de la red al completo, por lo que el sistema de decisión es mucho mejor que el uso de routers.
Esta estructura, también conocida como Red Definida por Software, busca el control de la red no mediante hardware, sino utilizando un controlador software que permita un uso más óptimo de la red.
Este sistema aporta unas herramientas centralizadas de virtualización, programación y monitorización  del estado de la red en tiempo real, aportando una mayor adaptabilidad a las necesidades de tráfico.
Esto aporta una mayor automatización de recursos y escalabilidad que permiten explotar los diferentes CPD a su máximo rendimiento.







Bibliografía


  • https://www.google.com/about/datacenters/inside/index.html
  • http://www.cisco.com/c/es_mx/solutions/software-defined-networking/overview.html


sábado, 26 de marzo de 2016

Tema 4: El sistema de búsqueda de Google

Introducción

Google es una empresa estadounidense que fue fundada en 1998, conocida por el motor de búsqueda creado por Sergey Brin y Larry Page.


Este motor, llamado en su día BackRub, se basaba en el uso de vínculos para establecer la importancia de una página web individual.

Indexación y rastreo

Google utiliza un software rastreador de la web conocido como GoogleBot para realizar la búsqueda de páginas de dominio público dentro de un índice que está almacenado y que contiene todas las web accesibles.
Este índice es creado con programas "araña", que exploran las web y los enlaces que éstas contienen  recursivamente.

El software busca las palabras clave de la búsqueda, cuántas veces se repiten, en qué partes aparecen, si apaarecen sinónimos, evalúa la calidad de las páginas, usa la fórmula de cálculo de relevancia de una web mediante el número de enlaces externos que la referencian. 

El rastreo se realiza con sitemaps (documentos xml que contienen la estructura de la página) que incluyen los propietarios de las web y un listado de webs de búsquedas realizadas anteriormente.

Para mejorar el sistema de búsqueda se ha desarrollado el Gráfico del Conocimiento, que busca enlazar las búsquedas con el conocimiento que se encuentra en toda la información almacenada.
Como indican en el vídeo incluido a continuación donde se explica esta tecnología:
"Estamos en las primeras fases de ser un motor de información a convertirnos en un motor de conocimiento"


Esto está muy enlazado con lo comentado en las primeras entradas del blog, el extraer conocimiento de la información, de tal manera que se disponga de datos útiles y nos aporten un valor añadido.


Por otra parte, para poder configurar la indexación de Google mediante el uso de la metaetiqueta robots en HTML o utilizando una cabecera HTTP.

Para configurar la metaetiqueta de tal manera que no se quiera el rastreo de la página se escribe, por ejemplo:
<meta name="googlebot" content="noindex" />

Esta etiqueta puede variar en función del buscador a bloquear (Google news, otros buscadores como Yahoo, Bing...)

La cabecera X-Robots-Tag puede seguir una estructura similar a:

X-Robots-Tag: googlebot: nofollow, noindex


Los diferentes valores que esta configuración puede tomar son:

DirectivaSignificado
allNo hay restricciones de indexación ni de presentación de contenido. Nota: Esta directiva es el valor predeterminado y no tiene ningún efecto si se muestra de forma explícita.
noindexNo se muestra ni esta página ni un enlace "en caché" en los resultados de búsqueda.
nofollowNo se siguen los enlaces de esta página.
noneEquivalente a noindex, nofollow.
noarchiveNo se muestra ningún enlace "en caché" en los resultados de búsqueda.
nosnippetNo se muestra ningún fragmento en los resultados de búsqueda de esta página.
noodpNo se utilizan metadatos del proyecto de Open Directory para los títulos o los fragmentos que se muestran en esta página.
notranslateNo se ofrece una traducción de esta página en los resultados de búsqueda.
noimageindexNo se indexan las imágenes de esta página.
unavailable_after: [RFC-850 date/time]No se muestra esta página en los resultados de búsqueda después de la fecha y la hora especificadas. La fecha y la hora deben especificarse en el formato RFC 85


En esta imagen obtenida de la página web de Google aparece un breve resumen de cómo funciona el motor de búsqueda

Para realizar las consultas se siguen los siguientes pasos:
  1. Parsear la consulta introducida.
  2. Convertir las palabras en wordIDs.
  3. Se posiciona en el inicio del repositorio con el listado de documentos para cada palabra.
  4. analiza la lista de documentos hasta que haya uno que coincida con todos los términos de la búsqueda.
  5. Calcula el PageRank de ese documento para la consulta.
  6. Si se continúa dentro del repositorio y al final de un listado de documentos, se busca desde el principio de la lista dentro de todo el repositorio para cada palabra y se repite el paso 4.
  7. Si no se encuentra al final de la lisa¡ta de documentos se va al paso 4, se ordenan los documentos emparejados por rango y se devuelve a la parte superior k.


Algoritmo PageRank

Este algoritmo es el encargado de la realización del rastreo y búsqueda de páginas web. Calcula la relevancia de una página web a la hora de incluirla en la lista de resultados en base al siguiente ejemplo:
Asumiendo que la página A tiene desde las páginas T1...Tn referencias (citas).
El parámetro d es un factor de amortiguación que puede tomar valor entre 0 o 1, generalmente considerado 0,85.
C(A) se define como el numero de enlaces que aparecen en la página A.
El PageRank de una página A sería: PR (A) = (1-d) + d (PR (T1) / C (T1) + ... + PR (Tn) / C (Tn))


Conclusión

En definitiva, el buscador de Google ha evolucionado adaptándose y aportando nuevas opciones de búsqueda a lo largo del tiempo.

Actualmente, se ha pasado de buscar meras páginas web a contenido como imágenes, vídeos, noticias, compras, documentos orientados a la investigación indexados desde Google Académico...



Bibliografía



domingo, 13 de marzo de 2016

Tema 3:Sistemas de almacenamiento actuales


 Introducción


En esta entrada se va a hablar de los sistemas de almacenamiento más destacados actualmente, centrándonos principalmente en los medios de almacenamiento virtuales más utilizados.
Para ello se expondrá una evolución histórica de dichos sistemas para poder comprender hacia donde se encuentra dirigida su tendencia, ya que en este ultimo siglo, se ha conseguido un progreso muy significativo debido a la creación de dispositivos de almacenamiento virtual lo cual permitió una mejor organización y búsqueda de la información con el paso de la utilización de contenedores físicos (papiro, papel…) al uso de contenedores digitales (CD, pen drive, DVD…) .

Dispositivos de almacenamiento

Cuando hablamos de dispositivos de almacenamiento nos referimos a todo dispositivo capaz de leer o escribir datos en algún tipo de soporte o medio de almacenamiento.
Debido a la amplitud de esta definición se puede observar que existe una gran cantidad de dispositivos que cumplen estas condiciones, en esta entrada nos centraremos en los relacionados con el ámbito de la informática.

Comenzaremos hablando por los dispositivos más antiguos aunque con una gran relevancia hasta hablar de los más actuales.


  • ·         Disquetes: Considerado como el primer sistema de almacenamiento con la capacidad de ser extraíble. Esta compuesto por una fragmento circular magnético, fino y flexible. Este dispositivo en la actualidad se encuentra prácticamente obsoleto, debido a la poca capacidad de almacenamiento y para realizar labores de lectura/escritura de datos se necesita de una disquetera la cual, ya no viene implementada en los nuevos modelos de ordenadores.


  • ·         CD-ROMs: Dispositivos de almacenamiento con una capacidad de hasta 700 MB. La utilización de estos dispositivos se extendió por su facilidad de almacenar en ellos copias de seguridad, programas, material multimedia… Pero a diferencia de otros medios de almacenamiento, en ellos una vez cerrada la grabación no se podía modificar, a excepción de los CDs regrabables.





  • ·         DVDs: estos dispositivos son muy semejantes a los CDs pero en su interior se puede almacenar una cantidad mayor de información y podía transmitirla al computador más rápido que un CD.


  • ·         Memorias USB: Utilizan memoria flash para almacenar la información. Estos dispositivos son fácilmente portables y que permiten el almacenamiento de grandes cantidades de información aunque a partir de los 64GB no resultan practico por su elevado coste.


  • ·         Tarjetas de memoria: Existen distintos tipos de modelos como las Micro SD/ Mini SD utilizadas en dispositivos móviles o la SD y la XD utilizadas en cámaras fotográficas, estos dispositivos están basados en las memorias flash pero no disponen de ningún tipo de controlador.


  • ·         Servicios en la nube: Permite el almacenamiento de información en equipos ajenos al que utiliza el usuario de manera que toda la información queda almacenada en granjas de servidores los cuales son accesibles mediante una red normalmente Internet.

  

Evolución histórica

A lo largo de la historia, el ser humano siempre ha buscado preservar y compartir el conocimiento para generaciones futuras.

La información en el principio de los tiempos se almacenaba mediante garabatos en superficies rocosas, pero con el tiempo fue evolucionando, almacenando la información en objetos más fácilmente portables como pieles de animales e incluso mediante el papiro como el que utilizado por el antiguo Egipto.

La llegada del papel fue factor fundamental, ya que era fácilmente portable y legible por ello durante muchos siglos fue el formato de almacenamiento por excelencia.


En la actualidad, con la llegada de las nuevas tecnologías, se ha destronado al papel como medio de almacenamiento por excelencia debido a la facilidad de portar grandes cantidades de documentos en pequeños dispositivos físicos y la posibilidad de buscar información especifica de manera sencilla en el interior de estos.

Un gran avance es el espacio de almacenamiento dentro de dispositivos de menor tamaño, la disponibilidad de almacenar datos en la nube accesibles desde cualquier lugar y la escalabilidad de estos sistemas a la hora de ampliar el espacio en función de las necesidades.

Como se comentaba en la entrada anterior, la propia manera de almacenar digitalmente la información ha cambiado debido a las diferentes formas que ésta puede tomar (documentos, imágenes...) dando lugar a la creación de bases de datos no relacionales.

Así mismo, la gran cantidad de datos y la necesitad de almacenarlos ha dado lugar a instalaciones como las granjas de servidores.





Bibliografía







sábado, 27 de febrero de 2016

Tema 2: Lenguajes de programación y frameworks


Introducción

En esta entrada del blog voy a hablar sobre unos conceptos muy relacionados con el mundo de la informática: los lenguajes de programación y los frameworks

Lenguajes de programación

Los lenguajes de programación son herramientas que utilizan los programadores para crear software y existe un gran número de ellos.


Seleccionar los más característicos es una tarea compleja, puesto que su uso depende en gran medida del tipo de proyecto a realizar, las funcionalidades que tengan que implementarse… E incluso se puede realizar un proyecto utilizando diferentes lenguajes en diferentes módulos en función de las especificaciones.


¿Cómo tomar esta decisión?

Siguiendo la idea anterior, se debe escoger el lenguaje que mejor se adapte al tipo de aplicación a realizar y a sus funcionalidades, teniendo en cuenta una visión a futuro de la posible escalabilidad del sistema.


A continuación hablaré de lenguajes que se utilizan en diferentes ámbitos de programación.

Desarrollo de páginas Web Dinámicas: PHP



PHP es un lenguaje de programación de código abierto, es decir, de uso libre y gratuito, que fue originalmente diseñado para el desarrollo de páginas webs dinámicas y que puede ser introducido en HTML.
Además, con PHP se puede sacar gran partido a un servidor de bajo coste o modesto, siendo capaz de poder realizar millones de peticiones diarias.

Una de las características por la cual este lenguaje ha sido tan bien acogido por la comunidad de desarrolladores es su portabilidad, ya que puede ser utilizado en casi cualquier máquina sin necesidad de hacer ningún tipo de variación o modificación en el código.
Al tratarse de un lenguaje tan apreciado por su comunidad los nuevos desarrolladores pueden encontrar fácilmente material para el aprendizaje o resolución de errores.

Administración de base de datos: SQL



SQL(Structured Query Language) es un lenguaje de carácter declarativo el cual se encarga de describir el "que" se desea obtener a partir de la declaración de un conjunto de condiciones.

Este lenguaje ganó mucha popularidad debido a su sencillez y a la completitud que aportaba en un entorno de administración y gestión de los datos, permitiendo la utilización del algebra y el calculo relacional con el fin de crear consultas capaces de obtener de manera sencilla y rápida cierta información de interés procedente de una base de datos.


Además de poder realizar labores de búsqueda en una base de datos, el lenguaje SQL es capaz de realizar modificaciones de la estructura interna de la base de datos introduciendo únicamente sentencias de este lenguaje.


Debido a la importancia de este lenguaje, se han creado diversos de gestores de bases de datos entorno a este lenguaje como son SQLServer, PostgreSQL o MySQL



Elaboración de grandes proyectos: C++



C++ es un lenguaje hibrido o multiparadigma, ya que cumple labores de los paradigmas de programación estructurado (paradigma de programación utilizado para obtener una mejora en tanto en calidad, claridad como en tiempo de desarrollo de un programa, caracterizado por el uso subrutinas, sentencias, condiciones e iteraciones, y por evitar el uso de la sentencia GOTO) y del paradigma de programación orientado a objetos (paradigma basado en la utilización de objetos para el diseño de sus aplicaciones)

Sus principales características son:
Rapidez de aprendizaje: es un lenguaje bastante intuitivo por lo que la curva de aprendizaje se realiza de manera más rápida que otros
Funcionalidad: es un lenguaje amplio, que otorga al desarrollador las herramientas necesarias para elaborar la aplicación que el desee.
Gran similitud con otros lenguajes: Al poseer rasgos similares con otros lenguajes como PHP o Java, el conocimiento aprendido o la sintaxis utilizada es fácilmente reutilizable en otros lenguajes.


Frameworks


La labor del programador no solo reside en tener claro el tipo de aplicación que desee que crear y seleccionar un lenguaje acorde al proyecto que tenga que realizar, si no que va más allá, necesita elaborar una estructura mediante la cual crear el programa, para ello, se utilizan los patrones de diseño y frameworks.

Los patrones de diseño se encargan de identificar que clases y que objetos participan en la aplicación, así como sus papeles, comunicaciones, colaboraciones y distribución de responsabilidades que poseen dentro de dicha aplicación.

Los framework por otro lado, son un conjunto de clases que cooperan para formar un diseño especifico y reutilizable de un software. Ofrece una estructura partiendo del diseño de las clases abstractas y a partir de la definición de sus colaboraciones y responsabilidades.

El objetivo es que, mediante su uso, el desarrollo de las aplicaciones sea más simple mediante la automatización de patrones, estructuración de código fuente, encapsulando en instrucciones sencillas operaciones de mayor complejidad...

A continuación, algunos de los frameworks son: 

Spring


Spring es un framework de código abierto orientado a la creación de aplicaciones J2EE (Java 2 Enterprise Edition), y usa archivos con formato XML para la configuración y ficheros planos o Beans para la lógica de negocio de la aplicación.
Permite utilizar esta tecnología en los módulos de la aplicación que sean  necesarios.


Está orientado al método de programación de Inversión de Control, de tal manera que la interacción de componentes se realiza de manera imperativa y efectuando llamadas a las funciones o procedimientos necesarios, de tal manera que se establecen una serie de respuestas para determinadas solicitudes o sucesos y una arquitectura externa es la que se encarga de controlar de llevar a cabo las acciones necesarias.
De esta manera, Spring está basado en el uso de contenedores que gestionan las instancias de los objetos.


Symfony


Este framework desarrollado en PHP busca la optimización de la creación de aplicaciones web, separando la lógica de negocio, servidor y la capa de presentación de aplicación web (siguiendo el modelo vista controlador).

El modelo contiene la representación de la información, los datos de los que se va a servir la aplicación para operar con ellos.
Envía los datos a la vista mediante el controlador.

La vista es la interfaz con la que el usuario interactúa, por lo que mostrará la salida de los datos del sistema.

El controlador es el encargado de responder a los eventos, actuando de intermediario entre la vista y el modelo. 

Las herramientas de Symphony permiten generar código automático, ofrece un entorno de pruebas funcionales y unitarias, creación sencilla de plantillas, validación automática de formularios, reducción del ancho de banda mediante gestión de la caché...





Bibliografía

  • http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-de-datos/P06_M2109_02149.pdf
  • https://es.wikipedia.org/wiki/Programación_declarativa
  • http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=492:ique-es-php-y-ipara-que-sirve-un-potente-lenguaje-de-programacion-para-crear-paginas-web-cu00803b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193
  • https://es.wikipedia.org/wiki/SQL
  • https://ramonmorillo.wordpress.com/2011/10/28/caracteristica-y-ventajas-de-sql/
  • http://www.tiobe.com/tiobe_index
  • http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/93
  • http://martinfowler.com/bliki/InversionOfControl.html
  • http://librosweb.es/libro/symfony_1_4/capitulo_1/symfony_en_pocas_palabras.html








sábado, 13 de febrero de 2016

Tema 1: Introducción a la Búsqueda y Gestión de la Información y Recursos Multimedia

Introducción 

En la actualidad hay una gran cantidad de información accesible en diversos formatos al alcance de cualquier persona.

El problema reside en la capacidad de filtrar toda esa cantidad  de datos disponible, utilizar fuentes de confianza que aporten una información verídica, contrastada y actual que nos permita extraer el conocimiento.

En esta entrada del blog hablaremos de convertir los datos en conocimiento útil y en los diferentes avances dentro del ámbito de la recolección y gestión de la información como respuesta al gran volumen de datos disponible.

¿Qué es el conocimiento? 

Según la RAE, un dato es información sobre algo concreto que permite su conocimiento exacto o sirve para deducir las consecuencias derivadas de un hecho. Por ello, se puede considerar como un elemento primario de la información.

Un conjunto de datos relevantes enmarcados en un contexto y enfocados hacia un propósito puede considerarse como información.

Por ejemplo, se pueden recopilar datos de ventas, pero si no se analizan y se utilizan, sólo es información.

Es necesario transformar todos esos datos de los que se dispone en conocimiento.

 "El conocimiento es construido por el sujeto con base en la asimilación, integración y reorganización de estructuras que le permiten interpretar el mundo e interactuar con él."


El aprender de estos datos nos hace adquirir conocimiento, que nos aporta algo a nivel personal, estratégico y de negocios, de investigación...

Fuentes de información

Para poder empezar a filtrar los datos que queremos obtener, es muy importante saber dónde empezar a buscarlos.
Para ello, hay que tener en cuenta los diferentes tipos de fuentes de información que existen, de tal manera que así se podrán encontrar más fácilmente los datos necesarios.
En base al nivel de información que aportan, pueden considerarse tres tipos de fuentes de las que extraer los datos:

  • Fuentes primarias: aportan información nueva resultante de un trabajo de investigación.  Ejemplos de este tipo son revistas científicas, libros, periódicos, informes y documentos de instituciones, normas, patentes...
  • Fuentes secundarias: este tipo de fuentes recogen información que ha sido obtenida mediante un análisis o investigación realizada sobre una fuente primaria. Un ejemplo de este tipo son los directorios, enciclopedias, libros y artículos que interpretan otros trabajos...
  • Fuentes terciarias: albergan guías de información de fuentes secundarias, como puedan ser las bibliografías, guías  de obras de referencias...



El conocimiento de estos tipos de fuentes no es otro que el saber a cuál se debe acudir en función de lo que necesitamos buscar y así facilitar el trabajo de búsqueda y de la veracidad de la información, ya que hoy en día cualquiera puede crear contenido en la web.

Una manera diferente de almacenar los datos

Una gran parte de la información está disponible digitalmente y, debido a la gran cantidad de datos, a su carácter polivalente y de los diferentes formatos que pueden tener, ha surgido una necesidad de almacenarlos de una manera diferente a las bases de datos que siguen una estructura relacional.

Las bases de datos no relacionales (también conocidas como NoSQL) presentan diferentes estructuras de objetos y están orientadas a grafos, columnas, almacenamiento de pares de clave/valor y documentos.

Debido a la temática de esta entrada profundizaremos más en las bases de datos orientadas a documentos, ya que están estrechamente relacionadas con el almacenamiento de fuentes de información de carácter digital y de la interconexión y extracción de datos de las mismas.


Una base de datos orientada a documentos es, como bien indica su nombre, aquella pensada para almacenar una gran cantidad de archivos.
La información se almacena en documentos XML, JSON e incluso PDF y documentos de Microsoft Office que contienen una clave única para identificar los registros.
Los documentos están organizados mediante metadatos, etiquetas, colecciones y jerarquías de directorios para facilitar las búsquedas.

Generalmente este tipo de bases de datos disponen de una API que permite recuperar los documentos en función de su contenido.

Algunos ejemplos de este tipo de bases de datos son MongoDB o CouchDB.



Minería de texto

El concepto de text mining está estrechamente relacionado con la extracción del conocimiento de una gran cantidad de documentos que no tienen por qué estar relacionados en un principio.

Esta técnica busca tendencias, promedios y dependencias de los datos de diferentes documentos para poder obtener una información conjunta.

En definitiva, en base a información conocida no relacionada, se busca obtener información primaria o, como lo definió Marti A. Hearst en "Untangling text data mining":


"La minería textual trata de descubrir información y conocimiento que previamente se desconocía, y que no aparecía en ninguno de los documentos analizados"

Esta tecnología utiliza técnicas de lingüística computacional y recuperación de la información como:

  • Pre procesamiento de documentos: se encarga de extraer términos importantes, eliminación de palabras vacías y normalización de los términos mediante stemming (técnica que extrae sufijos y prefijos comunes).
  • Identificación de nombres propios y análisis gramatical y sintáctico.
  • Representación de documentos mediante un modelo vectorial y uso de fórmulas para calcular la similitud entre pares de documentos.
  • Agrupación automática de documentos.
  • Categorización automática.
  • Extracción de relaciones entre conceptos y términos.
La minería de texto aporta una herramienta muy potente a la hora de realizar nuevas investigaciones y estudios, ya que permite el estudio de una gran cantidad de documentos de una manera más ágil.


Conclusión

Tras el análisis de esta entrada, puedo afirmar que pese a los problemas que puedan surgir a la hora de buscar información debido a la veracidad de los datos y la gran cantidad de lugares a los que acudir, han aparecido nuevas herramientas a nuestra disposición para facilitar la recolección de datos.

Si bien es cierto que a pequeña escala con saber dónde buscar y filtrar las fuentes a utilizar sería suficiente, para realizar investigaciones que requieran una gran cantidad de información, éstas herramientas ofrecen grandes posibilidades.




Bibliografía