Opciones de configuración

Esto involucra la creación de un archivo de Opciones de capacitación que contiene información sobre su modelo y las opciones que puede aplicar para la capacitación del modelo. Este archivo debe estar en formato XML con codificación UFT-8 y debe incluir este encabezado y las características de capacitación requeridas:

Encabezado en el archivo Opciones de capacitación

El encabezado menciona detalles del modelo, su tipo y la ruta de la prueba y los archivos de entrada.

  • modelName: nombre del modelo
  • modelType: el tipo del modelo (que es TC, lo que significa categorización de texto en este caso)
  • modelDescription: descripción del modelo
  • inputFilePath: ubicación del archivo de entrada utilizado para capacitar el modelo
  • testFilePath: ubicación del archivo de prueba
    Nota:

    El archivo de prueba mide la eficacia de un modelo. Este determina el comportamiento del modelo personalizado con diversos parámetros de capacitación. Como una buena práctica, debe usar distintos archivos de entrada y de prueba en la capacitación o la evaluación de sus modelos personalizados.

    algoritmo: el algoritmo de Machine Learning utilizado para capacitar el modelo (el valor predeterminado es MaxEnt)

Características de capacitación

Estas son características de capacitación que puede usar para crear una nueva categoría.
Nota: Si utiliza varias características, las puede ubicar en cualquier orden dentro del archivo.
  • Característica lingüística: para especificar las propiedades de idioma
    • Stemming: reduce las palabras a su raíz. Por ejemplo, "aseguradora", "asegurado" y "asegurar" se pueden reducir a la raíz "seguro".
      <trainingFeature>
      		<featureName>Stemming</featureName>
      </trainingFeature>
  • Características de palabras clave: para definir la lista de palabras clave
    • IgnoreWords: también denominadas palabras irrelevantes, esta función filtra las palabras comunes que no afectan la categorización, como "el/la", "y", "pero". Estas palabras se deben separar solo por una coma, sin espacios. También puede usar la clave Adjuntar con esta característica, que cuando la define en "Verdadero", se agrega a la lista existente de palabras irrelevantes.
      <trainingFeature>
      		<featureName>IgnoreWords</featureName>
      		<featureParams>
      			<entry>
      				<key>WordList</key>
      				<value>
      					and,the,for,with,still,tri,rep,cust,keep,get,req,call
      				</value>
      			</entry>
      			<entry>
      				<key>Append</key>
      				<value>True</value>
      			</entry>
      		</featureParams>
      	</trainingFeature>
    • CategoryKeywords: identifica una categoría para una lista de palabras clave que pertenecen a múltiples listas personalizadas. Por ejemplo, Días de semana en la lista CategoryKeywords contiene Palabras clave como Lunes, Martes, Miércoles, Jueves y Viernes.

      Puede especificar esta característica en forma opcional si el cruce debe distinguir entre mayúsculas y minúsculas. Cuando la usa, el valor predeterminado es true.

      <trainingFeature>
      	<featureName>CategoryKeywords</featureName>
      	<featureParams>
      		<entry>
      			<key>Weekdays</key> 
                          <!-- List of weekdays -->
      			<value>Monday,Tuesday,Wednesday,Thursday,Friday</value>
      		</entry>
      		<entry>
      			<key>WeekendDays</key>
                          <!-- List of weekend days -->
      			<value>Saturday,Sunday</value>
      		</entry>
      		<entry>
      			<key>CaseSensitive</key>
                          <value>True</value>
      		</entry>
      	</featureParams>
      </trainingFeature>
    • KeyWords: busca las palabras que especificó como pertenecientes a una lista personalizada, como DaysOfWeek o Month. De forma opcional, también especifica si el cruce debe distinguir mayúsculas de minúsculas; cuando se utiliza, el valor predeterminado es "verdadero".
      <trainingFeature>
      	<featureName>KeyWords</featureName>
      	<featureParams>
      		<entry>
      			<key>KeyWordList</key>
      			<value>Monday,Tuesday</value>
      		</entry>
      		<entry>
      			<key>CaseSensitive</key>
      			<value>False</value>
      		</entry>
      	</featureParams>
      </trainingFeature>
  • Característica léxica: para especificar las propiedades de lexema
    • NGram: busca parte de una cadena más larga, donde "n" representa el número de palabras que se buscarán. Por ejemplo, si buscara la frase "ser o no ser", podría buscar un unigrama de "ser" o "no", o un bigrama de "ser o" o "no ser", un trigrama de "ser o no" o "o no ser", etc.
      <trainingFeature>
      		<featureName>NGram</featureName>
      		<featureParams>
      			<entry>
      				<key>Count</key>
      				<value>3</value>
      			</entry>
      		</featureParams>
      </trainingFeature>
Un ejemplo de archivo de opciones de capacitación:
<trainingOptions>
	<modelName>modelone</modelName>
	<modelType>TC</modelType>
	<modelDescription>modelOne</modelDescription>
	<inputFilePath>C:/SpectrumIE/textclassification/train_Input.csv</inputFilePath>
	<testFilePath>C:/SpectrumIE/textclassification/train_Test.txt</testFilePath>
    <algorithm>SVM</algorithm>
	
	<trainingFeatures>

	<!-- Keyword features -->	
	<trainingFeature>
		<featureName>IgnoreWords</featureName>
		<featureParams>
			<entry>
				<key>WordList</key>
				<value>
					and,the,for,with,still,tri,rep,cust,keep,get,req,call
				</value>
			</entry>
			<entry>
				<key>Append</key>
				<value>True</value>
			</entry>
		</featureParams>
	</trainingFeature>

	<trainingFeature>
		<featureName>CategoryKeywords</featureName>
		<featureParams>
			<entry>
				<key>Category1/key>
				<value>CategoryKeyword1,CategoryKeyword2</value>
			</entry>
			<entry>
				<key>Category2/key>
				<value>CategoryKeyword3,CategoryKeyword4</value>
			</entry>                                                  
             </featureParams>
	</trainingFeature>

	<trainingFeature>
            <featureName>KeyWords</featureName>
	      <featureParams>
			<entry>
				<key>KeyWordList</key>
				<value>
					jam,misfeed,install,help,mechanical,failure,jam,pc,connection
				</value>
			</entry>
		</featureParams>
	</trainingFeature>

	<!-- Linguistic feature -->
	<trainingFeature>
		<featureName>Stemming</featureName>
	</trainingFeature>
	
	<!-- Lexical feature -->
	<trainingFeature>
		<featureName>NGram</featureName>
		<featureParams>
			<entry>
				<key>Count</key>
				<value>3</value>
			</entry>
		</featureParams>
	</trainingFeature>

	</trainingFeatures>
	</trainingOptions>