Chers tous - J'utilise Text Explorer pour analyser des données "d'incidents" intéressantes dans l'environnement de transport. J'utilise l'analyse thématique et j'ai identifié environ 15 "sujets" sensibles. Est-il possible de savoir combien de documents dans mon échantillon "incluent" chaque sujet - je n'ai pas trouvé de moyen de le faire.
Toute orientation bienvenue
Merci
Cela ressemble à une bonne approche - si quelqu'un connaît un moyen quantifiable de choisir des points "coupés" pour la pertinence de chaque sujet vecto, ce serait formidable
Vous devriez pouvoir utiliser les vecteurs de sujet de document.Peut-être que quelqu'un connaît un moyen quantifiable de choisir les points de décision pour chaque vecteur, je l'ai fait visuellement et en vérifiant les documents :
Names default to here( 1 );
dt = Open( "$Sample_data/Aircraft Incidents.jmp" );
te = dt << Text Explorer(
Text Columns( :Final Narrative ),
Latent Semantic Analysis(
1,
Maximum Number of Terms( 2128 ),
Minimum Term Frequency( 10 ),
Weighting( "TF IDF" ),
Number of Singular Vectors( 100 ),
Centering and Scaling( "Centered and Scaled" )
),
Topic Analysis( 1, Number of Topics( 10 ) ),
Tokenizing( "Basic Words" ),
Language( "English" ),
SendToReport(
Dispatch( {}, "Term and Phrase Lists", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "SVD Plots", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Topic Terms", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Topic Scores Plots", OutlineBox, {Close( 0 )} )
)
);
//Save the topic vectors
te << Save Document Topic Vectors;
//Decide what values relate to documents that contain the topic:
dt << Distribution(
Continuous Distribution( Column( :Topic 1 ) ),
Continuous Distribution( Column( :Topic 2 ) ),
Continuous Distribution( Column( :Topic 3 ) ),
Continuous Distribution( Column( :Topic 4 ) ),
Continuous Distribution( Column( :Topic 5 ) ),
Continuous Distribution( Column( :Topic 6 ) ),
Continuous Distribution( Column( :Topic 7 ) ),
Continuous Distribution( Column( :Topic 8 ) ),
Continuous Distribution( Column( :Topic 9 ) ),
Continuous Distribution( Column( :Topic 10 ) )
);
//Select rows with topic 1
dt << Select where( :Topic 1 > 5 );
//Or, count rows with topic 1:
Sum( (Column( dt, "Topic 1" ) << Get values) > 5 );
//returns 169