Estimados todos: estoy usando el Explorador de texto para analizar algunos datos interesantes de "incidentes" en el entorno del transporte. Estoy utilizando el análisis de temas y he identificado unos 15 "temas" sensibles. ¿Es posible averiguar cuántos documentos en mi conjunto de muestra "incluyen" cada tema? No he encontrado una manera de hacerlo.
Cualquier orientación bienvenida
Gracias
Parece un buen enfoque: si alguien conoce una forma cuantificable de elegir puntos de "corte" para la relevancia de cada vector de tema, sería genial
Debería poder utilizar los vectores de temas del documento.Tal vez alguien conozca una forma cuantificable de elegir los puntos de decisión para cada vector, lo he hecho visualmente y revisando documentos:
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