Colación - Collation

La intercalación es el ensamblaje de información escrita en un orden estándar. Muchos sistemas de clasificación se basan en orden numérico o alfabético , o extensiones y combinaciones de los mismos. La recopilación es un elemento fundamental de la mayoría de los sistemas de archivo de oficina , catálogos de bibliotecas y libros de referencia .

La colación se diferencia de la clasificación en que las clases en sí mismas no están necesariamente ordenadas. Sin embargo, incluso si el orden de las clases es irrelevante, los identificadores de las clases pueden ser miembros de un conjunto ordenado, lo que permite que un algoritmo de clasificación organice los elementos por clase.

Hablando formalmente, un método de intercalación típicamente define un orden total en un conjunto de posibles identificadores, llamados claves de clasificación, que consecuentemente produce un preorden total en el conjunto de elementos de información (los elementos con el mismo identificador no se colocan en ningún orden definido).

Un algoritmo de clasificación, como el algoritmo de clasificación Unicode, define un orden mediante el proceso de comparar dos cadenas de caracteres determinadas y decidir cuál debe ir antes que la otra. Cuando se ha definido un pedido de esta manera, se puede utilizar un algoritmo de clasificación para poner una lista de cualquier número de elementos en ese orden.

La principal ventaja de la intercalación es que hace que sea rápido y fácil para un usuario encontrar un elemento en la lista o confirmar que está ausente de la lista. En los sistemas automáticos, esto se puede hacer mediante un algoritmo de búsqueda binaria o una búsqueda por interpolación ; La búsqueda manual se puede realizar utilizando un procedimiento más o menos similar, aunque a menudo esto se hará inconscientemente. Otras ventajas son que uno puede encontrar fácilmente el primer o último elemento de la lista (lo más probable es que sea útil en el caso de datos ordenados numéricamente), o elementos en un rango dado (útil nuevamente en el caso de datos numéricos, y también con datos ordenados alfabéticamente cuando uno puede estar seguro de solo las primeras letras del artículo o artículos buscados).

Ordenando

Numérico y cronológico

Las cadenas que representan números se pueden ordenar en función de los valores de los números que representan. Por ejemplo, "-4", "2,5", "10", "89", "30.000". Tenga en cuenta que la aplicación pura de este método puede proporcionar solo un orden parcial en las cadenas, ya que diferentes cadenas pueden representar el mismo número (como con "2" y "2.0" o, cuando se usa notación científica , "2e3" y "2000" ).

Se puede adoptar un enfoque similar con cadenas que representan fechas u otros elementos que se pueden ordenar cronológicamente o de alguna otra manera natural.

Alfabético

El orden alfabético es la base de muchos sistemas de recopilación en los que los elementos de información se identifican mediante cadenas que consisten principalmente en letras de un alfabeto . El orden de las cadenas se basa en la existencia de un orden estándar para las letras del alfabeto en cuestión. (El sistema no se limita a alfabetos en el sentido estrictamente técnico; los idiomas que usan un silabario o abugida , por ejemplo Cherokee , pueden usar el mismo principio de ordenación siempre que haya un orden establecido para los símbolos usados).

Para decidir cuál de las dos cadenas viene primero en orden alfabético, inicialmente se comparan sus primeras letras. La cadena cuya primera letra aparece antes en el alfabeto es la primera en orden alfabético. Si las primeras letras son iguales, entonces se comparan las segundas letras, y así sucesivamente, hasta que se decida el orden. (Si una cadena se queda sin letras para comparar, entonces se considera que viene primero; por ejemplo, "carro" viene antes que "caballo de carreta"). El resultado de ordenar un conjunto de cadenas en orden alfabético es que las palabras con el mismo primero las letras se agrupan y, dentro de dicho grupo, las palabras con las mismas dos primeras letras se agrupan, y así sucesivamente.

Las letras mayúsculas se tratan típicamente como equivalentes a sus letras minúsculas correspondientes. (Para tratamientos alternativos en sistemas computarizados, consulte Clasificación automatizada , a continuación).

Es posible que se apliquen ciertas limitaciones, complicaciones y convenciones especiales cuando se utiliza el orden alfabético:

  • Cuando las cadenas contienen espacios u otros separadores de palabras, se debe tomar la decisión de ignorar estos separadores o tratarlos como símbolos que preceden a todas las demás letras del alfabeto. Por ejemplo, si se toma el primer enfoque, "aparcamiento" vendrá después de "carbono" y "carpa" (como lo haría si se escribiera "aparcamiento"), mientras que en el segundo enfoque "aparcamiento" vendrá antes que los dos palabras. La primera regla se usa en muchos (pero no en todos) diccionarios , la segunda en directorios telefónicos (de modo que Wilson, Jim K aparece con otras personas llamadas Wilson, Jim y no después de Wilson, Jimbo).
  • Las abreviaturas pueden tratarse como si estuvieran escritas en su totalidad. Por ejemplo, los nombres que contienen "St." (abreviatura de la palabra inglesa Saint ) a menudo se ordenan como si estuvieran escritas como "Saint". También existe una convención tradicional en inglés de que los apellidos que comienzan con Mc y M ' se enumeran como si esos prefijos se escribieran Mac .
  • Las cadenas que representan nombres personales a menudo se enumerarán por orden alfabético de apellido, incluso si el nombre de pila aparece primero. Por ejemplo, Juan Hernandes y Brian O'Leary deben clasificarse como "Hernandes, Juan" y "O'Leary, Brian" incluso si no están escritos de esta manera.
  • Las palabras iniciales muy comunes, como The en inglés, a menudo se ignoran para clasificarlas. Por lo tanto, The Shining se clasificaría simplemente como "Shining" o "Shining, The".
  • Cuando algunas de las cadenas contienen números (u otros caracteres que no son letras), son posibles varios enfoques. A veces, estos caracteres se tratan como si vinieran antes o después de todas las letras del alfabeto. Otro método consiste en ordenar los números alfabéticamente como se escribirían: por ejemplo, 1776 se ordenaría como si se escribiera "diecisiete setenta y seis", y 24 heures du Mans como si se escribiera "vingt-quatre ..." (francés para "veinticuatro"). Cuando se utilizan números u otros símbolos como formas gráficas especiales de letras, como en 1337 para leet o Se7en para el título de la película Seven , pueden ordenarse como si fueran esas letras.
  • Los idiomas tienen diferentes convenciones para tratar letras modificadas y ciertas combinaciones de letras. Por ejemplo, en español la letra ñ es tratada como una letra básica siguiente n , y los dígrafos ch y ll eran anteriormente (hasta 1994) tratado como letras básicas siguientes c y l , a pesar de que ahora están en orden alfabético como combinaciones de dos letras. Puede encontrar una lista de tales convenciones para varios idiomas en Orden alfabético § Convenciones específicas del idioma .

En varios idiomas, las reglas han cambiado con el tiempo, por lo que los diccionarios más antiguos pueden usar un orden diferente al de los modernos. Además, la clasificación puede depender del uso. Por ejemplo, los diccionarios y directorios telefónicos alemanes utilizan enfoques diferentes.

Clasificación por radicales y trazos

Ver también Indexación de caracteres chinos

Otra forma de intercalación es la clasificación por radicales y trazos , que se utiliza para sistemas de escritura no alfabéticos como el hanzi del chino y el kanji del japonés , cuyos miles de símbolos desafían el orden por convención. En este sistema, se identifican los componentes comunes de los personajes; estos se llaman radicales en chino y sistemas logográficos derivados del chino. Luego, los caracteres se agrupan por su radical primario y luego se ordenan por número de trazos de lápiz dentro de los radicales. Cuando no hay un radical obvio o más de un radical, la convención gobierna cuál se usa para la colación. Por ejemplo, el carácter chino 妈 (que significa "madre") se clasifica como un carácter de seis trazos bajo el radical primario de tres trazos 女.

El sistema de radicales y trazos es engorroso en comparación con un sistema alfabético en el que hay unos pocos caracteres, todos inequívocos. La elección de qué componentes de un logograma comprenden radicales separados y qué radical es primario no está clara. Como resultado, los lenguajes logográficos a menudo complementan el orden de radicales y trazos con la clasificación alfabética de una conversión fonética de los logogramas. Por ejemplo, la palabra kanji Tōkyō (東京) se puede clasificar como si estuviera escrita en los caracteres japoneses del silabario hiragana como "to-u-ki- yo -u" (と う き ょ う), utilizando el orden de clasificación convencional para estos caracteres.

Además, en la Gran China, la ordenación de trazos de apellido es una convención en algunos documentos oficiales donde los nombres de las personas se enumeran sin jerarquía.

El sistema de radicales y trazos, o algún método similar de comparación de patrones y recuento de trazos, era tradicionalmente el único método práctico para construir diccionarios que alguien podía usar para buscar un logograma cuya pronunciación era desconocida. Con la llegada de las computadoras, ahora están disponibles los programas de diccionario que permiten escribir a mano un carácter con un mouse o un lápiz óptico.

Automatización

Cuando la información se almacena en sistemas digitales, la recopilación puede convertirse en un proceso automatizado. Entonces es necesario implementar un algoritmo de recopilación adecuado que permita clasificar la información de manera satisfactoria para la aplicación en cuestión. A menudo, el objetivo será lograr un orden alfabético o numérico que siga los criterios estándar descritos en las secciones anteriores. Sin embargo, no todos estos criterios son fáciles de automatizar.

El tipo más simple de clasificación automatizada se basa en los códigos numéricos de los símbolos en un conjunto de caracteres , como la codificación ASCII (o cualquiera de sus superconjuntos como Unicode ), con los símbolos ordenados en orden numérico creciente de sus códigos, y esto el ordenamiento se extiende a cadenas de acuerdo con los principios básicos del ordenamiento alfabético (matemáticamente hablando, ordenamiento lexicográfico ). Entonces, un programa de computadora podría tratar los caracteres a , b , C , d y $ como ordenados $ , C , a , b , d (los códigos ASCII correspondientes son $ = 36, a = 97, b = 98, C = 67 yd = 100). Por lo tanto, las cadenas que comienzan con C , M o Z se ordenarían antes que las cadenas con minúsculas a , b , etc. Esto a veces se denomina orden ASCIIbético . Esto se desvía del orden alfabético estándar, particularmente debido al orden de las letras mayúsculas antes que todas las minúsculas (y posiblemente el tratamiento de los espacios y otros caracteres que no son letras). Por lo tanto, a menudo se aplica con ciertas alteraciones, siendo la más obvia la conversión de mayúsculas y minúsculas (a menudo a mayúsculas, por razones históricas) antes de la comparación de valores ASCII.

En muchos algoritmos de clasificación, la comparación no se basa en los códigos numéricos de los caracteres, sino con referencia a la secuencia de clasificación , una secuencia en la que se supone que los caracteres vienen con el propósito de la clasificación, así como otras reglas de ordenación apropiadas para la aplicación dada. Esto puede servir para aplicar las convenciones correctas utilizadas para el orden alfabético en el idioma en cuestión, tratando correctamente con letras en mayúsculas y minúsculas diferentes, letras modificadas , dígrafos , abreviaturas particulares, etc., como se mencionó anteriormente en Orden alfabético , y en detalle en Alfabético. pedir artículo. Estos algoritmos son potencialmente bastante complejos y posiblemente requieran varias pasadas por el texto.

No obstante, los problemas siguen siendo comunes cuando el algoritmo tiene que abarcar más de un idioma. Por ejemplo, en Alemania los diccionarios la palabra ökonomisch se interpone entre offenbar y olfaktorisch , mientras que Turkish diccionarios tratan O y ö como letras diferentes, colocando game antes Öbür .

Un algoritmo estándar para clasificar cualquier colección de cadenas compuesta por cualquier símbolo Unicode estándar es el algoritmo de clasificación Unicode . Esto se puede adaptar para utilizar la secuencia de clasificación adecuada para un idioma determinado adaptando su tabla de clasificación predeterminada. Varias de estas adaptaciones se recopilan en Common Locale Data Repository .

Clasificar claves

En algunas aplicaciones, las cadenas por las que se clasifican los elementos pueden diferir de los identificadores que se muestran. Por ejemplo, El resplandor podría clasificarse como Resplandor, El (consulte el orden alfabético anterior), pero es posible que aún desee mostrarlo como El resplandor . En este caso, se pueden almacenar dos conjuntos de cadenas, uno para fines de visualización y otro para fines de clasificación. Las cadenas que se utilizan para la clasificación de esta forma se denominan claves de clasificación .

Problemas con los números

A veces, se desea ordenar el texto con números incrustados utilizando el orden numérico adecuado. Por ejemplo, "Figura 7b" va antes de "Figura 11a", aunque '7' viene después de '1' en Unicode . Esto se puede extender a números romanos . Este comportamiento no es particularmente difícil de producir siempre que solo se ordenen números enteros, aunque puede ralentizar la ordenación de manera significativa. Por ejemplo, Microsoft Windows hace esto al ordenar los nombres de los archivos .

Ordenar los decimales correctamente es un poco más difícil, porque las diferentes configuraciones regionales usan diferentes símbolos para un punto decimal y, a veces, el mismo carácter usado como un punto decimal también se usa como separador, por ejemplo, "Sección 3.2.5". No existe una respuesta universal sobre cómo clasificar tales cadenas; las reglas dependen de la aplicación.

El orden ascendente de números difiere del orden alfabético, por ejemplo, 11 viene alfabéticamente antes de 2. Esto se puede fijar con ceros a la izquierda : 02 viene alfabéticamente antes de 11. Véase, por ejemplo, ISO 8601 .

Además, −13 viene alfabéticamente después de −12, aunque es menos. Con los números negativos, para que el orden ascendente se corresponda con la clasificación alfabética, se necesitan medidas más drásticas, como agregar una constante a todos los números para hacerlos todos positivos.

Etiquetado de artículos pedidos

En algunos contextos, los números y las letras se utilizan no tanto como base para establecer un pedido, sino como un medio para etiquetar los artículos que ya están pedidos. Por ejemplo, las páginas, secciones, capítulos y similares, así como los elementos de las listas, con frecuencia se "numeran" de esta manera. Las series de etiquetado que se pueden utilizar incluyen números arábigos ordinarios (1, 2, 3, ...), números romanos (I, II, III, ... o i, ii, iii, ...) o letras (A , B, C, ... o a, b, c, ...). (Un método alternativo para indicar los elementos de la lista, sin numerarlos, es usar una lista con viñetas ).

Cuando se usan letras de un alfabeto para este propósito de enumeración , existen ciertas convenciones específicas del idioma en cuanto a qué letras se usan. Por ejemplo , se omiten las letras rusas Ъ y Ь (que al escribir solo se usan para modificar la consonante precedente ), y generalmente también Ы , Й y Ё. Además, en muchos idiomas que usan escritura latina extendida , las letras modificadas a menudo no se usan en la enumeración.

Ver también

Notas

Referencias

enlaces externos