Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Medicine

Expression nuage Mining and Analysis of User-Defined Phrase-catégorie Association dans les Publications biomédicales

Published: February 23, 2019 doi: 10.3791/59108
* These authors contributed equally

Summary

Nous présentons un protocole et code de programmation associé ainsi que des échantillons de métadonnées pour soutenir une identification automatisée basée sur un nuage des phrases-catégorie association représentant des concepts uniques dans le domaine de certaines connaissances de l’utilisateur dans la littérature biomédicale. L’association de catégorie expression quantifiée par le présent protocole peut faciliter une analyse approfondie dans le domaine de connaissances choisies.

Abstract

L’accumulation rapide de données textuelles biomédicales a largement dépassé la capacité humaine de curation manuelle et l’analyse, ce qui nécessite de nouveaux outils de text-mining pour extraire les connaissances biologiques de gros volumes de rapports scientifiques. Le pipeline sensibles au contexte sémantique Online Analytical Processing (CaseOLAP), développé en 2016, quantifie avec succès des relations expression-catégorie définie par l’utilisateur par le biais de l’analyse de données textuelles. CaseOLAP a de nombreuses applications biomédicales.

Nous avons développé un protocole pour un environnement de cloud computing soutenant l’end-to-end expression-exploitation minière et la plate-forme d’analyses. Notre protocole inclut le prétraitement des données (p. ex., téléchargement, extraction et analyse des documents de texte), d’indexation et de recherche avec Elasticsearch, créer une structure de document fonctionnel appelé texte-Cube et quantifier les relations de la phrase-catégorie à l’aide de l’algorithme de CaseOLAP principal.

Notre prétraitement de données génère des mappages de clé-valeur pour tous les documents en cause. Les données prétraitées sont indexées pour effectuer une recherche de documents, y compris les entités, qui facilite également la création de texte-Cube et CaseOLAP calcul du pointage. Les notes de CaseOLAP brutes obtenues sont interprétées à l’aide d’une série d’analyses intégratives, y compris la réduction de dimensionnalité, clustering, temporelle et géographiques. En outre, les scores de CaseOLAP sont utilisés pour créer une base de données graphique, qui permet la cartographie sémantique des documents.

CaseOLAP définit les relations de la phrase-catégorie dans exacte (identifie les relations) et cohérente (hautement reproductible) et de manière efficace (processus 100 000 mots/sec). Suite à ce protocole, les utilisateurs peuvent accéder un environnement de cloud computing pour soutenir leurs propres configurations et applications de CaseOLAP. Cette plate-forme offre une accessibilité accrue et habilite la communauté biomédicale avec les mots-outils pour les applications de la recherche biomédicale généralisée.

Introduction

Une évaluation manuelle de millions de fichiers de texte pour l’étude de l’expression-catégorie association (par exemple., groupe d’âge à l’association de protéines) est incomparable avec l’efficacité fournie par une méthode de calcul automatisée. Nous voulons introduire la plate-forme de nuage sensibles au contexte sémantique Online Analytical Processing (CaseOLAP) comme une méthode d’extraction de mots pour calcul automatisé d’expression-catégorie association dans le contexte de recherche biomédicale.

La plate-forme CaseOLAP, qui a été tout d’abord définie en 20161, est très efficace par rapport aux méthodes traditionnelles de gestion des données et calcul à cause de sa gestion de document fonctionnel appelée texte-Cube2,3, 4, qui distribue les documents tout en conservant la hiérarchie sous-jacente et des quartiers. Il a été appliqué à la recherche biomédicale5 pour étudier l’entité-catégorie association. La plate-forme de CaseOLAP se compose de six étapes principales, y compris le téléchargement et l’extraction des données, l’analyse, indexation, création de texte-Cube, comte de l’entité et calcul du pointage CaseOLAP ; qui est l’objectif principal du protocole (Figure 1, Figure 2, tableau 1).

Pour implémenter l’algorithme de CaseOLAP, l’utilisateur configure catégories d’intérêt (p. ex., maladie, signes et symptômes, groupes d’âge, diagnostic) et les entités d’intérêt (par exemple, les protéines, les médicaments). Un exemple d’une catégorie inclus dans cet article est les « Groupes d’âge », qui a « Infantile », « enfant », « adolescent », et les sous-catégories « adulte » que les cellules du Cube-texte et noms (synonymes) de la protéine et abréviations en tant qu’entités. Medical Subject Headings (MeSH) sont mis en œuvre pour récupérer les publications correspondant à des catégories bien définies (tableau 2). Les descripteurs meSH sont organisés dans une arborescence hiérarchique permettant de rechercher des publications à différents niveaux de spécificité (un exemple illustré à la Figure 3). La plate-forme CaseOLAP utilise les fonctionnalités de données d’indexation et de recherche pour la conservation des documents associé à une entité qui faciliter le document au mappage des entités comte et CaseOLAP calcul du pointage.

Les détails du calcul score CaseOLAP est disponible dans les précédentes publications1,5. Cette note est calculée à l’aide de critères de classement spécifique basées sur la structure de document sous-jacente texte-Cube. Le score final est le produit d’intégrité, de popularitéet de caractère distinctif. L’intégrité décrit si une entité représentative est une unité intégrée de sémantique qui désigne collectivement un concept valable. L' intégrité de l’expression définie par l’utilisateur, est égale à 1.0 parce qu’il se présente comme une phrase standard dans la littérature. Caractère distinctif représente la pertinence relative d’une phrase dans un sous-ensemble de documents par rapport au reste des autres cellules. Tout d’abord, il calcule la pertinence d’une entité à une cellule spécifique en comparant l’occurrence portant le nom de protéine dans l’ensemble de données cible et fournit un score normalisé de caractère distinctif . Popularité représente le fait que la phrase avec un score plus élevé de popularité apparaît plus souvent dans un sous-ensemble de documents. Les noms de rares protéines dans une cellule sont classés faible, alors qu’une augmentation de leur fréquence de mention a un rendement décroissant en raison de la mise en œuvre de la fonction logarithmique de fréquence. Mesurer quantitativement ces trois concepts dépend de la fréquence (1) le terme de l’entité sur une cellule et entre les cellules et (2) nombre de documents ayant cette entité (fréquence des documents) au sein de la cellule et entre les cellules.

Nous avons étudié deux scénarios représentatifs à l’aide d’un ensemble de données PubMed et notre algorithme. Nous nous intéressons en protéines mitochondriales comment sont associés à deux catégories uniques des descripteurs MeSH ; « Âges » et « maladies métaboliques et nutritionnelles ». Plus précisément, nous avons récupérer les 15,728,250 publications des publications de 20ans recueillies par PubMed (1998 à 2018), parmi eux, 8 123 458 abrégés uniques ont eu pleins descripteurs MeSH. En conséquence, 1 842 protéine mitochondriale humaine noms (y compris les abréviations et les synonymes), acquis de UniProt (uniprot.org) ainsi que de MitoCarta2.0 (http://mitominer.mrc-mbu.cam.ac.uk/release-4.0/begin.do >), sont systématiquement examinés. Leurs associations avec ces 8 899 019 publications et les entités ont été étudiées en utilisant notre protocole ; Nous avons construit un texte-Cube et calcule les scores respectifs de CaseOLAP.

Protocol

NOTE : Nous avons mis au point ce protocole basé sur le langage de programmation Python. Pour exécuter ce programme, ont Anaconda Python et Git pré-installé sur le périphérique. Les commandes fournies dans le présent protocole sont inspirent d’un environnement Unix. Ce protocole fournit le détail du téléchargement des données de base de données PubMed (MEDLINE), en analysant les données et mise en place d’une cloud computing platform pour la minière de l’expression et la quantification des association de catégorie entité définie par l’utilisateur.

1. obtenir le code et python configuration de l’environnement

  1. Télécharger ou cloner le code dépôt Github (https://github.com/CaseOLAP/caseolap) ou en tapant «git clone https://github.com/CaseOLAP/caseolap.git» dans la fenêtre du terminal.
  2. Naviguez jusqu’au répertoire « caseolap ». C’est le répertoire racine du projet. Dans ce répertoire, le répertoire de « données » sera rempli avec plusieurs jeux de données que vous progressez dans les étapes suivantes dans le protocole. Le répertoire « input » est pour les données fournies par l’utilisateur. Le répertoire « log » a des fichiers journaux pour des fins de dépannage. Le répertoire « resultat » est où les résultats définitifs seront conservés.
  3. À l’aide de la fenêtre du terminal, allez dans le répertoire où vous cloné notre dépôt GitHub. Créer l’environnement de CaseOLAP en utilisant le fichier «environment.yml» en tapant 'env conda créer -f environment.yaml' dans le terminal. Activez alors l’environnement en tapant «source activer caseolap» dans le terminal.

2. téléchargement de documents

  1. Assurez-vous que l’adresse FTP dans «ftp_configuration.json» dans le répertoire config est identique à l’adresse du lien base annuelle ou les fichiers de mise à jour quotidienne, trouvé dans le lien (https://www.nlm.nih.gov/databases/download/pubmed_medline.html) .
  2. Pour télécharger la base uniquement ou mettre à jour les fichiers uniquement, définissent « trues » dans le fichier «download_config.json» dans le répertoire « config ». Par défaut, il télécharge et extrait les fichiers de référence et de mise à jour. Un exemple de données XML extraites peut être consulté à (https://github.com/CaseOLAP/caseolap-pipelines/blob/master/data/extracted-data-sample.xml)
  3. Tapez «python run_download.py» dans la fenêtre de terminal pour télécharger les résumés à partir de la base de données Pubmed. Ceci créera un répertoire appelé « ftp.ncbi.nlm.nih.gov » dans le répertoire courant. Ce processus vérifie l’intégrité des données téléchargées et il les extraits vers le répertoire cible.
  4. Allez dans le répertoire « journal » pour lire les messages de log dans «download_log.txt» dans le cas où le processus de téléchargement échoue. Si le processus est terminé avec succès, les messages de débogage de la procédure de téléchargement seront imprimés dans ce fichier journal.
  5. Lorsque le téléchargement est terminé, naviguer dans « ftp.ncbi.nlm.nih.gov » pour s’assurer qu’il n’y a « updatefiles » ou « basefiles » ou les deux annuaires basés sur téléchargement configuration dans « download_config.json ». Les statistiques de fichier deviennent disponibles à «filestat.txt» dans le répertoire de « données ».

3. analyse des documents

  1. S’assurer que les données téléchargées et extraites soient disponibles dans le répertoire « ftp.ncbi.nlm.nih.gov » de l’étape 2. Ce répertoire est le répertoire de données d’entrée dans cette étape.
  2. Pour modifier le schéma d’analyse de données, sélectionnez paramètres dans le fichier «parsing_config.json» dans le répertoire « config » en affectant la valeur « true ». Par défaut, il analyse la PMID, auteurs, résumé, MeSH, emplacement, journal, date de publication.
  3. Tapez «python run_parsing.py» dans le terminal pour analyser les documents de fichiers téléchargés (ou extraits). Cette étape analyse téléchargés tous les fichiers XML et crée un dictionnaire python pour chaque document avec les touches (par exemple., PMID, auteurs, résumé, MeSH du fichier basée sur l’analyse des paramètres de schéma à l’étape 3.2).
  4. Une fois l’analyse de données est terminée, assurez-vous que les données analysées sont enregistrées dans le fichier appelé «pubmed.json» dans le répertoire de données. Un échantillon de données analysées est disponible à Figure 3.
  5. Allez dans le répertoire « journal » pour lire les messages de log dans «parsing_log.txt» dans le cas où le processus d’analyse échoue. Si le processus est terminé avec succès, les messages de débogage seront imprimés dans le fichier journal.

4. maillages au mappage PMID

  1. S’assurer que les données analysées («pubmed.json») soient disponibles dans le répertoire de « données ».
  2. Tapez «python run_mesh2pmid.py» dans le terminal pour exécuter maille vers la cartographie PMID. Cela crée une table de mappage où chacun du maillage recueille PMIDs associés. Un seul PMID peuvent tomber sous les mandats successifs de la maille.
  3. Une fois que la cartographie est terminée, assurez-vous qu’il n’y a «mesh2pmid.json» dans le répertoire de données. Un échantillon des statistiques cartographie top 20 est disponible dans le tableau 2, Figures 4 et 5.
  4. Allez dans le répertoire « journal » pour lire les messages de log dans «mesh2pmid_mapping_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage de la cartographie seront imprimés dans ce fichier journal.

5. le document d’indexation

  1. Télécharger l’application Elasticsearch de https://www.elastic.co. Actuellement, le téléchargement est disponible à (https://www.elastic.co/downloads/elasticsearch). Pour télécharger le logiciel dans le nuage distant, tapez «wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-x.x.x.tar.gz» dans le terminal. Assurez-vous que «x.x.x» dans la commande ci-dessus est remplacé par le numéro de version approprié.
  2. Assurez-vous que ce fichier téléchargé «elasticsearch-.gz» apparaît dans le répertoire racine, puis extraire les fichiers en tapant 'tar xvzf elasticsearch-.gz ' dans la fenêtre du terminal.
  3. Ouvrez un nouveau terminal et allez dans le répertoire bin de ElasticSearch en tapant «cd Elasticsearch/bin» dans le terminal depuis le répertoire racine.
  4. Démarrez le serveur de Elasticsearch en tapant ". / Elasticsearch' dans la fenêtre du terminal. Assurez-vous que le serveur est démarré sans messages d’erreur. En cas d’erreur au démarrage Elasticsearch serveur, suivez les instructions à (https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html).
  5. Modifier le contenu dans le «index_init_config.json» dans le répertoire « config » pour définir l’ouverture de l’index. Par défaut, il sélectionnera tous les éléments présents.
  6. Tapez «python run_index_init.py» dans le terminal pour lancer un indice-de la base de données dans le serveur Elasticsearch. Cela initialise l’index avec un ensemble de critères connus comme les informations d’index (par exemple, nom de l’index, le nom de type, nombre de nombre de répliques des éclats). Vous verrez le message mentionnant l’index est créé avec succès.
  7. Sélectionnez les éléments dans le «index_populate_config.json» dans le répertoire « config » en affectant la valeur « true ». Par défaut, il sélectionnera tous les éléments présents.
  8. S’assurer que les données analysées (« pubmed.json ») sont présentes dans le répertoire de « données ».
  9. Tapez «python run_index_populate.py» dans le terminal pour remplir l’index en créant des données en bloc à deux composantes. Un premier volet est un dictionnaire avec les informations de métadonnées sur le nom de l’index, le nom de type et l' id en vrac (p. ex., « PMID »). A composant "seconde" est un dictionnaire de données contenant toutes les informations sur les balises (par exemple, « title », « abstract », « MeSH »).
  10. Allez dans le répertoire « journal » pour lire les messages de log dans «indexing_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage de l’indexation seront imprimés dans le fichier journal.

6. création de texte-cube

  1. Télécharger le dernier arbre MeSH disponible à (https://www.nlm.nih.gov/mesh/filelist.html). La version actuelle du code utilise MeSH Tree 2018 comme « meshtree2018.bin » dans le répertoire d’entrée.
  2. Définir les catégories d’intérêt (p. ex., les noms de maladie, groupes d’âge, sexe). Une catégorie peut inclure un ou plusieurs descripteurs de maille (https://meshb-prev.nlm.nih.gov/treeView). Recueillir les ID de maille pour une catégorie. Enregistrez les noms des catégories dans le fichier «textcube_config.json» dans le répertoire config (voir un échantillon de la catégorie « Groupe d’âge » dans la version téléchargée du fichier «textcube_config.json»).
  3. Mettre les catégories recueillies des ID de maille en ligne séparée par un espace. Enregistrez le fichier catégorie comme «categories.txt» dans le répertoire « input » (voir un échantillon des ID de maille « Tranche d’âge » dans la version téléchargée du fichier «categories.txt»). Cet algorithme sélectionne automatiquement tous les descripteurs de maille descendants. Un exemple des nœuds racine et des descendants sont présentés en Figure 4.
  4. S’assurer que les «mesh2pmid.json» est dans le répertoire de « données ». Si l’arborescence de la maille a été mis à jour avec un nom différent (par exemple, «meashtree2019.bin») dans le répertoire « input », assurez-vous que cela est bien représenté dans le chemin d’accès de données d’entrée dans le fichier «run_textube.py».
  5. Tapez «python run_textcube.py» dans le terminal pour créer une structure de données de document appelée texte-Cube. Cette opération crée une collection de documents (PMIDs) pour chaque catégorie. Un seul document (PMID) peut-être relever de plusieurs catégories, (voir tableau 3 a, 3 b, Figure 6 a et Figure 7 a).
  6. Une fois l’étape de création du texte-Cube est terminée, assurez-vous que les fichiers de données suivants sont enregistrés dans le répertoire de « données » : (1) une cellule de tableau PMID comme «textcube_cell2pmid.json», (2) un PMID à la table de mappage de cellule comme «textcube_pmid2cell.json», (3) collection de tous les descendants termes MeSH pour une cellule comme «meshterms_per_cat.json» (4) statistiques de données texte-Cube comme «textcube_stat.txt».
  7. Allez dans le répertoire « journal » pour lire les messages de log dans «textcube_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage de la création de texte-Cube seront imprimés dans le fichier journal.

7. comte d’entité

  1. Créer des entités définies par l’utilisateur (par exemple, les noms de protéine, gènes, produits chimiques). Mettre une seule entité et ses abréviations en une seule ligne séparée par « | ». Enregistrez le fichier de l’entité comme «entities.txt» dans le répertoire « input ». Un échantillon des entités se trouvent dans tableau 4.
  2. Assurez-vous que ce serveur Elasticsearch est en cours d’exécution. Sinon, passez à l’étape 5.2 et 5.3 de redémarrer le serveur Elasticsearch. Il est prévu d’avoir une base de données indexée appelé « pubmed » dans votre serveur Elasticsearch qui a été créé à l’étape 5.
  3. S’assurer que les « textcube_pmid2cell.json » est dans le répertoire de « données ».
  4. Tapez «python run_entitycount.py» dans le terminal pour exécuter l’opération Count de l’entité. Cette recherche dans les documents de la base de données indexée et compte de l’entité dans chaque document ainsi que recueille les PMIDs dans lequel les entités trouvées.
  5. Une fois que le nombre d’entités est terminé, assurez-vous que les résultats définitifs sont enregistrés comme «entitycount.txt» et «entityfound_pmid2cell.json» dans le répertoire de « données ».
  6. Allez dans le répertoire « journal » pour lire les messages de log dans «entitycount_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage de l’entité Count seront imprimés dans le fichier journal.

8. mise à jour de métadonnées

  1. S’assurer que toutes les données d’entrée (« entitycount.txt », « textcube_pmid2cell.json », « entityfound_pmid2cell.txt ») sont dans le répertoire de « données ». Ce sont les données d’entrée pour les métadonnées de mise à jour.
  2. Tapez «python run_metadata_update.py» dans le terminal pour mettre à jour les métadonnées. Cela prépare une collection de métadonnées (par exemple, nom de la cellule, maille associé, PMIDs) représentant chaque document de texte dans la cellule. Un échantillon de métadonnées de texte-Cube est présenté au tableau 3 a et tableau 3 b.
  3. Une fois la mise à jour des métadonnées est terminée, assurez-vous que les fichiers «metadata_pmid2pcount.json» et «metadata_cell2pmid.json» sont enregistrés dans le répertoire de « données ».
  4. Allez dans le répertoire « journal » pour lire les messages de log dans «metadata_update_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage de la mise à jour des métadonnées seront imprimés dans le fichier journal.

9. calcul du pointage CaseOLAP

  1. Assurez-vous que les fichiers «metadata_pmid2pcount.json» et «metadata_cell2pmid.json» sont présents dans le répertoire de « données ». Ce sont les données d’entrée pour le calcul du pointage.
  2. Tapez «python run_caseolap_score.py» dans le terminal pour effectuer le calcul du pointage CaseOLAP. Calcule le score CaseOLAP des entités fondées sur des catégories définies par l’utilisateur. Le score de CaseOLAP est le produit d’intégrité, de popularitéet de caractère distinctif.
  3. Une fois que le calcul du score est terminé, assurez-vous qu’il enregistre les résultats dans plusieurs fichiers (par exemple, la popularité comme « pop.csv », caractère distinctif comme « dist.csv », CaseOLAP score comme « caseolap.csv »), dans le répertoire « entraîner ». Le résumé de la calcul du pointage CaseOLAP est également présenté dans le tableau 5.
  4. Allez dans le répertoire « journal » pour lire les messages de log dans «caseolap_score_log.txt» en cas d’échec de ce processus. Si le processus est terminé avec succès, les messages de débogage du calcul CaseOLAP score seront imprimés dans le fichier journal.

Representative Results

Pour produire des résultats de l’échantillon, nous avons implémenté l’algorithme de CaseOLAP dans deux rubriques/descripteurs de sujet : « Groupes d’âge » et « Nutrition et maladies métaboliques » comme des cas d’utilisation.

Groupes d’âge. Nous avons sélectionné toutes les 4 sous-catégories de « Âge » (bébé, enfant, adolescent et adulte) sous forme de cellules dans un texte-Cube. Les métadonnées obtenues et les statistiques sont indiquées dans le tableau 3 a. La comparaison du nombre de documents parmi les cellules de texte-Cube est affichée dans la Figure 6 a. Adulte contient 172 394 documents qui est le plus grand nombre dans l’ensemble de toutes les cellules. Les sous-catégories d’adultes et adolescents ont le plus grand nombre de documents partagés (documents 26 858). En particulier, ces documents comprenaient l’entité de notre intérêt seulement (c'est-à-dire des protéines mitochondriales). Le diagramme de Venn dans la Figure 6 b représente le nombre d’entités (c.-à-d. les protéines mitochondriales) trouvé au sein de chaque cellule et chevauchements multiples entre les cellules. Le nombre de protéines partagées au sein de toutes les sous-catégories de groupes d’âge est de 162. La sous-catégorie adulte représente le plus grand nombre de protéines uniques (151) suivi de l’enfant (16 ans), enfant en bas âge (8) et de l’adolescent (1). Nous avons calculé l’association protéine-âge de groupe comme un score de CaseOLAP. Les top 10 de protéines (selon leur score moyen de CaseOLAP) associés à des sous-catégories nourrisson, enfant, adolescent et adulte sont stérol 26-hydroxylase, chaîne Alpha-cristalline B, D-1 de 25-hydroxyvitamine alpha-hydroxylase, Serotransferrin, Citrate synthase, L-séryl-tRNA, ATPase Sodium/potassium-transport sous-unité alpha-3, Glutathione S-transférase omega-1, NADPH : adrénodoxine oxydoréductase et réductase de sulfoxyde de méthionine peptide mitochondriale (illustré à la Figure 6). La sous-catégorie adulte affiche 10 heatmap cellules avec une intensité plus élevée par rapport aux cellules de l’adolescent, l’enfant et la sous-catégorie infantile, ce qui indique que les protéines mitochondriales 10 albums présentent les plus fortes associations à la sous-catégorie adulte heatmap. La protéines mitochondriales stérol 26-hydroxylase a hautes associations dans toutes les sous-catégories d’âge qui est démontré par les cellules heatmap avec des intensités plus élevées par rapport aux cellules heatmap des 9 autres protéines mitochondriales. La distribution statistique de la différence absolue dans la partition entre les deux groupes montre la plage suivante pour différence moyenne avec un intervalle de confiance de 99 % : (1) la différence moyenne entre « ADLT » et « INFT » se situe dans la gamme (0,029 à 0,042), (2) la moyenne différence entre « ADLT » et « Enf » réside dans la gamme (0,021 à 0,030), (3) la différence moyenne entre « ADLT » et « ADOL » situe dans la gamme (0,020 à 0,029), (4) la différence moyenne entre « ADOL » et « INFT » réside dans la gamme (0,015 à 0,022), (5) la différence moyenne entre « ADOL » et « Enf » se trouve dans la gamme (0,007 à 0,010), (6) la différence moyenne entre « Enfant » et « INFT » réside dans la gamme (0,011 à 0,016).

Maladies nutritionnelles et métaboliques. Nous avons sélectionné 2 sous-catégories de « Nutrition et maladies métaboliques » (maladie métabolique et les troubles nutritionnels) pour créer 2 cellules dans un texte-Cube. Les métadonnées obtenues et les statistiques sont indiquées au tableau 3 b. La comparaison du nombre de documents parmi les cellules de texte-Cube est affichée dans la Figure 7 a. La maladie métabolique de la sous-catégorie contient 54 762 documents suivies de documents 19 181 dans les troubles nutritionnels. La maladie métabolique sous-catégories et désordres nutritionnels ont 7 101 documents partagés. En particulier, ces documents comprenaient l’entité de notre intérêt seulement (c'est-à-dire des protéines mitochondriales). Le diagramme de Venn dans la Figure 7 b représente le nombre d’entités trouvées au sein de chaque cellule et chevauchements multiples entre les cellules. Nous avons calculé la protéine-« Nutrition et maladies métaboliques » association comme une partition de CaseOLAP. Les top 10 de protéines (selon leur score moyen de CaseOLAP) associés à ce cas d’utilisation sont stérol 26-hydroxylase, Alpha-cristalline B chain, L-séryl-tRNA, Citrate synthase, tRNA pseudouridine synthase A D-1 de 25-hydroxyvitamine alpha-hydroxylase, Glutathione S-transférase omega-1, NADPH : adrénodoxine oxydoréductase, réductase de peptide mitochondriale méthionine sulfoxyde, inhibiteur de l’activateur du plasminogène 1 (voir Figure 7). Plus de la moitié (54 %) de toutes les protéines sont partagés entre les sous-catégories maladies métaboliques et les troubles nutritionnels (397 protéines). Fait intéressant, près de la moitié (43 %) de toutes les protéines dans la sous-catégorie de maladie métabolique sont uniques (300 protéines), tandis que les troubles nutritionnels pièce seulement quelques protéines uniques (35). Chaîne d’Alpha-cristalline B affiche la plus forte association aux maladies métaboliques de la sous-catégorie. Stérol 26-hydroxylase mitochondriale affiche la plus forte association dans la sous-catégorie des désordres nutritionnels, indiquant que cette protéine mitochondriale est très pertinente dans les études décrivant les troubles nutritionnels. La distribution statistique de la différence absolue dans la partition entre les deux groupes « MBD » et « NTD » indique la plage (0,046 à 0,061) pour la différence moyenne comme un intervalle de confiance de 99 %.

Figure 1
Figure 1. Affichage dynamique du flux de travail CaseOLAP. Ce chiffre représente les 5 principales étapes du flux de travail CaseOLAP. À l’étape 1, le flux de travail commence par téléchargement et extraction de documents textuels (par exemple, à partir de PubMed). À l’étape 2, les données extraites sont analysées pour créer un dictionnaire de données pour chaque document ainsi qu’un maillage de cartographie PMID. À l’étape 3, données d’indexation est effectuée pour faciliter la recherche de l’entité rapide et efficace. À l’étape 4, mise en œuvre des informations fournies par l’utilisateur de catégorie (par exemple,., racine MeSH pour chaque cellule) est réalisée pour construire un texte-Cube. À l’étape 5, l’opération count entité est mis en œuvre sur des données d’index pour calculer les scores de CaseOLAP. Ces étapes sont répétées de manière itérative pour mettre à jour le système avec les dernières informations disponibles dans une base de données publique (p. ex., PubMed). S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 2
Figure 2. Architecture technique du flux de travail CaseOLAP. Ce chiffre représente les détails techniques du flux de travail CaseOLAP. Elles sont tirées du référentiel PubMed depuis le serveur FTP de PubMed. L’utilisateur se connecte au serveur cloud (par exemple, la connectivité AWS) via leur appareil et crée un tuyau à télécharger qui télécharge et extrait les données d’un référentiel local dans le nuage. Données extraites sont structurées, vérifiées et présentées dans un format approprié avec un Pipeline de l’analyse des données. Simultanément, une maille à la table de mappage PMID est créée pendant l’étape de l’analyse, qui est utilisé pour la construction du texte-Cube. Données analysées sont stockées sous un JSON comme format de clé-valeur dictionnaire avec des métadonnées de document (par exemple, l’année édition PMID, maille,). L’étape d’indexation plus améliore les données en implémentant Elasticsearch pour gérer des données en bloc. Ensuite, le texte-Cube est créé avec des catégories définies par l’utilisateur en implémentant la maille au mappage PMID. Lorsque la formation de texte-Cube et indexation étapes sont terminées, un nombre d’entités est menée. Données de comptage d’entité sont mises en œuvre pour les métadonnées de texte-Cube. Enfin, le score CaseOLAP est calculé selon la structure de texte-Cube sous-jacent. S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 3
Figure 3. Un échantillon d’un document analysé. Un échantillon de données analysées est présenté dans cette figure. Les données analysées sont disposées comme une paire clé / valeur qui est compatible avec la création de métadonnées d’indexation et de document. Dans cette figure, un PMID (p. ex., « 25896987 ») sert une clé et collecte des informations associées (par exemple, titre, Journal, date, résumé, maille, Substances, département et l’emplacement de publication) sont comme valeur. L’application première de ce type document de métadonnées est la construction de maille à PMID cartographie (Figure 5 et tableau 2), qui est ensuite mis en œuvre pour créer le texte-Cube et pour calculer le score de CaseOLAP avec des entités fournies par l’utilisateur et catégories. S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 4
Figure 4. Un échantillon d’un arbre de la maille. Arbre de la 'Age Groups' MeSH est une adaptation de la structure de données arborescente disponible dans la base de données du NIH (MeSH Tree 2018, < https://meshb.nlm.nih.gov/treeView>). Les descripteurs meSH sont implémentés avec leur nœud ID (par exemple, personnes [M01], groupes d’âge [M01.060], Adolescent [M01.060.057], adulte [M01.060.116], enfant [M01.060.406], enfant en bas âge [M01.060.703]) pour recueillir les documents pertinents à un descripteur spécifique de la maille ( Tableau 3 a). S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 5
Figure 5. MeSH pour cartographie PMID en groupes d’âge. Ce chiffre indique le nombre de documents texte (chacune liée à un PMID) recueilli sous les descripteurs MeSH « Groupes d’âge » comme un graphique en bulles. La maille au mappage PMID est générée afin de fournir le nombre exact des documents recueillis sous les descripteurs MeSH. Un nombre total de 3 062 143 documents uniques ont été rassemblé sous les 18 descripteurs MeSH descendants (voir tableau 2). Plus le nombre de PMIDs sélectionnés sous un descripteur spécifique de maille, plu le rayon de la bulle qui représente le descripteur MeSH. Par exemple, le plus grand nombre de documents ont été rassemblé sous le descripteur MeSH « Adulte » (1 786 371 documents), tandis que le plus petit nombre de documents de texte ont été rassemblé sous le descripteur MeSH « Infant, Postmature » (62 documents).
Un autre exemple de maillage pour la cartographie PMID est donné pour « Nutrition et maladies métaboliques » (https://caseolap.github.io/mesh2pmid-mapping/bubble/meta.html). Un nombre total de 422 039 documents uniques ont été rassemblé sous les descripteurs de maille descendants 361 dans « Nutrition et maladies métaboliques ». Le plus grand nombre de documents ont été rassemblé sous le descripteur MeSH « Obésité » (documents 77 881) suivi de « diabète, de Type 2"(documents 61 901), tandis que « Glycogen Storage Disease, Type VIII » présentait le plus petit nombre de documents (1 document ). Une table associée est également disponible en ligne à (https://github.com/CaseOLAP/mesh2pmid-mapping/blob/master/data/diseaseall.csv). S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 6
Figure 6. « Groupes d’âge » comme un cas d’utilisation. Ce chiffre présente les résultats d’un cas d’utilisation de la plateforme CaseOLAP. Dans ce cas, les noms de protéines et leurs abréviations (voir exemple dans le tableau 4) sont implémentées comme des entités et des « Groupes d’âge », y compris les cellules : mortalité infantile (INFT), enfant (ENF), adolescent (ADOL) et adulte (ADLT), sont implémentées comme des sous-catégories (voir Tableau 3 a). (A) Nombre de documents dans des « Groupes d’âge » : Cette carte de chaleur montre le nombre de documents distribués à travers les cellules de « Groupes âgés » (pour plus de détails sur le texte-Cube création voir protocole N° 4 et le tableau 3 a). Un plus grand nombre de documents est présenté avec une intensité plus sombre de la heatmap cellulaire (voir le barème). Un seul document peut figurer dans plusieurs cellules. Le heatmap présente le nombre de documents dans une cellule le long de la position diagonale (p. ex., ADLT contient 172 394 documents qui est le plus grand nombre dans l’ensemble de toutes les cellules). La position de présence représente le nombre de documents se retrouvant sous deux cellules (par exemple, ADLT et ADOL ont 26 858 documents partagés). (B) . Nombre d’entités à des « Groupes d’âge » : le diagramme de Venn représente le nombre de protéines présentes dans les quatre cellules représentant les « Groupes d’âge » (INFT, enf, ADOL et ADLT). Le nombre de protéines partagées au sein de toutes les cellules est 162. Le groupe d’âge ADLT représente le plus grand nombre de protéines uniques (151), suivie par ENF (16), INFT (8) et Dominique (1). (C) CaseOLAP score présentation dans « Groupes d’âge » : Les top 10 protéines avec les meilleurs scores CaseOLAP moyens dans chaque groupe sont présentées dans une carte de chaleur. Un score plus élevé de CaseOLAP est présenté avec une intensité plus sombre de la heatmap cellulaire (voir le barème). Les noms de protéine sont affichés sur la colonne de gauche et les cellules (ENF, ADOL, INFT, ADLT) sont affichent sur l’axe x. Certaines protéines présentent une forte association à un groupe d’âge spécifique (p. ex., stérol 26-hydroxylase, chaîne B alpha-cristalline et L-séryl-tRNA ont de fortes associations avec ADLT, tandis que la sous-unité ATPase Sodium/potassium-transport alpha-3 a une forte association avec INFT). S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Figure 7
Figure 7. « Nutrition et maladies métaboliques » comme un cas d’utilisation : ce chiffre présente les résultats d’un autre cas d’utilisation de la plateforme CaseOLAP. Dans ce cas, les noms de protéines et leurs abréviations (voir l’exemple au tableau 4) sont implémentées comme des entités et « Maladie nutritionnelle et métabolique » y compris les deux cellules : maladie métabolique (MBD) et les troubles nutritionnels (NTD) sont implémentés comme sous-catégories (voir tableau 3 b). (A). certain nombre de documents en « Nutrition et maladies métaboliques » : ce heatmap représente le nombre de documents de texte dans les cellules des « Maladies métaboliques et nutritionnelles » (pour plus de détails sur la création de texte-Cube voir protocole N° 4 et 3 b ). Un plus grand nombre de documents est présenté avec une intensité plus sombre de la heatmap cellulaire (voir échelle). Un seul document peut figurer dans plusieurs cellules. Le heatmap présente le nombre total de documents dans une cellule le long de la position diagonale (p. ex., MBD contient 54 762 documents qui est le plus grand nombre à travers les deux cellules). La position de présence représente le nombre de documents partagés par les deux cellules (par exemple, MBD et ATN ont 7 101 documents partagés). (B). nombre d’entités dans « Nutrition et maladies métaboliques » : le diagramme de Venn représente le nombre de protéines trouvées dans les deux cellules représentant « Nutrition et maladies métaboliques » (MBD et NTD). Le nombre de protéines partagées au sein de deux cellules est 397. La cellule MBD représente 300 protéines uniques, et la cellule de l’ATN représente 35 protéines uniques. (C). CaseOLAP score présentation dans « Nutrition et maladies métaboliques » : les protéines top 10 avec les meilleurs scores CaseOLAP moyennes en « Nutrition et maladies métaboliques » sont présentés dans une carte de chaleur. Un score plus élevé de CaseOLAP est présenté avec une intensité plus sombre de la heatmap cellulaire (voir échelle). Les noms de protéine sont affichés sur la colonne de gauche et de cellules (MBD et NTD) sont affichent sur l’axe x. Certaines protéines présentent une forte association à une catégorie spécifique de la maladie (par exemple, alpha-cristalline B chaîne possède une forte association avec maladie métabolique et stérol 26-hydroxylase a une association forte avec les troubles nutritionnels). S’il vous plaît cliquez ici pour visionner une version agrandie de cette figure.

Temps passé (pourcentage du temps total) Étapes de la plateforme CaseOLAP Algorithme et Structure de données de la plateforme CaseOLAP Complexité de l’algorithme et Structure de données Détails des étapes
40 % Téléchargement et
L’analyse
Arborescence de l’analyse d’algorithmes et itération Itération avec des boucles imbriquées et multiplication constante : O(n^2), O (log n). Où ' n’est pas d’itérations. Le pipeline téléchargement itère chaque procédure sur plusieurs fichiers. L’analyse d’un document unique s’exécute chaque intervention sur la structure arborescente des données XML brutes.
30 % Indexation, recherche et texte Cube création Itération, les algorithmes de recherche de Elasticsearch (tri, Lucene index, files d’attente, machines à États finis peu tourner les hacks, les requêtes de regex) Complexité liée à Elasticsearch (https://www.elastic.co/) En mettant en œuvre le processus d’itération sur le dictionnaire de données, les documents sont indexés. La création de texte-Cube implémente document meta-données et informations fournies par l’utilisateur de catégorie.
30 % Entité de comptage et de calcul CaseOLAP Itération dans l’intégrité, popularité, calcul de caractère distinctif O (1), O(n^2), multiples complexités associées à caseOLAP Score calcul basé sur les types de l’itération. Opération count entité énumère les documents et faire une opération count sur la liste. Les données de comptage d’entité sert à calculer le score CaseOLAP.

Tableau 1. Algorithmes et complexité. Ce tableau présente des informations sur le temps passé (pourcentage du temps total passé) sur les procédures (par exemple, téléchargement, l’analyse), structure de données et d’informations sur les algorithmes mis en œuvre dans la plate-forme CaseOLAP. CaseOLAP implémente l’indexation professionnelle et à l’application de recherche appelé Elasticsearch. On trouvera des renseignements supplémentaires sur les complexités liées aux Elasticsearch et aux algorithmes internes à (https://www.elastic.co).

Descripteurs meSH Nombre de de PMIDs collectés
Adulte 1 786 371
D’âge moyen 1 661 882
Âgés de 1 198 778
Adolescent 706 429
Jeune adulte 486 259
Enfant 480 218
Vieilli, 80 et plus 453 348
Enfant, éducation préscolaire 285 183
Enfant en bas âge 218 242
Nourrisson, nouveau-né 160 702
Bébé, prématuré 17 701
Poids à la naissance pour bébé, à faible 5 707
Personnes âgées fragiles 4 811
Poids à la naissance pour bébé, très faible 4 458
Nourrisson, petit pour l’âge gestationnel 3 168
Nourrisson, extrêmement prématuré 1 171
Poids à la naissance pour bébé, extrêmement faible 1 003
Nourrisson, Postmature 62

Le tableau 2. MeSH pour statistiques cartographie PMID. Ce tableau présente tous les descripteurs de maille descendants de « Groupes d’âge » et leur nombre de PMIDs recueillis (documents texte). La visualisation de ces statistiques est présentée dans la Figure 5.

A Nourrisson (INFT) Enfant (ENF) Adolescent (ADOL) Adulte (ADLT)
ID de maillage racine M01.060.703 M01.060.406 M01.060.057 M01.060.116
Nombre de descendants descripteurs MeSH 9 2 1 6
Nombre de PMIDs sélectionné 16 466 26 907 35 158 172 394
Nombre d’entités jugées 233 297 257 443
B Maladies métaboliques (MBD) Troubles nutritionnels (NTD)
ID de maillage racine C18.452 C18.654
Nombre de maille descendant
descripteurs
308 53
Nombre de PMIDs recueillis 54 762 19 181
Nombre d’entités jugées 697 432

Tableau 3. Métadonnées de texte-Cube. Une vue tabulaire des métadonnées de texte-Cube est présenté. Les tableaux fournissent des informations sur les catégories et maillage des racines de descripteur et descendants, qui sont mis en place pour recueillir les documents dans chaque cellule. Le tableau indique également les statistiques des documents rassemblés et entités. (A) « Âges »: il s’agit d’un affichage tabulaire des « Groupes d’âge », y compris la mortalité infantile (INFT), enfant (ENF), adolescent (ADOL) et adulte (ADLT) et trouvé de leur racine MeSH IDs, nombre de descendants descripteurs MeSH, nombre de PMIDs sélectionnés et nombre d’entités. (B) « Les maladies nutritionnelles et métaboliques »: il s’agit d’un affichage tabulaire des « Maladies nutritionnelles et métaboliques » y compris une maladie métabolique (MBD) et les troubles nutritionnels (NTD) avec leur racine MeSH IDs, nombre de descendants descripteurs MeSH, nombre de PMIDs sélectionnés et le nombre d’entités trouvées.

Les noms de protéine et synonymes Abréviations
N-acétylglutamate synthase mitochondrique, aminoacide acétyltransférase, N-acétylglutamate synthase forme longue ; N-acétylglutamate synthase forme abrégée ; N-acétylglutamate synthase conservé domaine forme] (EC 2.3.1.1)
Deglycase acide nucléique/protéine DJ-1 (Maillard deglycase) (DJ1 oncogène) (protéine de la maladie de Parkinson 7) (lié à la maladie de Parkinson deglycase) (protéine DJ-1) (EC 3.1.2.-) (EC 3.5.1.-) (EC 3.5.1.124) (DJ-1)
Carboxylase de pyruvate, mitochondriale (pyruvique carboxylase) (EC 6.4.1.1) (PCB)
BCL-2-liaison composante 3 (p53 modulateur de régulation de l’apoptose) (JFY-1)
BH3-interaction agoniste mort domaine [mort de domaine BH3-interaction agoniste p15 (p15 BID) ; BH3-interaction domaine mort agoniste p13 ; Domaine BH3-interaction mort agoniste p11] (BID p22) (SOUMISSION) (BID p13) (candidature p11)
ATP synthase sous-unité alpha, mitochondriale (alpha de sous-unité ATP synthase F1)
Cytochrome P450 11B2, mitochondriale (aldostérone synthase) (enzyme synthétisant aldostérone) (CYPXIB2) (Cytochrome P-450Aldo) (Cytochrome P-450_C_18) (stéroïde 18-hydroxylase) (ALDOS) (EC 1.14.15.4) (EC 1.14.15.5)
60 kDa protéine de choc thermique, mitochondriale (60 kDa chaperonin) (Chaperonin 60) (CPN60) (protéine de choc 60 de coulée) (protéine de la matrice mitochondriale P1) (protéine de lymphocytes P60) (HSP-60) (Hsp60) (HuCHA60) (EC 3.6.4.9)
Caspase-4 (homologue 2 glaces et Ced-3) (protéase TX) [en : Caspase-4 sous-unité 1 ; Sous-unité 2 de caspase-4] (CASP-4) (EC 3.4.22.57) (CIH-2) (ICE(rel)-II) (Mih1)

Tableau 4. Exemple de Table de l’entité. Ce tableau montre l’exemple des entités mises en œuvre dans notre cas d’utilisation de deux : « Groupes d’âge » et « Nutrition et maladies métaboliques » (Figure 6 et Figure 7, tableau 3 a,B). Les entités incluent des abréviations, des synonymes et noms de protéine. Chaque entité (avec ses synonymes et abréviations) est sélectionnés un par un et est passée par le biais de l’opération de recherche d’entité dans les données indexées (voir protocole 3 et 5). La recherche produit une liste de documents qui facilitent encore l’opération count entité.

Quantités Définies par l’utilisateur Calculé Équation de la quantité Sens de la quantité
Intégrité Oui non Intégrité d’utilisateur défini entités considérées comme 1,0. Représente une expression significative. Valeur numérique est 1.0 quand il est déjà une formule établie.
Popularité non Oui Équation de popularité à la Figure 1 (Workflow et algorithme) de référence 5, section « Matériel et méthodes ». Basé sur la fréquence de terme du membre de phrase dans une cellule. Normalisées par la fréquence de la durée totale de la cellule. Augmentation de la fréquence du terme a diminuer le résultat.
Caractère distinctif non Oui Équation de caractère distinctif dans la Figure 1 (Workflow et algorithme) de référence 5, section « Matériel et méthodes ». Basé sur la fréquence de terme et la fréquence des documents dans une cellule et entre les cellules voisines. Normalisées par la fréquence totale durée et fréquence des documents. Quantitativement, c’est la probabilité qu’une phrase est unique dans une cellule spécifique.
CaseOLAP partition non Oui Équation de partition CaseOLAP sur la Figure 1 (Workflow et algorithme) de référence 5, section « Matériel et méthodes ». Basé sur l’intégrité, la popularité et distinctif. Valeur numérique relève toujours de 0 à 1. Quantitativement le score CaseOLAP représente l’association expression-catégorie

Tableau 5. Équations de CaseOLAP: CaseOLAP l’algorithme a été développé par Fangbo Tao et Jiawei Han et al en 20161. En bref, ce tableau présente le calcul du pointage CaseOLAP comporte trois volets : l’intégrité, de popularité et particularité, et leur sens mathématique associée. Dans notre cas, le score de l’intégrité des protéines est de 1.0 (la note maximale) car ils représentent comme noms d’entités établies. Les scores de CaseOLAP dans notre cas d’utilisation peuvent être vu dans la Figure 6 et Figure 7.

Discussion

Nous avons démontré que l’algorithme CaseOLAP peut créer une association d’expression quantitative à une catégorie de connaissance sur des volumes importants de données textuelles pour l’extraction de connaissances utiles. Suite à notre protocole, on peut construire le cadre CaseOLAP pour créer un texte désiré-Cube et quantifier les associations de l’entité-catégorie par l’intermédiaire de CaseOLAP calcul du pointage. Les notes de CaseOLAP brutes obtenues peuvent être prises pour des analyses intégratives incluant réduction dimensionnelle, clustering, analyse temporelle et géographique, ainsi que la création d’une base de données graphique qui permet la cartographie sémantique des documents.

Application de l’algorithme. Exemples d’entités définies par l’utilisateur, autres que les protéines, pourraient être une liste de noms de gènes, drogues, des signes et symptômes ainsi que leurs abréviations et les synonymes. En outre, il y a beaucoup de choix pour la sélection de la catégorie faciliter des analyses biomédicales défini par l’utilisateur (par exemple, [A] l’anatomie, Discipline et Occupation [H], phénomènes et processus [G]). Dans nos deux cas d’utilisation, toutes les publications scientifiques et leurs données textuelles sont extraites de la base de données MEDLINE à l’aide de PubMed comme moteur de recherche, tous deux administrés par la National Library of Medicine. Toutefois, la plate-forme de CaseOLAP peut être appliquée aux autres bases de données d’intérêt regroupant les documents biomédicales avec données textuelles telles que le FDA indésirables Event Reporting System (FAERS). Il s’agit d’une base de données ouverte contenant des informations sur les événements indésirables médicaux et des rapports d’erreurs de médicaments soumis à la FDA. Contrairement à MEDLINE et FAERS, les bases de données dans les hôpitaux contenant les dossiers médicaux électroniques des patients ne sont ne pas ouverts au public et sont limités par le Health Insurance Portability et Accountability Act connu comme HIPAA.

Algorithme de CaseOLAP a été appliquée avec succès aux différents types de données (p. ex. des actualités)1. L’implémentation de cet algorithme dans les documents de recherche biomédicales a été déposée en 20185. Les conditions d’applicabilité des CaseOLAP algorithme est que chacun des documents devrait être attribué avec les mots clés associés à des concepts (descripteurs MeSH dans les publications biomédicales, mots-clés dans les articles de presse). Si les mots-clés ne sont pas trouvées, on peut demander de6,Autophrase7 pour collecter les meilleurs phrases représentatives et créer la liste d’entité avant d’implémenter notre protocole. Notre protocole ne prévoit pas l’étape pour exécuter Autophrase.

Comparaison avec d’autres algorithmes. Le concept d’employer un Cube de données8,9,10 et un texte-Cube2,3,4 a évolué depuis 2005 avec les nouvelles avancées pour faire de l’exploration de données plus facile à appliquer. Le concept de traitement analytique en ligne (OLAP)11,12,13,14,15 , dans l’exploration de données et intelligence d’affaires remonte à 1993. OLAP, en général, agrège les informations provenant de systèmes multiples et le stocke dans un format multidimensionnel. Il existe différents types de systèmes OLAP dans l’exploration de données. Par exemple le traitement de Transaction et analytiques (1) hybride (HTAP)16,17, (2) OLAP multidimensionnel (MOLAP)18,19-Cube OLAP relationnel (ROLAP) à la base et (3)20.

Plus précisément, l’algorithme de CaseOLAP a été comparé avec nombreux algorithmes existants, en particulier, avec leurs améliorations de segmentation d’expression, y compris TF-IDF + Seg, MCX + Seg, MCX et SegPhrase. En outre, les RepPhrase (RP, aussi connu comme SegPhrase +) a été comparé avec ses propres variations d’ablation, y compris les RP (1), sans la mesure d’intégrité incorporée (RP No INT), RP (2), sans la mesure de popularité incorporée (RP No POP) et RP (3), sans le Caractère distinctif mesure intégrée (RP No DIS). Les résultats sont indiqués dans l’étude par Fangbo Tao et al.,1.

Il y a encore des défis sur l’exploration de données qui peut ajouter des fonctionnalités supplémentaires sur sauver et récupérer les données de la base de données. Sensibles au contexte sémantique Analytical Processing (CaseOLAP) implémente systématiquement le Elasticsearch pour construire une base de données d’indexation de millions de documents (protocole N° 5). Le texte-Cube est une structure de document construite sur les données indexées avec les catégories fournies par l’utilisateur (protocole N° 6). Cela améliore la fonctionnalité aux documents au sein et entre les cellules du Cube-texte et permettent de calculer la fréquence du terme des entités sur un document et la fréquence des documents sur une cellule spécifique (protocole 8). Le score final de CaseOLAP utilise ces calculs de fréquence pour un score final de sortie (protocole N° 9). En 2018, nous avons mis en œuvre cet algorithme afin d’étudier les protéines ECM et six maladies cardiaques pour analyser les protéines-maladie. Les détails de cette étude se trouvent dans l’étude de Liem, D.A. et al.,5. indiquant que CaseOLAP pourrait être largement utilisé dans la communauté biomédicale explorant une variété de maladies et les mécanismes.

Limites de l’algorithme. Extraction d’expression elle-même est une technique pour gérer et extraire les concepts importants de données textuelles. Tout en découvrant l’entité-catégorie association comme une grandeur mathématique (vecteur), cette technique est incapable de comprendre la polarité (p. ex., inclinaison positive ou négative) de l’association. On peut construire la synthèse quantitative des données utilisant la structure du document texte-Cude avec entités attribuées et les catégories, mais un concept qualitatif avec des niveaux de granularité microscopique n’est pas joignable. Certains concepts sont en constante évolution partir passé jusque maintenant. La synthèse présentée pour une association d’entité spécifique-catégorie comprend toutes les incidences dans l’ensemble de la littérature. Cela peut manquer la propagation temporelle de l’innovation. À l’avenir, nous prévoyons de traiter ces restrictions.

Applications futures. Environ 90 % des données recueillies dans le monde est dans les données de texte non structuré. Trouver une expression représentative et la relation avec les entités intégrées dans le texte, est une tâche très importante pour la mise en œuvre de nouvelles technologies (p. ex., Machine Learning, extraction d’Information, l’Intelligence artificielle). Pour rendre les données texte machine lisible, données doivent être organisé dans la base de données sur laquelle la prochaine couche d’outils pourrait être appliquée. À l’avenir, cet algorithme peut être une étape cruciale dans la fabrication de l’exploration de données plus fonctionnel pour la récupération de l’information et à la quantification des associations entité-catégorie.

Disclosures

Les auteurs n’ont rien à divulguer.

Acknowledgments

Ce travail a été soutenu en partie par le National Heart, Lung, and Blood Institute : R35 HL135772 (à la P. Ping) ; National Institute of General Medical Sciences : U54 GM114833 (à la P. Ping, K. Watson et Wang W.) ; U54 GM114838 (de J. Han) ; un cadeau de la Hellen & Larry Hoag Foundation et Dr. S. Setty ; et la dotation de T.C. Laubisch à UCLA (à la P. Ping).

Materials

Name Company Catalog Number Comments

DOWNLOAD MATERIALS LIST

References

  1. Tao, F., Zhuang, H., et al. Phrase-Based Summarization in Text Cubes. IEEE Data Engineering Bulletin. , 74-84 (2016).
  2. Ding, B., Zhao, B., Lin, C. X., Han, J., Zhai, C. TopCells: Keyword-based search of top-k aggregated documents in text cube. IEEE 26th International Conference on Data Engineering (ICDE). , 381-384 (2010).
  3. Ding, B., et al. Efficient Keyword-Based Search for Top-K Cells in Text Cube. IEEE Transactions on Knowledge and Data Engineering. 23 (12), 1795-1810 (2011).
  4. Liu, X., et al. A Text Cube Approach to Human, Social and Cultural Behavior in the Twitter Stream.Social Computing, Behavioral-Cultural Modeling and Prediction. Lecture Notes in Computer Science. 7812, (2013).
  5. Liem, D. A., et al. Phrase Mining of Textual Data to analyze extracellular matrix protein patterns across cardiovascular disease. American Journal of Physiology-Heart and Circulatory. , (2018).
  6. Shang, J., et al. Automated Phrase Mining from Massive Text Corpora. IEEE Transactions on Knowledge and Data Engineering. 30 (10), 1825-1837 (2018).
  7. Liu, J., Shang, J., Wang, C., Ren, X., Han, J. Mining Quality Phrases from Massive Text Corpora. Proceedings ACM-Sigmod International Conference on Management of Data. , 1729-1744 (2015).
  8. Lee, S., Kim, N., Kim, J. A Multi-dimensional Analysis and Data Cube for Unstructured Text and Social Media. IEEE Fourth International Conference on Big Data and Cloud Computing. , 761-764 (2014).
  9. Lin, C. X., Ding, B., Han, J., Zhu, F., Zhao, B. Text Cube: Computing IR Measures for Multidimensional Text Database Analysis. IEEE Data Mining. , 905-910 (2008).
  10. Hsu, W. J., Lu, Y., Lee, Z. Q. Accelerating Topic Exploration of Multi-Dimensional Documents Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE International. , 1520-1527 (2017).
  11. Chaudhuri, S., Dayal, U. An overview of data warehousing and OLAP technology. SIGMOD Record. 26 (1), 65-74 (1997).
  12. Ravat, F., Teste, O., Tournier, R. Olap aggregation function for textual data warehouse. ICEIS - 9th International Conference on Enterprise Information Systems, Proceedings. , 151-156 (2007).
  13. Ho, C. T., Agrawal, R., Megiddo, N., Srikant, R. Range Queries in OLAP Data Cubes. SIGMOD Conference. , (1997).
  14. Saxena, V., Pratap, A. Olap Cube Representation for Object- Oriented Database. International Journal of Software Engineering & Applications. 3 (2), (2012).
  15. Maniatis, A. S., Vassiliadis, P., Skiadopoulos, S., Vassiliou, Y. Advanced visualization for OLAP. DOLAP. , (2003).
  16. Bog, A. Benchmarking Transaction and Analytical Processing Systems: The Creation of a Mixed Workload Benchmark and its Application. , Springer Science & Business Media. 7-13 (2013).
  17. Özcan, F., Tian, Y., Tözün, P. Hybrid Transactional/Analytical Processing: A Survey. In Proceedings of the ACM International Conference on Management of Data (SIGMOD). , 1771-1775 (2017).
  18. Hasan, K. M. A., Tsuji, T., Higuchi, K. An Efficient Implementation for MOLAP Basic Data Structure and Its Evaluation. International Conference on Database Systems for Advanced Applications. , 288-299 (2007).
  19. Nantajeewarawat, E. Advances in Databases: Concepts, Systems and Applications. DASFAA 2007. Lecture Notes in Computer Science. 4443, (2007).
  20. Shimada, T., Tsuji, T., Higuchi, K. A storage scheme for multidimensional data alleviating dimension dependency. Third International Conference on Digital Information Management. , 662-668 (2007).

Tags

Numéro 144 fouille de textes sciences médecine informatique médicale exploitation minière de la phrase le cloud computing
Expression nuage Mining and Analysis of User-Defined Phrase-catégorie Association dans les Publications biomédicales
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Sigdel, D., Kyi, V., Zhang, A.,More

Sigdel, D., Kyi, V., Zhang, A., Setty, S. P., Liem, D. A., Shi, Y., Wang, X., Shen, J., Wang, W., Han, J., Ping, P. Cloud-Based Phrase Mining and Analysis of User-Defined Phrase-Category Association in Biomedical Publications. J. Vis. Exp. (144), e59108, doi:10.3791/59108 (2019).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter