Keyword-Cooccurence-Netzwerke in JMP?Hallo Community! Hat jemand herausgefunden, wie in JMP ein Netzwerkdiagramm für das Keyword-Cooccurence-Netzwerk erstellt wird, das als Skript in der Datentabelle mit Interaktivität mit anderen Diagrammen gespeichert werden kann? Ich kann R anrufen, um das Diagramm zu erstellen, aber es ist statisch, wenn ich es zurück zu JMP bringe. Ich bin ein Standard-JMP-Benutzer und würde gerne eine Lösung finden, die nicht die Worte "nur in JMP Pro verfügbar" enthält, da eine JMP Pro-Lizenz weit außerhalb meines Budgets liegt. Vielen Dank im Voraus für Ratschläge, die jeder geben kann.GrafikSkriptingBetreff: Keyword-Cooccurence-Netzwerke in JMP?Sie können vielleicht etwas Ähnliches wie dieses bekommen. Und es ist mit dem Tisch verbunden. Und nicht Pro.
Konstellationsdiagramm aus 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 )}))
);Betreff: Keyword-Cooccurence-Netzwerke in JMP?Hallo Craige,
Das ist brilliant! Ich bin kein JSL-Experte, aber ich habe es mit meinen Daten zum Laufen gebracht. Das einzige, was ich nicht herausfinden kann, ist, eine Beschriftungskennung zu erstellen, die die Spaltennamen für Begriffe in der Dokumentbegriffmatrix verwendet. Meine Dokumentbegriffmatrix enthält 252 Spalten. Jeder Spaltenname wird automatisch mit den Begriffen des Stammwerts und dem Suffix TF IDF2 formatiert. Beispielsweise heißt eine Spalte "verteilen · TF IDF 2", eine andere "Berg · TF IDF 2". Ich möchte, dass die Konstellationspunktbezeichnungen der Stammbegriff ohne das Suffix (z. B. Verteilen · oder Berg ·) sind. Gibt es eine einfache Möglichkeit, die Werte aus den Spaltennamen der Dokumenttermmatrix als Punktbezeichnungen zu verwenden?
Vielen Dank für die Bereitstellung dieses Skripts.
Casey
Betreff: Keyword-Cooccurence-Netzwerke in JMP?Ich bin mir nicht sicher; Ich denke, für jede Zeile möchten Sie die 3 oder 4 wichtigsten Wörter (Spaltennamen) für diese Zeile, und sie könnten diejenigen mit dem größten Wert sein. Sieht das richtig aus, wenn Sie sich einige Zeilen ansehen? In diesem Fall wäre es kein großer Vorverarbeitungsschritt, diese Beschriftungsspalte zu erstellen.
Betreff: Keyword-Cooccurence-Netzwerke in JMP?Die Verwendung einer Zeile gleichzeitig ist möglicherweise nicht die richtige Antwort. Das müssen keine gemeinsamen Wörter mit Nachbarn im Diagramm sein. Es sei denn, zwei räumliche Nachbarn teilen einige Wörter.
Betreff: Keyword-Cooccurence-Netzwerke in JMP?Hallo Craige,
Ich habe gerade festgestellt, dass das von Ihnen gesendete Skript Werte in einem DTM verwendet, um Cluster von Dokumenten zu erstellen, die auf ähnlichen Verwendungen von Begriffen in Dokumenten basieren. In diesem Fall stellt jeder Knoten ein Dokument dar und jede Verknüpfung basiert auf einem Entfernungswert von der Clusteranalyse. Ich versuche etwas anderes zu machen.
Ich möchte ein Konstellationsdiagramm wie dieses erstellen, in dem jeder Knoten einen BEGRIFF im DTM darstellt und jeder Link auf einer Statistik basiert, die das gleichzeitige Auftreten von Schlüsselwörtern beschreibt. Dies liegt weit außerhalb meines Fachwissens. Ich mag die Idee eines solchen Diagramms, bin mir aber nicht sicher, ob es angemessen wäre, den DTM irgendwie neu zu formatieren, damit eine Clusteranalyse durchgeführt werden kann, bei der Begriffe als Knoten enden (oder wie ich dies tun würde). Dies würde mein Ziel erreichen, eine Grafik in JMP basierend auf der Begriffsbezogenheit zu haben, die ich als globalen Filter in einer interaktiven Datenvisualisierung verwenden kann. Würde diese Art von End-Around jedoch eine Grafik erstellen, die nicht auf Best Practices der Textanalyse basiert? Wäre diese Verwendung der Clusteranalyse für diejenigen unter Ihnen, die dieses Feld verstehen, unangemessen, um das gleichzeitige Auftreten von Schlüsselwörtern zu veranschaulichen? Wenn ja, hat jemand etwas erstellt, das Keyword-Cooccurrence-Analysen (unter Verwendung geeigneter statistischer Methoden für diese Art von Analyse) in JMP durchführen kann?Ich bin daran interessiert, Feedback von der Community zu diesem Thema zu hören. Ich entschuldige mich, dass mein ursprünglicher Beitrag nicht klarer war. Craige, ich werde auf jeden Fall das Skript verwenden, das Sie in Ihrer ersten Antwort gesendet haben, wenn ich Dokumente gruppieren muss! Vielen Dank.
Betreff: Keyword-Cooccurence-Netzwerke in JMP?Einfach hinzufügen @Craige_Hales 'Hilfe, dass Sie Latent Class Analysis zum Gruppieren von Zeilen (Dokumenten) und Latent Semantic Analysis zum Gruppieren von Spalten (Begriffen) verwenden können. Diese Plattformen stehen unter Analysieren> Multivariate Methoden zur Verfügung. (Sie sind auch in JMP Pro integriert und auf den Text Explorer spezialisiert.) Siehe JMP-Dokumentation ...
Die Idee ist, dass JMP viele leistungsstarke Plattformen hat, die zusammenarbeiten. Meine Analogie ist ein Grafikrechner. Es gibt viele Schaltflächen und es sind oft mehr als eine Schaltfläche erforderlich, um die Arbeit zu erledigen. Das heißt, es gibt keinen Knopf, der alles macht, aber Sie können dorthin gelangen. Sie müssen JMP als ersten Ansatz lernen, anstatt zu versuchen, eine benutzerdefinierte Anwendung neu zu erstellen. Warum das Rad neu erfinden?
Betreff: Keyword-Cooccurence-Netzwerke in JMP?Ich bin seit 1994 ein JMP-Loyalist, daher bin ich mir bewusst, dass es viele Stärken gibt und wie unterschiedliche Probleme auf unterschiedlichen Wegen gelöst werden können (das ist nur eines der Dinge, die ich daran liebe). Ich fange immer mit JMP an. Meine professionelle Community wird von R-Benutzern dominiert. Sie können alle Arten von Analysen durchführen, aber Rs Fähigkeit, interaktive Datenvisualisierungen zu erstellen (mein Ding), ist nicht einmal in der gleichen Liga wie JMP. Also bleibe ich bei JMP. Mit der Weiterentwicklung der statistischen Methoden ist jedoch ein größerer Teil der neueren Analysen nur über R oder JMP Pro möglich, jedoch ohne Verwendung einer Standard-JMP-Lizenz (z. B. verschiedene Textanalyseplattformen, grundlegende Modellauswahlverfahren, die in meinem Bereich Standard sind ). Dies macht es für mich schwieriger, ganzheitliche Analysen in JMP durchzuführen. Da JMP Pro und Standard-JMP weiter auseinander driften, konsultiere ich die Community nach möglichen Lösungen für meine Probleme, die ich mit einer Standard-JMP-Lizenz lösen kann.Craiges Beitrag war ein großartiges Beispiel für die Community, die mir dabei half, Dokumente mithilfe eines DTM in Standard-JMP zu gruppieren. In meinem letzten Beitrag wurde gefragt, ob es eine ähnliche Lösung gibt, mit der Begriffe mithilfe eines DTM in Standard-JMP gruppiert werden können.
In diesem speziellen Fall versuche ich, eine Netzwerkgrafik für das gleichzeitige Auftreten von Schlüsselwörtern in eine vorhandene interaktive Visualisierung zu integrieren, die ich in Standard-JMP erstellt habe.Ich glaube nicht, dass ich versuche, das Rad neu zu erfinden. Ich glaube, ich stoße entweder (möglicherweise) auf eine Funktionsmauer in der Standard-JMP-Lizenz oder auf einen Mangel an Wissen / Kreativität, um dies zu erreichen (wahrscheinlicher).Ich kann mir JMP Pro nicht leisten. Dies ist meine Realität und ich sehe keine baldige Veränderung. Sowohl die von Ihnen erwähnten Plattformen Latent Class Analysis als auch Latent Semantic Analysis sind nur in JMP Pro verfügbar. Wenn ich Fragen zu den Funktionen der Standard-JMP-Lizenz stelle und Antworten bekomme, die mir mitteilen, dass ich nur in JMP Pro etwas tun kann, hilft mir das nicht wirklich. Ich bin froh, wenn meine Fragen zur Lösung von Problemen für JMP Pro-Benutzer beitragen, aber ich habe immer noch das ursprüngliche Rätsel, etwas in Standard-JMP zu tun, das mehr Kreativität und Wissen erfordert (zwei erstaunliche Eigenschaften der JMP-Benutzergemeinschaft) als Ich besitze alleine.
Ich bin dankbar für JMP, für die Mitarbeiter des technischen Supports von JMP (die großartig sind) und für diese Benutzergemeinschaft. Bis mein Budget viel größer wird als je zuvor, werde ich hier wahrscheinlich immer wieder Fragen zu kreativen Möglichkeiten stellen, um Dinge mit einer Standard-JMP-Lizenz zu erledigen (die manchmal den Umschlag drückt). Ich stimme Mark zu, dass man zuerst JMP lernen muss (was mir seit über 25 Jahren Spaß macht). Trotzdem habe ich manchmal Schwierigkeiten zu verstehen, wie ich meine wachsenden Anforderungen an Analyse und Visualisierung mit einer Standard-JMP-Lizenz erfüllen kann. Ich hoffe immer noch, dass es eine legitime Möglichkeit gibt, ein Standard-JMP zu verwenden, um ein Netzwerkdiagramm für das gleichzeitige Auftreten von Schlüsselwörtern zu erstellen, um Begriffe zu gruppieren, die vollständige Interaktivität aufweisen und als JMP-Tabellenskript gespeichert werden können. Ich weiß nicht, wie ich das machen soll. Angesichts meines normalen Prozesses, JMP-Dokumentation zu lesen, JMP-Community-Beiträge zu durchsuchen und nur alleine zu experimentieren, konnte ich nicht herausfinden, wie das geht. Wenn dies ohne eine JMP Pro-Lizenz nicht möglich ist, lasse ich es driften und lasse diesen Diagrammtyp aus meiner Visualisierung heraus.
Entschuldigung für die lange Antwort. Wenn jemand von JMP mit einigen Strategien abwägen möchte, wie er mit Standard-JMP auskommt, wenn Sie sich JMP Pro nicht leisten können, würde ich gerne einen Rat geben (scheint ein gutes Blog-Thema zu sein). Vielleicht ist es kein Thema für dieses Diskussionsforum. Ich entschuldige mich, wenn es nicht ist. Sie können mich gerne offline unter caseylott@ymail.com kontaktieren, wenn jemand Vorschläge dazu hat.