Mot-clé réseaux de cooccurrence dans JMP?Bonjour la communauté! Quelqu'un a-t-il trouvé comment créer un graphique de réseau de cooccurrence de mots-clés dans JMP qui peut être enregistré sous forme de script dans la table de données avec interactivité avec d'autres graphiques? Je peux appeler R pour faire le graphique, mais il est statique lorsque je le ramène à JMP. Je suis un utilisateur standard de JMP et j'aimerais trouver une solution qui n'implique pas les mots «disponible uniquement dans JMP Pro», car une licence JMP Pro dépasse largement mon budget. Merci d'avance pour les conseils que tout le monde peut donner.GraphiqueScriptingRe: Réseaux de cooccurence de mots-clés dans JMP?Vous pouvez obtenir quelque chose de lié, peut-être, comme ça. Et il est connecté à la table. Et pas Pro.
Diagramme de constellation à partir du clustering
// load some documents that might separate into some categories
dt1 = Open( "f:/gutenberg/books5000.jmp" ); // 5000 is too many, subset 36...
dt1 << selectwhere( Starts With( Loc Class, "D501" ) | Starts With( Loc Class, "TX:" ) | Starts With( Loc Class, "Q" ) | Starts With( Loc Class, "P" ) );
dt2 = dt1 << subset( selected rows( 1 ) );
Close( dt1, nosave );
originalnames = dt2 << getColumnNames();
te = dt2 << Text Explorer(
Text Columns( :text ), // the entire document is in one cell of the row
Add Stop Words(
{"agreement", "almost", "another", "company", "copyright holder", "electronic", "foundation", "gutenberg", "literary archive", "little",
"person or entity", "project", "public domain", "research", "without"}
),
Minimum Characters per Word( 6 ),
Stemming( "Stem for Combining" ),
Language( "English" )
);
te << savedocumenttermmatrix( Maximum Number of Terms( 300 ), Minimum Term Frequency( 25 ), Weighting( "TF IDF" ) );//BINARY would use ALL rather than !any, below
te << closewindow;
// remove all-connected columns
allnames = dt2 << getColumnNames();
For( iname = N Items( allnames ), iname > N Items( originalnames ), iname -= 1,
If( !Any( dt2[0, iname] ),
dt2 << deletecolumns( iname )
)
);
allnames = dt2 << getColumnNames();
cols = (N Items( originalnames ) + 1) :: N Items( allnames );
dt2 << Hierarchical Cluster( Y( allnames[cols] ),
Label( Transform Column( "Label", Character, Formula( Left( left(LoC Class,4)||:Subject||:Title, 20 ) ) ) ), // build your own identifier here
Method( "Ward" ), Standardize Data( 1 ), Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 4 ), Constellation Plot( 1 ), Show Dendrogram( 0 ),
SendToReport(Dispatch({"Constellation Plot"},"Clust Hier",FrameBox,{Frame Size( 1056, 716 )}))
);Re: Réseaux de cooccurence de mots-clés dans JMP?Salut Craige,
C'est génial! Je ne suis pas un expert JSL, mais je l'ai fait fonctionner avec mes données. La seule chose que je n'arrive pas à comprendre est de créer un identificateur d'étiquette qui utilise les noms de colonne pour les termes dans la matrice de termes du document. Ma matrice de termes de document comporte 252 colonnes. Chaque nom de colonne est mis en forme automatiquement avec la valeur issue des termes et le suffixe TF IDF2. Par exemple, une colonne est nommée «distribut · TF IDF 2», une autre est nommée «montagne · TF IDF 2». J'aimerais que les étiquettes des points de constellation soient le terme radical, sans le suffixe (par exemple, distribut · ou montagne ·). Existe-t-il un moyen simple d'utiliser les valeurs des noms de colonne de la matrice des termes du document comme étiquettes de points?
Merci beaucoup d'avoir fourni ce script.
Casey
Re: Réseaux de cooccurence de mots-clés dans JMP?Je ne suis pas sûr; Je pense que pour chaque ligne, vous voudriez les 3 ou 4 mots les plus importants (noms de colonne) pour cette ligne, et ce sont peut-être ceux qui ont la plus grande valeur. Cela vous semble-t-il correct lorsque vous regardez certaines lignes? Si tel est le cas, la création de cette colonne d'étiquette ne constituerait pas une étape de prétraitement importante.
Re: Réseaux de cooccurence de mots-clés dans JMP?Utiliser une ligne à la fois n'est peut-être pas la bonne réponse; cela n'aura pas à être un (des) mot (s) commun (s) avec des voisins dans le diagramme. À moins que deux voisins spatiaux ne partagent quelques mots.
Re: Réseaux de cooccurence de mots-clés dans JMP?Salut Craige,
Je viens de réaliser que le script que vous avez envoyé utilise des valeurs dans un DTM pour créer des groupes de documents basés sur des utilisations similaires de termes parmi les documents. Dans ce cas, chaque nœud représente un document et chaque lien est basé sur une valeur de distance de l'analyse de cluster. J'essaye de faire quelque chose de légèrement différent.
Je voudrais créer un graphique de constellation comme celui-ci où chaque nœud représente un TERM dans le DTM et chaque lien est basé sur une sorte de statistique qui décrit la cooccurrence de mot-clé. C'est bien en dehors de mon expertise. J'adore l'idée d'un tel complot, mais je ne sais pas s'il serait approprié de reformater le DTM d'une manière ou d'une autre afin qu'une analyse de cluster puisse être effectuée là où les termes finissent comme des nœuds (ou comment je le ferais). Cela permettrait d'atteindre mon objectif d'avoir un graphique dans JMP basé sur la relation entre les termes que je peux utiliser comme filtre global dans une visualisation de données interactive. Cependant, est-ce que ce genre de fin autour créerait un graphique qui ne serait pas basé sur les meilleures pratiques d'analyse de texte? Pour ceux d'entre vous qui comprennent ce domaine, cette utilisation de l'analyse par grappes serait-elle inappropriée pour illustrer la cooccurrence de mots-clés? Si tel est le cas, quelqu'un a-t-il construit quelque chose qui puisse faire des analyses de cooccurrence de mots-clés (en utilisant des méthodes statistiques appropriées pour ce type d'analyse) dans JMP?Je suis intéressé à entendre les commentaires de la communauté à ce sujet. Je m'excuse que mon message d'origine ne soit pas plus clair. Craige, j'utiliserai certainement le script que vous avez envoyé dans votre première réponse lorsque j'ai besoin de regrouper des documents! Merci.
Re: Réseaux de cooccurence de mots-clés dans JMP?Juste ajouter à @Craige_Hales 'aide que vous pouvez utiliser l'analyse de classe latente pour grouper des lignes (documents) et l'analyse sémantique latente pour grouper des colonnes (termes). Ces plates-formes sont disponibles sous Analyser> Méthodes multivariées. (Ils sont également intégrés et spécialisés pour Text Explorer dans JMP Pro.) Voir la documentation JMP ...
L'idée est que JMP dispose de nombreuses plates-formes puissantes qui fonctionnent ensemble. Mon analogie est une calculatrice graphique. Il y a beaucoup de boutons et il faut souvent plus d'un bouton pour faire le travail. C'est-à-dire qu'il n'y a pas un seul bouton qui «fait tout», mais vous pouvez y arriver. Vous devez apprendre JMP comme première approche au lieu d'essayer de recréer une application personnalisée. Pourquoi réinventer la roue?
Re: Réseaux de cooccurence de mots-clés dans JMP?Je suis loyaliste au JMP depuis 1994, donc je suis conscient de ses nombreux atouts et de la façon dont différents problèmes peuvent être résolus via différentes voies (c'est juste une des choses que j'aime à ce sujet). Je commence toujours par JMP. Ma communauté professionnelle est dominée par les utilisateurs R. Ils peuvent faire toutes sortes d'analyses, mais la capacité de R à créer des visualisations de données interactives (mon truc) n'est même pas dans la même ligue que JMP. Donc, je m'en tiens à JMP. Cependant, à mesure que les méthodes statistiques évoluent, une plus grande partie des analyses plus récentes n'est possible que via R, ou via JMP Pro, mais pas avec une licence JMP standard (par exemple, diverses plates-formes d'analyse de texte, des procédures de sélection de modèle de base qui sont une pratique standard dans mon domaine. ). Cela me rend plus difficile de faire des analyses holistiques, du début à la fin, dans JMP. Alors que JMP Pro et JMP standard s'éloignent de plus en plus, je me retrouve à consulter la communauté pour des solutions possibles à mes problèmes que je peux tirer avec une licence JMP standard.Le message de Craige était un excellent exemple de la communauté qui m'aidait à trouver un moyen de regrouper des documents en utilisant un DTM dans le JMP standard. Mon article le plus récent demandait s'il existe une solution similaire qui pourrait être possible pour regrouper les termes à l'aide d'un DTM dans le JMP standard.
Dans ce cas précis, j'essaie d'incorporer un graphique de réseau de co-occurrence de mot-clé dans une visualisation interactive existante que j'ai créée dans JMP standard.Je ne pense pas que j'essaye de réinventer la roue. Je pense que je suis soit confronté à un mur de fonctionnalités dans la licence JMP standard (peut-être), soit à un manque de connaissances / de créativité de ma part sur la façon de réussir (plus probablement).Je ne peux pas me permettre JMP Pro. C'est ma réalité et je ne la vois pas changer de sitôt. Les plates-formes d'analyse de classe latente et d'analyse sémantique latente que vous avez mentionnées ne sont disponibles que dans JMP Pro. Lorsque je pose des questions sur les capacités de la licence JMP standard et que je reçois des réponses me disant que je ne peux faire quelque chose que dans JMP Pro, cela ne m'aide pas vraiment. Je suis heureux si mes questions aident à résoudre les problèmes des utilisateurs de JMP Pro, mais il me reste toujours mon énigme initiale d'essayer de faire quelque chose dans le JMP standard qui nécessite plus de créativité et de connaissances (deux qualités étonnantes de la communauté des utilisateurs JMP) que Je possède tout seul.
Je suis reconnaissant à JMP, au personnel de support technique de JMP (qui est formidable) et à cette communauté d'utilisateurs. Jusqu'à ce que mon budget devienne beaucoup plus important qu'il ne l'a jamais été, je continuerai probablement à poser des questions ici sur les moyens créatifs de faire avancer les choses en utilisant une licence JMP standard (qui peut parfois pousser les limites). Je suis d'accord avec Mark qu'il faut d'abord apprendre JMP (ce que j'aime faire depuis plus de 25 ans). Pourtant, j'ai parfois du mal à comprendre comment répondre à mes besoins croissants d'analyse et de visualisation avec une licence JMP standard. J'espère toujours qu'il existe un moyen légitime d'utiliser un JMP standard pour créer un diagramme de réseau de cooccurrence de mots-clés pour regrouper des termes qui ont une interactivité totale et peuvent être enregistrés en tant que script de table JMP. Je ne sais pas comment faire ça. Compte tenu de mon processus normal de lecture de la documentation JMP, de recherche de messages de la communauté JMP et d'expérimentation par moi-même, je n'ai pas été en mesure de comprendre comment faire cela. Si cela ne peut tout simplement pas être fait sans une licence JMP Pro, je vais le laisser dériver et laisser ce type de graphique hors de ma visualisation.
Désolé pour la longue réponse. Si quelqu'un de JMP veut peser avec quelques stratégies sur la façon de se débrouiller avec JMP standard lorsque vous ne pouvez pas vous permettre JMP Pro, j'aimerais avoir quelques conseils (cela semble être un bon sujet de blog). Ce n'est peut-être pas un sujet pour ce forum de discussion. Je m'excuse si ce n'est pas le cas. N'hésitez pas à me contacter hors ligne à caseylott@ymail.com si quelqu'un a des suggestions à ce sujet.