{ "cells": [ { "cell_type": "markdown", "id": "49085af9-366c-48cb-9d92-77a1d854fd8d", "metadata": {}, "source": [ "## Generador de acrónimos \n", "\n", "Este ejemplo de jupyter notebook permite generar acrónimos a partir de una cadena de texto proporcionada como entrada y un corpus de palabras.\n", "\n", "El algoritmo devuelve palabras que están contenidas en el título, de forma que al menos una letra pertenece a cada palabra, siempre y\n", "cuando la palabra no sea un stopword (por ejemplo, \"of\"), en cuyo caso es opcional incluir o no una de sus letras en el acrónimo.\n", "\n", "Por defecto, no distingue minúsculas y mayúsculas. La distinción entre mayúsculas y minúsculas implica que solo las letras mayúsculas son consideradas para el alineamiento.\n", "\n", "Así, por ejemplo si tenemos en cuenta las mayúsculas y proporcionamos la cadena de texto \"Platform for OPEN DATA ACCESS IN DIGITAL HUMANITIES RESEARCH\", el proceso fuerza \n", "fuerza a que el acrónimo empiece por P y a que ningún término \"for\" sea incluido. En cambio, pueden aparecer o no letras de \"IN\" por ser un stopword.\n", "\n", "Si no tenemos en cuenta la distinción entre mayúsculas y minúsculas, en realidad todo el título se transforma a mayúsculas." ] }, { "cell_type": "code", "execution_count": 19, "id": "839831ab-559d-4b3d-8378-61bf345e5e6e", "metadata": {}, "outputs": [], "source": [ "import sys " ] }, { "cell_type": "markdown", "id": "6019a525-f03f-499d-bc2e-b6827194d2cc", "metadata": {}, "source": [ "## Clase Vocabulary para almacenar el diccionario proporcionado como entrada.\n", "\n", "Leemos línea a línea el fichero que recibimos como parámetro. Cada línea incluye una palabra a la que le quitamos los espacios de la izquierda y derecha y convertimos a mayúscula:" ] }, { "cell_type": "code", "execution_count": 20, "id": "af5da598-097e-4404-9bfc-5fbc178e6543", "metadata": {}, "outputs": [], "source": [ "# Un conjunto de nombres (palabras en mayúsculas) que son acrónimos válidos\n", "class Vocabulary(set):\n", " def __init__(self, filename):\n", " with open(filename, 'r') as f:\n", " for w in f: # lee linea a linea\n", " self.add(w.strip().upper()) # eliminamos espacios y convertimos a mayusculas" ] }, { "cell_type": "markdown", "id": "f891e121-f3ac-42e6-bde9-adc12a8308f6", "metadata": {}, "source": [ "## ¿Cómo se utiliza la clase Vocabulary?\n", "Para utilizar la clase Vocabulary es necesario el siguiente código que lee el fichero en_words.txt de la carpeta input:" ] }, { "cell_type": "code", "execution_count": 21, "id": "5cd7c76f-aea4-45be-8802-767d377f6afe", "metadata": {}, "outputs": [], "source": [ "words = Vocabulary('input/es_words.txt')" ] }, { "cell_type": "markdown", "id": "f9470ec8-ba19-45bc-a02d-a6dec84b8a9b", "metadata": {}, "source": [ "## La clase Title \n", "\n", "La clase Title almacena una cadena de texto que incluye varios términos. Contemplamos el caso de distinción entre mayúsculas y minúsculas.\n", "\n", "En el caso de tener en cuenta las mayúsculas, únicamente los términos en mayúscula se tendrán en cuenta. Por ejemplo, en el caso de utilizar la cadena \"First PLAN\", solo se tendrá en cuenta la F del primer término y P, L, A, o N del segundo.\n", " " ] }, { "cell_type": "code", "execution_count": 29, "id": "92d867bd-7ae0-4ce0-9f32-68c0c0a80740", "metadata": {}, "outputs": [], "source": [ "class Title(str):\n", " def __new__(cls, content, case_sensitive=True):\n", " \n", " # reducimos posibles espacios consecutivos a uno solo\n", " reduced = ' '.join(content.split())\n", " \n", " # contemplamos la distinción de mayúsculas y minúsculas \n", " if case_sensitive:\n", " return super().__new__(cls, reduced)\n", " str.__init__(reduced)\n", " else:\n", " return super().__new__(cls, reduced.upper())\n", " \n", " # En el caso de tener en cuenta las mayúsculas, únicamente los términos en mayúscula se tendrán en cuenta. \n", " # Por ejemplo, en el caso de utilizar la cadena \"First PLAN\", solo se tendrá en cuenta la F del primer término y P, L, A, o N del segundo.\n", " def __init__(self, content, case_sensitive=True):\n", " self._tokens = self.split()\n", "\n", " # marcamos la posición de los términos dependiendo del número de espacios precedentes\n", " self._token_number = {n:self[:n].count(' ') for n in range(len(self)) if self[n] != ' '}\n", "\n", " \n", " # devuelve la lista de términos en el titulo\n", " def tokens(self):\n", " return self._tokens\n", " \n", " # devuelve la posición del término en el titulo\n", " #return the token number for the specified position in the title\n", " def token_number(self, pos):\n", " return self._token_number[pos]\n", " \n", " # Devuelve verdadero si el término es una subsecuencia del titulo,\n", " # el término es el resultado de eliminar algunos caracteres (o ninguno) en el titulo\n", " def contains(self, word):\n", " n = -1\n", " for c in word:\n", " n = self.find(c, n + 1) \n", " if n < 0:\n", " return False\n", " \n", " return True\n", " \n", " # Devuelve todos los posibles alineamientos de la palabra y el titulo.\n", " # Un alineamiento es una tupla a = (a1, a2, .., aN) donde a1 < a2 < .. < aN y word[k] = title[ak] \n", " # Por ejemplo, si el término es 'AB' y el texto es 'ABAB', los alineamientos seran (0, 1), (0, 3) y (2,3)\n", " def all_alignments(self, word):\n", " A = [list(), list()]\n", " wsize = len(word)\n", " tsize = len(self)\n", " for j in range(1 + tsize):\n", " A[0].append(set())\n", " \n", " for i in range(1, 1 + wsize):\n", " A[i % 2] = [set()]\n", " for j in range(1, 1 + tsize):\n", " a = A[i%2][j - 1].copy()\n", " A[i % 2].append(a)\n", " if word[i - 1] == self[j - 1]: # add j - 1 to the tuples\n", " A[i % 2][j].add((j - 1,)) \n", " for a in A[(i - 1) % 2][j - 1]:\n", " A[i % 2][j].add(a + (j - 1,))\n", " \n", " # return only full aligments (word is exhausted and all chars matched)\n", " return set(a for a in A[wsize % 2][-1] if len(a) == len(word))\n" ] }, { "cell_type": "markdown", "id": "946b0dad-fe9b-4ac4-8aa1-d2b1a517b826", "metadata": {}, "source": [ "## Vamos a probar el generador de acrónimos" ] }, { "cell_type": "code", "execution_count": 42, "id": "5442b703-5219-44df-bbde-2e948955116d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Asociación de DATOS ABIERTOS para HUMANIDADES DIGITALES\n", "corpus tiene 87739 palabras\n", "AARONITA : Asociación de dAtos abieRtOs para humaNidades dIgiTAles\n", "ADAMANTE : Asociación de Datos Abiertos para huMANidades digiTalEs\n", "ADAMITA : Asociación de Datos Abiertos para huManidades dIgiTAles\n", "ADANIDA : Asociación de Datos Abiertos para humaNIdades DigitAles\n", "ADARME : Asociación de DAtos abieRtos para huManidades digitalEs\n", "ADEMA : Asociación de Datos abiErtos para huManidades digitAles\n", "ADEME : Asociación de Datos abiErtos para huManidades digitalEs\n", "ADENDA : Asociación de Datos abiErtos para humaNidaDes digitAles\n", "ADENIA : Asociación de Datos abiErtos para humaNIdades digitAles\n", "ADONDE : Asociación de Datos abiertOs para humaNidaDes digitalEs\n", "ADONIS : Asociación de Datos abiertOs para humaNidades dIgitaleS\n", "ADORANTE : Asociación de DatOs abieRtos para humANidades digiTalEs\n", "ADORNISTA : Asociación de DatOs abieRtos para humaNIdadeS digiTAles\n", "ADRAL : Asociación de Datos abieRtos para humanidAdes digitaLes\n", "ADREDE : Asociación de Datos abieRtos para humanidadEs DigitalEs\n", "ASEIDAD : Asociación de datoS abiErtos para humanIDAdes Digitales\n", "ASINA : Asociación de datoS abIertos para humaNidades digitAles\n", "ASOMADA : Asociación de datoS abiertOs para huManidAdes DigitAles\n", "ASONADA : Asociación de datoS abiertOs para humaNidADes digitAles\n", "ASTIL : Asociación de datoS abierTos para humanIdades digitaLes\n", "ATABAL : Asociación de daTos ABiertos para humAnidades digitaLes\n", "ATANASIA : Asociación de daTos Abiertos para humaNidAdeS dIgitAles\n", "ATAREA : Asociación de daTos AbieRtos para humanidadEs digitAles\n", "ATEROMA : Asociación de daTos abiERtOs para huManidades digitAles\n", "ATETOSIS : Asociación de daTos abiErTOs para humanidadeS digItaleS\n", "ATOMISTA : Asociación de daTos abiertOs para huManIdadeS digiTAles\n", "ATONA : Asociación de daTos abiertOs para humaNidades digitAles\n", "ATONAL : Asociación de daTos abiertOs para humaNidAdes digitaLes\n", "ATRESIA : Asociación de daTos abieRtos para humanidadES dIgitAles\n", "ATRIL : Asociación de daTos abieRtos para humanIdades digitaLes\n" ] } ], "source": [ "case_sensitive = True\n", "\n", "title = Title('Asociación de DATOS ABIERTOS para HUMANIDADES DIGITALES', case_sensitive)\n", "print(title)\n", " \n", "words = Vocabulary('input/es_words.txt')\n", "print(\"corpus tiene\", len(words), \"palabras\")\n", "\n", "# los stopwords se pueden tener en cuenta opcionalmente\n", "stopwords = Vocabulary('input/es_stopwords.txt')\n", "lowercase = {token for token in title.tokens() if token.islower()}\n", "\n", "# terminos en el titulo que no es necesario tener en cuenta\n", "ignore = {n for n, token in enumerate(title.tokens()) if token.upper() in stopwords|lowercase}\n", "\n", "for word in sorted(words):\n", " if title.contains(word):\n", " alignments = title.all_alignments(word)\n", " for a in alignments:\n", " \n", " matched = {title.token_number(pos) for pos in a}\n", " \n", " if len(ignore | matched) == len(title.tokens()):\n", " res = [c.upper() if n in a else c.lower() for n, c in enumerate(title)]\n", " print(word, ': ', ''.join(res))\n", " break" ] }, { "cell_type": "markdown", "id": "7d972bf8-3579-4fda-b2a7-ddd123f42680", "metadata": {}, "source": [ "## Vamos a probar sin distinguir entre mayúsculas y minúsculas y comprobamos el resultado" ] }, { "cell_type": "code", "execution_count": 44, "id": "55d95079-37fc-4773-995b-f6ae2b0bf145", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ASOCIACIÓN DE DATOS ABIERTOS PARA HUMANIDADES DIGITALES\n", "corpus tiene 87570 palabras\n", "AARONITA : asociAción de dAtos abieRtOs para humaNIdades digiTAles\n", "ACABADA : asociACión de dAtos aBiertos para humAniDades digitAles\n", "ACABOSE : asociACión de dAtos aBiertOs para humanidadeS digitalEs\n", "ACADEMIA : AsoCiAción de Datos abiErtos para huManidades digItAles\n", "ACADEMISTA : AsoCiAción de Datos abiErtos para huManIdadeS digiTAles\n", "ACASERARSE : AsoCiAción de datoS abiERtos pARa humanidadeS digitalEs\n", "ACATES : AsociaCión de dAtos abierTos para humanidadEs digitaleS\n", "ACCESIONAL : AsoCiaCión dE datoS abIertOs para humaNidAdes digitaLes\n", "ACCESORIA : AsoCiaCión dE datoS abiertOs paRa humanIdades digitAles\n", "ACCIDENTAL : AsoCiaCIón de Datos abiErtos para humaNidades digiTALes\n", "ACCIDENTE : AsoCiaCIón de Datos abiErtos para humaNidades digiTalEs\n", "ACETAMIDA : AsoCiación dE daTos Abiertos para huManIDades digitAles\n", "ACETONA : asociACión dE daTos abiertOs para humaNidades digitAles\n", "ACETOSA : asociACión dE daTos abiertOs para humanidadeS digitAles\n", "ACETOSIDAD : AsociaCión dE daTos abiertOS para humanIDAdes Digitales\n", "ACIDEMIA : AsociaCIón de Datos abiErtos para huManidades digItAles\n", "ACIDOSIS : asociACIón De datOs abiertoS para humanIdades digitaleS\n", "ACORARSE : AsoCiación de datOs abieRtos pARa humanidadeS digitalEs\n", "ACORDADA : AsociaCión de datOs abieRtos para humaniDAdes DigitAles\n", "ACORDE : AsociaCión de datOs abieRtos para humanidaDes digitalEs\n", "ACORES : asociACión de datOs abieRtos para humanidadEs digitaleS\n", "ACOSTADA : asociACión de datOS abierTos pAra humanidaDes digitAles\n", "ACOTADA : asociACión de datOs abierTos para humAnidades DigitAles\n", "ACTINIA : AsociaCión de daTos abIertos para humaNidades digItAles\n", "ACTITUD : AsociaCión de daTos abIerTos para hUmanidades Digitales\n", "ACTORAL : asociACión de daTOs abieRtos para humanidAdes digitaLes\n", "ADAMANTE : asociAción de Datos Abiertos para huMANidades digiTalEs\n", "ADAMITA : Asociación de Datos Abiertos para huManIdades digiTAles\n", "ADANIDA : asociAción de Datos Abiertos para humaNIDades digitAles\n", "ADARME : asociAción de DAtos abieRtos para huManidades digitalEs\n", "ADEMA : Asociación de Datos abiErtos para huManidades digitAles\n", "ADEME : asociAción de Datos abiErtos para huManidades digitalEs\n", "ADENDA : asociAción de Datos abiErtos para humaNidaDes digitAles\n", "ADENIA : asociAción de Datos abiErtos para humaNIdades digitAles\n", "ADIPSIA : asociAción de Datos abIertos Para humanidadeS digItAles\n", "ADONDE : asociAción de Datos abiertOs para humaNidades DigitalEs\n", "ADONIS : Asociación de Datos abiertOs para humaNIdades digitaleS\n", "ADORANTE : Asociación De datOs abieRtos parA humaNidades digiTalEs\n", "ADORNISTA : asociAción De datOs abieRtos para humaNIdadeS digiTAles\n", "ADRAL : Asociación de Datos abieRtos para humanidAdes digitaLes\n", "ADREDE : Asociación de Datos abieRtos para humanidadEs DigitalEs\n", "AINDIARSE : AsociacIóN de Datos abIertos pARa humanidadeS digitalEs\n", "AITINAL : AsociacIón de daTos abIertos para humaNidades digitALes\n", "ANASTASIA : AsociacióN de dAtoS abierTos para humAnidadeS digItAles\n", "ANATEMA : asociAcióN de dATos abiErtos para huManidades digitAles\n", "ANATISTA : AsociacióN de dAtos abierTos para humanIdadeS digiTAles\n", "ANATOMISTA : AsociacióN de dAtos abierTOs para huManIdadeS digiTAles\n", "ANDADA : asociAcióN de Datos Abiertos para humanidaDes digitAles\n", "ANDAMIADA : asociAcióN de Datos Abiertos para huManIdAdes DigitAles\n", "ANDANA : asociAcióN de Datos Abiertos para humaNidades digitAles\n", "ANDANADA : AsociacióN de Datos Abiertos para humaNidAdes DigitAles\n", "ANDANTE : AsociacióN de Datos Abiertos para humaNidades digiTalEs\n", "ANDESINA : asociAcióN DE datoS abIertos para humaNidades digitAles\n", "ANDESITA : asociAcióN de Datos abiErtos para humanidadeS digITAles\n", "ANDINISTA : AsociacióN de Datos abIertos para humaNIdadeS digiTAles\n", "ANDOBAS : AsociacióN De datOs aBiertos para humAnidades digitaleS\n", "ANDROIDE : asociAcióN de Datos abieRtOs para humanIdaDes digitalEs\n", "ANDROPAUSIA : asociAcióN de Datos abieRtOs ParA hUmanidadeS dIgitAles\n", "ANESTESIA : AsociacióN dE datoS abierTos para humanidadES digItAles\n", "ANORIA : AsociacióN de datOs abieRtos para humanIdades digitAles\n", "ANORMAL : AsociacióN de datOs abieRtos para huMAnidades digitaLes\n", "ANOSMIA : AsociacióN de datOs abiertoS para huManIdades digitAles\n", "ANSIEDAD : AsociacióN de datoS abIErtos para humaniDAdes Digitales\n", "ANSINA : asociAcióN de datoS abIertos para humaNidades digitAles\n", "ANSIOSIDAD : AsociacióN de datoS abIertOS para humanIDAdes Digitales\n", "ANTANA : AsociacióN de daTos Abiertos para humaNidades digitAles\n", "ANTEDATA : AsociacióN de daTos abiErtos para humaniDAdes digiTAles\n", "ANTENA : AsociacióN de daTos abiErtos para humaNidades digitAles\n", "ANTENISTA : asociAcióN de daTos abiErtos para humaNIdadeS digiTAles\n", "ANTIESPUMANTE : AsociacióN de daTos abIErtoS Para hUMANidades digiTalEs\n", "ANTIMISIL : asociAcióN de daTos abIertos para huManIdadeS dIgitaLes\n", "ANTISIDA : AsociacióN de daTos abIertoS para humanIdaDes digitAles\n", "ANTITRUST : asociAcióN de daTos abIerTos paRa hUmanidadeS digiTales\n", "ANTOSTA : asociAcióN de daTos abiertOs para humanidadeS digiTAles\n", "ASCARITA : ASociaCión de dAtos abieRtos para humanIdades digiTAles\n", "ASCOSIDAD : ASociaCión de datOs abiertoS para humanIDAdes Digitales\n", "ASEDIANTE : ASociación dE Datos abIertos pAra humaNidades digiTalEs\n", "ASEIDAD : asociAción de datoS abiErtos para humanIDAdes Digitales\n", "ASEPSIA : asociAción de datoS abiErtos Para humanidadeS digItAles\n", "ASERRADA : Asociación de datoS abiERtos paRA humanidaDes digitAles\n", "ASINA : asociAción de datoS abIertos para humaNidades digitAles\n", "ASOCAIRARSE : ASOciaCión de dAtos abIeRtos pARa humanidadeS digitalEs\n", "ASOMADA : asociAción de datoS abiertOs para huManidADes digitAles\n", "ASONADA : Asociación de datoS abiertOs para humaNidADes digitAles\n", "ASTENIA : ASociación de daTos abiErtos para humaNidades dIgitAles\n", "ASTEROIDE : ASociación de daTos abiERtOs para humanIdades DigitalEs\n", "ASTIL : Asociación de datoS abierTos para humanIdades digitaLes\n", "ASTRAL : Asociación de datoS abierTos paRa humanidAdes digitaLes\n", "ATABAL : Asociación de daTos ABiertos para humAnidades digitaLes\n", "ATANASIA : asociAción de daTos Abiertos para humaNidAdeS dIgitAles\n", "ATAREA : Asociación de daTos Abiertos paRa humanidadEs digitAles\n", "ATARRAGA : Asociación de daTos AbieRtos paRa humanidAdes diGitAles\n", "ATEROMA : Asociación de daTos abiERtOs para huManidades digitAles\n", "ATERRADA : asociAción de daTos abiERtos paRa humAnidades DigitAles\n", "ATETOSIS : Asociación de daTos abiErTOs para humanidadeS digItaleS\n", "ATIPARSE : asociAción de daTos abIertos PARa humanidadeS digitalEs\n", "ATOMISTA : Asociación de daTos abiertOs para huManIdadeS digiTAles\n", "ATONA : Asociación de daTos abiertOs para humaNidades digitAles\n", "ATONAL : asociAción de daTos abiertOs para humaNidAdes digitaLes\n", "ATORRANTE : Asociación de daTOs abieRtos paRa humANidades digiTalEs\n", "ATRESIA : asociAción de daTos abieRtos para humanidadES dIgitAles\n", "ATRIL : Asociación de daTos abieRtos para humanIdades digitaLes\n", "CABAL : asociaCión de dAtos aBiertos para humanidAdes digitaLes\n", "CABANGA : asociaCión de dAtos aBiertos para humANidades diGitAles\n", "CABANISTA : asociaCión de dAtos aBiertos para humANIdadeS digiTAles\n", "CABDAL : asociaCión de dAtos aBiertos para humaniDades digitALes\n", "CABETE : asociaCión de dAtos aBiertos para humanidadEs digiTalEs\n", "CABIDA : asoCiación de dAtos aBIertos para humanidaDes digitAles\n", "CABINA : asociaCión de dAtos aBIertos para humaNidades digitAles\n", "CABORAL : asoCiación de dAtos aBiertOs paRa humanidAdes digitaLes\n", "CABRADA : asociaCión de dAtos aBiertos paRa humAnidaDes digitAles\n", "CABRAHIGAL : asociaCión de dAtos aBiertos paRA Humanidades dIGitALes\n", "CABRALES : asociaCión de dAtos aBiertos paRa humAnidades digitaLES\n", "CABRIA : asociaCión de dAtos aBieRtos para humanIdades digitAles\n", "CABRITA : asociaCión de dAtos aBieRtos para humanIdades digiTAles\n", "CABRONADA : asociaCión de dAtos aBieRtOs para humaNidADes digitAles\n", "CABRUNA : asociaCión de dAtos aBiertos paRa hUmaNidades digitAles\n", "CABUDA : asociaCión de dAtos aBiertos para hUmaniDades digitAles\n", "CACAOTAL : asoCiACión de dAtOs abierTos para humAnidades digitaLes\n", "CACOSMIA : asoCiACión de datOs abiertoS para huManIdades digitAles\n", "CADENA : asoCiAción de Datos abiErtos para humaNidades digitAles\n", "CADENETA : asoCiAción de Datos abiErtos para humaNidadEs digiTAles\n", "CADENTE : asoCiAción de Datos abiErtos para humaNidades digiTalEs\n", "CADETADA : asoCiAción de Datos abiErTos parA humanidaDes digitAles\n", "CADIRETA : asoCiAción de Datos abIertos paRa humanidadEs digiTAles\n", "CAENA : asociaCión de dAtos abiErtos para humaNidades digitAles\n", "CAIMA : asociaCión de dAtos abIertos para huManidades digitAles\n", "CAIMITAL : asoCiación de dAtos abIertos para huManidades digITALes\n", "CAINITA : asociaCión de dAtos abIertos para humaNidades dIgiTAles\n", "CAIREL : asociaCión de dAtos abIertos paRa humanidadEs digitaLes\n", "CANARIA : asoCiAcióN de dAtos abieRtos para humanIdades digitAles\n", "CANASTADA : asoCiAcióN de dAtoS abierTos para humAnidaDes digitAles\n", "CANASTITA : asoCiAcióN de dAtoS abierTos para humanIdades digiTAles\n", "CANDANGA : asoCiAcióN de Datos Abiertos para humaNidades diGitAles\n", "CANDANGAS : asoCiAcióN de Datos Abiertos para humaNidades diGitAleS\n", "CANDEAL : asoCiAcióN de Datos abiErtos para humanidAdes digitaLes\n", "CANDEDA : asoCiAcióN de Datos abiErtos para humanidaDes digitAles\n", "CANDENTE : asoCiAcióN de Datos abiErtos para humaNidades digiTalEs\n", "CANDIAL : asoCiAcióN de Datos abIertos para humanidAdes digitaLes\n", "CANDIEL : asoCiAcióN de Datos abIertos para humanidadEs digitaLes\n", "CANDINGA : asoCiAcióN de Datos abIertos para humaNidades diGitAles\n", "CANDONGA : asoCiAcióN de Datos abiertOs para humaNidades diGitAles\n", "CANOADA : asoCiAcióN de datOs Abiertos para humanidaDes digitAles\n", "CANTABILE : asoCiAcióN de daTos ABiertos para humanIdades digitaLEs\n", "CANTAMISA : asoCiAcióN de daTos Abiertos para huManIdadeS digitAles\n", "CANTANTE : asoCiAcióN de daTos Abiertos para humaNidades digiTalEs\n", "CANTARADA : asoCiAcióN de daTos AbieRtos para humanidADes digitAles\n", "CANTARAL : asoCiAcióN de daTos Abiertos paRa humAnidades digitaLes\n", "CANTARRANA : asoCiAcióN de daTos AbieRtos paRa humANidades digitAles\n", "CANTESA : asoCiAcióN de daTos abiErtos para humanidadeS digitAles\n", "CANTIDAD : asoCiAcióN de daTos abIertos para humaniDAdes Digitales\n", "CANTINA : asoCiAcióN de daTos abIertos para humaNidades digitAles\n", "CANTISTA : asoCiAcióN de daTos abIertos para humanidadeS digiTAles\n", "CANTONAL : asoCiAcióN de daTos abiertOs para humaNidades digitALes\n", "CANTORAL : asoCiAcióN de daTOs abieRtos para humanidAdes digitaLes\n", "CANTORRAL : asoCiAcióN de daTOs abieRtos paRa humAnidades digitaLes\n", "CAOBANA : asoCiAción de datOs aBiertos parA humaNidades digitAles\n", "CARAMA : asoCiación de dAtos abieRtos parA huManidades digitAles\n", "CARAMEL : asociaCión de dAtos abieRtos pAra huManidadEs digitaLes\n", "CARAMIDA : asoCiación de dAtos abieRtos parA huManIDades digitAles\n", "CARANGA : asoCiación de dAtos abieRtos pAra humaNidades diGitAles\n", "CARATE : asoCiación de dAtos abieRtos para humAnidades digiTalEs\n", "CARDA : asociaCión de dAtos abieRtos para humaniDades digitAles\n", "CARDADA : asoCiación de dAtos abieRtos para humaniDADes digitAles\n", "CARDAL : asociaCión de dAtos abieRtos para humaniDades digitALes\n", "CARDIAL : asociaCión de dAtos abieRtos para humaniDades digItALes\n", "CARDIAS : asoCiación de dAtos abieRtos para humanidaDes dIgitAleS\n", "CAREA : asociaCión de dAtos abieRtos para humanidadEs digitAles\n", "CAREL : asoCiación de dAtos abieRtos para humanidadEs digitaLes\n", "CARESA : asociaCión de dAtos abieRtos para humanidadES digitAles\n", "CARETA : asociaCión de dAtos abieRtos para humanidadEs digiTAles\n", "CARIA : asociaCión de dAtos abieRtos para humanIdades digitAles\n", "CARIDAD : asociaCión de dAtos abieRtos para humanIDAdes Digitales\n", "CARIES : asoCiación de dAtos abieRtos para humanIdades digitalES\n", "CARISIAS : asociaCión de dAtos abieRtos para humanIdadeS digItAleS\n", "CARITE : asoCiación de dAtos abieRtos para humanIdades digiTalEs\n", "CARME : asoCiación de dAtos abieRtos para huManidades digitalEs\n", "CARMEL : asoCiación de dAtos abieRtos para huManidadEs digitaLes\n", "CARMES : asociaCión de dAtos abieRtos para huManidades digitalES\n", "CARMESITA : asociaCión de dAtos abieRtos para huManidadES digITAles\n", "CARNADA : asoCiación de dAtos abieRtos para humaNidADes digitAles\n", "CARNAL : asoCiación de dAtos abieRtos para humaNidades digitALes\n", "CARNE : asociaCión de dAtos abieRtos para humaNidades digitalEs\n", "CARNITAS : asociaCión de dAtos abieRtos para humaNIdades digiTAleS\n", "CARONA : asoCiación de dAtos abieRtOs para humaNidades digitAles\n", "CAROSIS : asoCiación de dAtos abieRtOs para humanidadeS digItaleS\n", "CARPANEL : asociaCión de dAtos abieRtos PAra humaNidadEs digitaLes\n", "CARPANTA : asoCiación de dAtos abieRtos ParA humaNidades digiTAles\n", "CARPEDAL : asociaCión de dAtos abieRtos Para humanidadEs DigitALes\n", "CARPETA : asoCiación de dAtos abieRtos Para humanidadEs digiTAles\n", "CARRADA : asociaCión de dAtos abieRtos paRa humAnidaDes digitAles\n", "CARRAL : asociaCión de dAtos abieRtos paRa humAnidades digitaLes\n", "CARRETA : asoCiación de dAtos abieRtos paRa humanidadEs digiTAles\n", "CARRETAL : asoCiación de dAtos abieRtos paRa humanidadEs digiTALes\n", "CARRETE : asoCiación de dAtos abieRtos paRa humanidadEs digiTalEs\n", "CARRIEL : asoCiación de dAtos abieRtos paRa humanIdadEs digitaLes\n", "CARRIL : asociaCión de dAtos abieRtos paRa humanIdades digitaLes\n", "CARRUATA : asociaCión de dAtos abieRtos paRa hUmAnidades digiTAles\n", "CARRUNA : asociaCión de dAtos abieRtos paRa hUmaNidades digitAles\n", "CARTEL : asoCiación de dAtos abieRTos para humanidadEs digitaLes\n", "CARTETA : asociaCión de dAtos abieRTos para humanidadEs digiTAles\n", "CARTONISTA : asoCiación de dAtos abieRTOs para humaNIdadeS digiTAles\n", "CARUATA : asoCiación de dAtos abieRtos para hUmanidAdes digiTAles\n", "CASAL : asociaCión de dAtos abiertoS para humanidAdes digitaLes\n", "CASAMATA : asoCiación de dAtos abiertoS pAra huMAnidades digiTAles\n", "CASERNA : asoCiAción de datoS abiERtos para humaNidades digitAles\n", "CASETA : asociaCión de dAtos abiertoS para humanidadEs digiTAles\n", "CASETE : asoCiación de dAtos abiertoS para humanidadEs digiTalEs\n", "CASIA : asoCiación de dAtos abiertoS para humanIdades digitAles\n", "CASIDA : asociaCión de dAtos abiertoS para humanIdaDes digitAles\n", "CASINA : asociaCión de dAtoS abIertos para humaNidades digitAles\n", "CASINETA : asoCiación de dAtoS abIertos para humaNidadEs digiTAles\n", "CASINETE : asociaCión de dAtoS abIertos para humaNidadEs digiTalEs\n", "CASINITA : asoCiación de dAtoS abIertos para humaNIdades digiTAles\n", "CASIS : asociaCión de dAtos abiertoS para humanIdades digitaleS\n", "CASONA : asoCiAción de datoS abiertOs para humaNidades digitAles\n", "CASPIA : asociaCión de dAtos abiertoS Para humanIdades digitAles\n", "CASTEL : asoCiAción de datoS abierTos para humanidadEs digitaLes\n", "CASTIDAD : asoCiAción de datoS abierTos para humanIDAdes Digitales\n", "CASTRANTE : asoCiAción de datoS abierTos paRa humANidades digiTalEs\n", "CASTRISTA : asociaCión de dAtoS abierTos paRa humanIdadeS digiTAles\n", "CASTUGA : asoCiación de dAtoS abierTos para hUmanidades diGitAles\n", "CASUAL : asociaCión de dAtos abiertoS para hUmanidAdes digitaLes\n", "CASUISTA : asoCiación de dAtos abiertoS para hUmanIdadeS digiTAles\n", "CATANA : asociaCión de dATos Abiertos para humaNidades digitAles\n", "CATANGA : asoCiación de dATos Abiertos para humaNidades diGitAles\n", "CATARATA : asoCiAción de daTos AbieRtos para humanidAdes digiTAles\n", "CATARRAL : asociaCión de dATos AbieRtos paRa humAnidades digitaLes\n", "CATARSIS : asociaCión de dAtos abierTos pARa humanidadeS digItaleS\n", "CATASTA : asoCiación de dAtos abierTos para humAnidadeS digiTAles\n", "CATATONIA : asociaCión de dATos AbierTOs para humaNidades dIgitAles\n", "CATEADA : asoCiación de dATos abiErtos pAra humanidaDes digitAles\n", "CATETE : asociaCión de dAtos abierTos para humanidadEs digiTalEs\n", "CATINGA : asoCiación de dATos abIertos para humaNidades diGitAles\n", "CATITA : asoCiación de dAtos abierTos para humanIdades digiTAles\n", "CATITE : asoCiación de dAtos abierTos para humanIdades digiTalEs\n", "CEDENTE : asociaCión dE Datos abiErtos para humaNidades digiTalEs\n", "CEDOARIA : asociaCión dE Datos abiertOs pARa humanIdades digitAles\n", "CEDRAS : asoCiación dE Datos abieRtos para humanidAdes digitaleS\n", "CEDRIA : asociaCión dE Datos abieRtos para humanIdades digitAles\n", "CESANTE : asociaCión dE datoS Abiertos para humaNidades digiTalEs\n", "CESARISTA : asoCiación dE datoS AbieRtos para humanIdadeS digiTAles\n", "CESIONISTA : asoCiación dE datoS abIertOs para humaNIdadeS digiTAles\n", "CESTADA : asoCiación dE datoS abierTos para humAnidades DigitAles\n", "CESTONADA : asociaCión dE datoS abierTOs para humaNidAdes DigitAles\n", "CETARIA : asociaCión dE daTos Abiertos paRa humanIdades digitAles\n", "CETINA : asociaCión dE daTos abIertos para humaNidades digitAles\n", "CETONA : asociaCión dE daTos abiertOs para humaNidades digitAles\n", "CETONIA : asoCiación dE daTos abiertOs para humaNidades dIgitAles\n", "CETOSIS : asociaCión dE daTos abiertOs para humanidadeS digItaleS\n", "CIANOSIS : asoCIAcióN de datOs abiertoS para humanIdades digitaleS\n", "CICORIA : asoCIaCión de datOs abieRtos para humanIdades digitAles\n", "CIDRADA : asociaCIón de Datos abieRtos parA humaniDades digitAles\n", "CIDRAL : asociaCIón de Datos abieRtos para humanidAdes digitaLes\n", "CIDRIA : asoCIación de Datos abieRtos para humanIdades digitAles\n", "CINESTESIA : asoCiacIóN dE datoS abierTos para humanidadES digItAles\n", "CINTREL : asociaCIóN de daTos abieRtos para humanidadEs digitaLes\n", "CISORIA : asoCIación de datoS abiertOs paRa humanIdades digitAles\n", "CITANIA : asociaCIón de daTos Abiertos para humaNIdades digitAles\n", "CITARISTA : asoCIación de daTos AbieRtos para humanIdadeS digiTAles\n", "CITOSINA : asoCiacIón de daTOS abIertos para humaNidades digitAles\n", "COAITA : asociaCión de datOs Abiertos para humanIdades digiTAles\n", "COANA : asociaCión de datOs Abiertos para humaNidades digitAles\n", "COARTADA : asociaCión de datOs AbieRTos para humanidAdes DigitAles\n", "COBARDE : asoCiación de datOs aBiertos pARa humaniDades digitalEs\n", "COBEA : asociaCión de datOs aBiertos para humanidadEs digitAles\n", "COBIL : asoCiación de datOs aBiertos para humanIdades digitaLes\n", "COBISTA : asociaCión de datOs aBiertos para humanIdadeS digiTAles\n", "COIHUE : asociaCión de datOs abIertos para HUmanidades digitalEs\n", "COIMA : asociaCión de datOs abIertos para huManidades digitAles\n", "COIME : asociaCión de datOs abIertos para huManidades digitalEs\n", "COIRONAL : asoCiación de datOs abIeRtOs para humaNidAdes digitaLes\n", "COITAL : asoCiación de datOs abIerTos para humAnidades digitaLes\n", "COONA : asociaCión de datOs abiertOs para humaNidades digitAles\n", "CORADA : asoCiación de datOs abieRtos parA humanidaDes digitAles\n", "CORAL : asoCiación de datOs abieRtos para humanidAdes digitaLes\n", "CORANA : asoCiación de datOs abieRtos pAra humaNidades digitAles\n", "CORAS : asoCiación de datOs abieRtos para humanidAdes digitaleS\n", "CORDA : asoCiación de datOs abieRtos para humaniDades digitAles\n", "CORDADA : asoCiación de datOs abieRtos para humaniDADes digitAles\n", "CORDAL : asociaCión de datOs abieRtos para humaniDAdes digitaLes\n", "CORDEL : asoCiación de datOs abieRtos para humaniDadEs digitaLes\n", "CORDETA : asoCiación de datOs abieRtos para humaniDadEs digiTAles\n", "CORDIAL : asociaCión de datOs abieRtos para humanidaDes dIgitALes\n", "CORDITA : asociaCión de datOs abieRtos para humaniDades digITAles\n", "COREA : asoCiación de datOs abieRtos para humanidadEs digitAles\n", "COREGA : asociaCión de datOs abieRtos para humanidadEs diGitAles\n", "CORETE : asoCiación de datOs abieRtos para humanidadEs digiTalEs\n", "CORIA : asociaCión de datOs abieRtos para humanIdades digitAles\n", "CORISTA : asoCiación de datOs abieRtos para humanIdadeS digiTAles\n", "CORMA : asoCiación de datOs abieRtos para huManidades digitAles\n", "CORNADA : asociaCión de datOs abieRtos para humaNidADes digitAles\n", "CORNAL : asoCiación de datOs abieRtos para humaNidades digitALes\n", "CORNEAL : asociaCión de datOs abieRtos para humaNidadEs digitALes\n", "CORNETA : asociaCión de datOs abieRtos para humaNidadEs digiTAles\n", "CORNETE : asoCiación de datOs abieRtos para humaNidadEs digiTalEs\n", "CORNIAL : asociaCión de datOs abieRtos para humaNidades dIgitALes\n", "CORNIL : asoCiación de datOs abieRtos para humaNidades dIgitaLes\n", "CORNISA : asociaCión de datOs abieRtos para humaNIdadeS digitAles\n", "CORNISTA : asoCiación de datOs abieRtos para humaNIdadeS digiTAles\n", "COROIDES : asociaCión de datOs abieRtOs para humanIDades digitalES\n", "CORONA : asociaCión de datOs abieRtOs para humaNidades digitAles\n", "CORONADA : asociaCión de datOs abieRtOs para humaNidAdes DigitAles\n", "CORONAL : asoCiación de datOs abieRtOs para humaNidades digitALes\n", "CORONDA : asociaCión de datOs abieRtOs para humaNidaDes digitAles\n", "CORONDEL : asoCiación de datOs abieRtOs para humaNiDadEs digitaLes\n", "CORONEL : asoCiación de datOs abieRtOs para humaNidadEs digitaLes\n", "CORONISTA : asociaCión de datOs abieRtOs para humaNIdadeS digiTAles\n", "CORONTA : asoCiación de datOs abieRtOs para humaNidades digiTAles\n", "CORPUS : asociaCión de datOs abieRtos Para hUmanidades digitaleS\n", "CORRAL : asociaCión de datOs abieRtos paRa humanidAdes digitaLes\n", "CORREA : asoCiación de datOs abieRtos paRa humanidadEs digitAles\n", "CORREAL : asoCiación de datOs abieRtos paRa humanidadEs digitALes\n", "CORRIDA : asoCiación de datOs abieRtos paRa humanIDades digitAles\n", "CORSA : asoCiación de datOs abieRtos para humanidadeS digitAles\n", "CORTADA : asoCiación de datOs abieRTos para humAnidaDes digitAles\n", "CORTANTE : asociaCión de datOs abieRTos parA humaNidades digiTalEs\n", "CORTEGA : asoCiación de datOs abieRTos para humanidadEs diGitAles\n", "CORTIL : asoCiación de datOs abieRTos para humanIdades digitaLes\n", "COSANTE : asociaCión de datOs abiertoS pAra humaNidades digiTalEs\n", "COSETADA : asociaCión de datOS abiErTos para humAnidades DigitAles\n", "COSORIA : asoCiación de datOS abiertOs paRa humanIdades digitAles\n", "COSPEL : asociaCión de datOs abiertoS Para humanidadEs digitaLes\n", "COSTAL : asociaCión de datOS abierTos para humanidAdes digitaLes\n", "COSTANA : asoCiación de datOS abierTos para humANidades digitAles\n", "COSTIL : asociaCión de datOS abierTos para humanIdades digitaLes\n", "COSTRADA : asoCiación de datOS abierTos paRA humaniDades digitAles\n", "COTANA : asociaCión de datOs abierTos parA humaNidades digitAles\n", "COTONA : asociaCión de datOs abierTOs para humaNidades digitAles\n", "COTONADA : asociaCión de datOs abierTOs para humaNidAdes DigitAles\n", "COTRAL : asociaCión de datOs abierTos paRa humAnidades digitaLes\n", "CÓNSONE : asoCiaciÓN de datoS abiertOs para humaNidades digitalEs\n", "ICTERODES : asocIaCión de daTos abiERtOs para humanidaDes digitalES\n", "ICTIOSIS : asocIaCión de daTos abIertOs para humanidadeS dIgitaleS\n", "IDEAL : asocIación de Datos abiErtos para humAnidades digitaLes\n", "IDIOMA : asocIación de Datos abIertOs para huManidades digitAles\n", "INDEMNE : asociacIóN de Datos abiErtos para huMaNidades digitalEs\n", "INDEMNIDAD : asocIacióN de Datos abiErtos para huMaNIDAdes Digitales\n", "INDIADA : asociacIóN de Datos abIertos pAra humaniDades digitAles\n", "INDIANA : asociacIóN de Datos abIertos parA humaNidades digitAles\n", "INDIANISTA : asociacIóN de Datos abIertos parA humaNIdadeS digiTAles\n", "INSANIA : asociacIóN de datoS Abiertos para humaNidades digItAles\n", "INSIDIA : asociacIóN de datoS abIertos para humanidaDes digItAles\n", "INSINIA : asocIacióN de datoS abIertos para humaNIdades digitAles\n", "INSOMNE : asocIacióN de datoS abiertOs para huMaNidades digitalEs\n", "INSTANTE : asocIacióN de datoS abierTos pAra humaNidades digiTalEs\n", "INTERDIGITAL : asociacIóN de daTos abiErtos paRa humanidaDes dIGITALes\n", "INTERESAL : asociacIóN de daTos abiErtos paRa humanidadES digitALes\n", "INTERESE : asociacIóN de daTos abiErtos paRa humanidadES digitalEs\n", "INTERNADA : asociacIóN de daTos abiErtos paRa humaNidADes digitAles\n", "INTERNET : asociacIóN de daTos abiERtos para humaNidadEs digiTales\n", "INTERNISTA : asocIacióN de daTos abiErtos paRa humaNIdadeS digiTAles\n", "INTERPRESA : asociacIóN de daTos abiERtos PaRa humanidadES digitAles\n", "INTIMA : asocIacióN de daTos abIertos para huManidades digitAles\n", "INTIMIDAD : asocIacióN de daTos abIertos para huManIDAdes Digitales\n", "INTIMISTA : asociacIóN de daTos abIertos para huManIdadeS digiTAles\n", "INTRIGA : asociacIóN de daTos abieRtos para humanIdades diGitAles\n", "ITRIA : asocIación de daTos abieRtos para humanIdades digitAles\n", "NABAL : asociacióN de dAtos aBiertos para humAnidades digitaLes\n", "NABINA : asociacióN de dAtos aBIertos para humaNidades digitAles\n", "NARES : asociacióN de dAtos abieRtos para humanidadEs digitaleS\n", "NARRIA : asociacióN de dAtos abieRtos paRa humanIdades digitAles\n", "NASAL : asociacióN de dAtos abiertoS para humAnidades digitaLes\n", "NATAL : asociacióN de dAtos abierTos para humanidAdes digitaLes\n", "NATRAL : asociacióN de dAtos abierTos paRa humAnidades digitaLes\n", "NEORAMA : asociacióN dE datOs abieRtos pAra huManidades digitAles\n", "NOBEL : asociacióN de datOs aBiertos para humanidadEs digitaLes\n", "NOEMA : asociacióN de datOs abiErtos para huManidades digitAles\n", "NOESIS : asociacióN de datOs abiErtoS para humanIdades digitaleS\n", "NORDESTAL : asociacióN de datOs abieRtos para humanidaDES digiTALes\n", "NORDESTE : asociacióN de datOs abieRtos para humaniDadES digiTalEs\n", "NORESTE : asociacióN de datOs abieRtos para humanidadES digiTalEs\n", "NORIA : asociacióN de datOs abieRtos para humanIdades digitAles\n", "NORIAL : asociacióN de datOs abieRtos para humanIdAdes digitaLes\n", "NORMA : asociacióN de datOs abieRtos para huManidades digitAles\n", "NORMAL : asociacióN de datOs abieRtos para huManidades digitALes\n", "NOROESTE : asociacióN de datOs abieRtOs para humanidadES digiTalEs\n", "NORTADA : asociacióN de datOs abieRTos parA humaniDades digitAles\n", "NORUEGA : asociacióN de datOs abieRtos para hUmanidadEs diGitAles\n", "NORUESTE : asociacióN de datOs abieRtos para hUmanidadES digiTalEs\n", "NOSTRAS : asociacióN de datOS abierTos paRa humanidAdes digitaleS\n", "NOTARIAL : asociacióN de datOs abierTos pARa humanIdades digitALes\n", "OASIS : asOciación de dAtos abiertoS para humanIdades digitaleS\n", "OCASIONAL : asOciaCión de dAtoS abIertOs para humaNidades digitALes\n", "OCCIDENTAL : asOCiaCIón de Datos abiErtos para humaNidades digiTALes\n", "OCCIDENTE : asOCiaCIón de Datos abiErtos para humaNidades digiTalEs\n", "OCIOSIDAD : asOCiacIón de datOs abiertoS para humanIDAdes Digitales\n", "OCOTAL : asOCiación de datOs abierTos para humAnidades digitaLes\n", "OCTANTE : asOCiación de daTos Abiertos para humaNidades digiTalEs\n", "ODIOSIDAD : asOciación de Datos abIertOS para humanIDAdes Digitales\n", "ODISEA : asOciación de Datos abIertoS para humanidadEs digitAles\n", "ODORANTE : asOciación De datOs abieRtos parA humaNidades digiTalEs\n", "ONDEANTE : asOciacióN de Datos abiErtos para humANidades digiTalEs\n", "ONDINA : asOciacióN de Datos abIertos para humaNidades digitAles\n", "ONOSMA : asOciacióN de datOs abiertoS para huManidades digitAles\n", "ONTINA : asOciacióN de daTos abIertos para humaNidades digitAles\n", "OSTAGA : asOciación de datoS abierTos para humAnidades diGitAles\n", "OSTIA : asOciación de datoS abierTos para humanIdades digitAles\n", "OSTIAL : asOciación de datoS abierTos para humanIdades digitALes\n", "OSTRAL : asOciación de datoS abierTos paRa humAnidades digitaLes\n", "OSTRAS : asOciación de datoS abierTos paRa humanidAdes digitaleS\n", "OTATAL : asOciación de daTos AbierTos para humAnidades digitaLes\n", "OTITIS : asOciación de daTos abIerTos para humanIdades digitaleS\n", "OTOMANA : asOciación de daTos abiertOs para huMANidades digitAles\n", "OTORREA : asOciación de daTOs abieRtos paRa humanidadEs digitAles\n", "SABANA : aSociación de dAtos aBiertos parA humaNidades digitAles\n", "SABANAL : aSociación de dAtos aBiertos para humANidAdes digitaLes\n", "SABANETA : aSociación de dAtos aBiertos pAra humaNidadEs digiTAles\n", "SABIENDAS : aSociación de dAtos aBIErtos para humaNidades DigitAleS\n", "SABINA : aSociación de dAtos aBIertos para humaNidades digitAles\n", "SABONETA : aSociación de dAtos aBiertOs para humaNidadEs digiTAles\n", "SABOREA : aSociación de dAtos aBiertOs paRa humanidadEs digitAles\n", "SABUGAL : aSociación de dAtos aBiertos para hUmanidades diGitALes\n", "SACAROSA : aSociACión de dAtos abieRtOs para humanidadeS digitAles\n", "SACATINTA : aSociACión de dATos abIertos para humaNidades digiTAles\n", "SAETADA : aSociación de dAtos abiErTos pAra humaniDades digitAles\n", "SAINETE : aSociación de dAtos abIertos para humaNidadEs digiTalEs\n", "SAINETISTA : aSociAcIóN dE daTos abIertos para humanidadeS digiTAles\n", "SANATORIAL : aSociAcióN de dATOs abieRtos para humanIdAdes digitaLes\n", "SANDIAL : aSociAcióN de Datos abIertos para humanidAdes digitaLes\n", "SANDINISTA : aSociAcióN de Datos abIertos para humaNIdadeS digiTAles\n", "SANTANITA : aSociAcióN de daTos Abiertos para humaNidades dIgiTAles\n", "SANTIDAD : aSociAcióN de daTos abIertos para humaniDAdes Digitales\n", "SANTORAL : aSociAcióN de daTOs abieRtos para humAnidades digitaLes\n", "SARAMA : aSociación de dAtos abieRtos pAra huManidades digitAles\n", "SARASA : aSociación de dAtos abieRtos parA humanidadeS digitAles\n", "SARDA : aSociación de dAtos abieRtos para humaniDades digitAles\n", "SARDE : aSociación de dAtos abieRtos para humanidaDes digitalEs\n", "SARNA : aSociación de dAtos abieRtos para humaNidades digitAles\n", "SARRIA : aSociación de dAtos abieRtos paRa humanIdades digitAles\n", "SARRIETA : aSociación de dAtos abieRtos paRa humanIdadEs digiTAles\n", "SARTAL : aSociación de dAtos abieRTos para humanidAdes digitaLes\n", "SARTORIAL : aSociación de dAtos abieRTOs paRa humanIdades digitALes\n", "SASAL : aSociación de dAtos abiertoS para humAnidades digitaLes\n", "SATIRIASIS : aSociación de dATos abIertos paRa humanIdAdeS digItaleS\n", "SATIS : aSociación de dAtos abierTos para humanIdades digitaleS\n", "SEDANTE : aSociación dE Datos Abiertos para humaNidades digiTalEs\n", "SEDENTE : aSociación dE Datos abiErtos para humaNidades digiTalEs\n", "SEDIENTE : aSociación dE Datos abIErtos para humaNidades digiTalEs\n", "SEDOSIDAD : aSociación dE DatOS abIertos para humaniDAdes Digitales\n", "SESADA : aSociación dE datoS Abiertos para humaniDades digitAles\n", "SESEANTE : aSociación dE datoS abiErtos parA humaNidades digiTalEs\n", "SESENA : aSociación dE datoS abiErtos para humaNidades digitAles\n", "SESENTA : aSociación dE datoS abiErtos para humaNidades digiTAles\n", "SESTIL : aSociación dE datoS abierTos para humanIdades digitaLes\n", "SETABENSE : aSociación dE daTos ABiErtos para humaNidadeS digitalEs\n", "SETENA : aSociación dE daTos abiErtos para humaNidades digitAles\n", "SETENTA : aSociación dE daTos abiErtos para humaNidades digiTAles\n", "SICOSIS : aSocIaCión de datOs abiertoS para humanIdades digitaleS\n", "SIDERAL : aSocIación de Datos abiErtos paRa humAnidades digitaLes\n", "SIDERITA : aSocIación de Datos abiERtos para humanIdades digiTAles\n", "SIDEROSA : aSociacIón de Datos abiERtOs para humanidadeS digitAles\n", "SIDEROSIS : aSocIación de Datos abiERtOs para humanidadeS dIgitaleS\n", "SINESTESIA : aSociacIóN dE datoS abierTos para humanidadES digItAles\n", "SINSONTE : aSocIacióN de datoS abiertOs para humaNidades digiTalEs\n", "SISIMITE : aSocIación de datoS abIertos para huManidades digITalEs\n", "SITIAL : aSocIación de daTos abIertos para humAnidades digitaLes\n", "SOBADITA : aSociación de datOs aBiertos pAra humanidaDes dIgiTAles\n", "SOBANDA : aSociación de datOs aBiertos parA humaNidaDes digitAles\n", "SOBINA : aSociación de datOs aBIertos para humaNidades digitAles\n", "SOBORNAL : aSociación de datOs aBiertOs paRa humaNidAdes digitaLes\n", "SOBRANTE : aSociación de datOs aBieRtos pAra humaNidades digiTalEs\n", "SOCORRISTA : aSOCiación de datOs abieRtos paRa humanIdadeS digiTAles\n", "SODOMITA : aSOciación de Datos abiertOs para huManIdades digiTAles\n", "SONATINA : aSOciacióN de dATos abIertos para humaNidades digitAles\n", "SONETISTA : aSOciacióN dE daTos abIertos para humanidadeS digiTAles\n", "SONORIDAD : aSOciacióN de datOs abieRtos para humanIDAdes Digitales\n", "SONOTONE : aSOciacióN de datOs abierTOs para humaNidades digitalEs\n", "SONSONETE : aSOciacióN de datoS abiertOs para humaNidadEs digiTalEs\n", "SORDA : aSociación de datOs abieRtos para humanidaDes digitAles\n", "SORITES : aSociación de datOs abieRtos para humanIdades digiTalES\n", "SORNA : aSociación de datOs abieRtos para humaNidades digitAles\n", "SOROPETE : aSociación de datOs abieRtOs Para humanidadEs digiTalEs\n", "SORORAL : aSociación de datOs abieRtOs paRa humanidAdes digitaLes\n", "SORPRESA : aSociación de datOs abieRtos PaRa humanidadES digitAles\n", "SOSAINA : aSOciación de datoS AbIertos para humaNidades digitAles\n", "SOSAL : aSociación de datOs abiertoS para humAnidades digitaLes\n", "SOSEDAD : aSOciación de datoS abiErtos para humaniDAdes Digitales\n", "SOSIA : aSociación de datOs abiertoS para humanIdades digitAles\n", "SOSIAS : aSociación de datOS abIertos para humAnidades digitaleS\n", "SOSIEGA : aSOciación de datoS abIertos para humanidadEs diGitAles\n", "SOTANA : aSociación de datOs abierTos parA humaNidades digitAles\n", "SOTIL : aSociación de datOs abierTos para humanIdades digitaLes\n", "SOTRETA : aSOciación de daTos abieRtos para humanidadEs digiTAles\n" ] } ], "source": [ "case_sensitive = False\n", "\n", "title = Title('Asociación de DATOS ABIERTOS para HUMANIDADES DIGITALES', case_sensitive)\n", "print(title)\n", " \n", "words = Vocabulary('input/es_words.txt')\n", "print(\"corpus tiene\", len(words), \"palabras\")\n", "\n", "# los stopwords se pueden tener en cuenta opcionalmente\n", "stopwords = Vocabulary('input/es_stopwords.txt')\n", "lowercase = {token for token in title.tokens() if token.islower()}\n", "\n", "# terminos en el titulo que no es necesario tener en cuenta\n", "ignore = {n for n, token in enumerate(title.tokens()) if token.upper() in stopwords|lowercase}\n", "\n", "for word in sorted(words):\n", " if title.contains(word):\n", " alignments = title.all_alignments(word)\n", " for a in alignments:\n", " matched = {title.token_number(pos) for pos in a}\n", " if len(ignore | matched) == len(title.tokens()):\n", " res = [c.upper() if n in a else c.lower() for n, c in enumerate(title)]\n", " print(word, ': ', ''.join(res))\n", " break" ] }, { "cell_type": "code", "execution_count": null, "id": "759a281e-ea0f-4174-93ac-076ca11f87d0", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 5 }