Cari tutti - Sto usando Text explorer per analizzare alcuni interessanti dati "incidenti" nell'ambiente dei trasporti. Sto usando Topic Analysis e ho identificato circa 15 "argomenti" sensibili. È possibile scoprire quanti documenti nel mio set di campioni "includono" ciascun argomento - non ho trovato un modo per farlo.
Qualsiasi guida è benvenuta
Grazie
Sembra un buon approccio: se qualcuno là fuori conosce un modo quantificabile per scegliere i punti di "interruzione" per la pertinenza di ogni argomento, sarebbe fantastico
Dovresti essere in grado di utilizzare i vettori degli argomenti del documento.Forse qualcuno conosce un modo quantificabile per scegliere i punti decisionali per ciascun vettore, l'ho fatto visivamente e controllando i documenti:
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