Konfigurieren von Optionen

Dies beinhaltet die Erstellung einer Datei mit Trainingsoptionen, die Informationen zu Ihrem Modell und die beim Training des Modells anzuwendenden Optionen enthält. Diese Datei muss im XML-Format mit UFT-8-Codierung vorliegen. Sie muss folgende Features für Header und das erforderliche Training enthalten:

Header in der Datei mit Trainingsoptionen

Der Header enthält Details zu dem Modell, dem zugehörigen Typ und dem Pfad der Test- und Eingabedateien.

  • modelName: Der Name des Modells
  • modelType: Der Typ des Modells (er lautet in diesem Fall TK, d. h. Textkategorisierung)
  • modelDescription: Die Beschreibung des Modells
  • inputFilePath: Der Speicherort der Eingabedatei, die für das Trainieren des Modells verwendet wird
  • testFilePath: Der Speicherort der Testdatei
    Anmerkung:

    Die Testdatei misst die Effektivität eines Modells. Sie bestimmt das Verhalten des benutzerdefinierten Modells im Hinblick auf verschiedene Trainingsparameter. Als bewährte Methode gilt, bei dem Training oder der Auswertung Ihres benutzerdefinierten Modells unterschiedliche Eingabe- und Testdateien zu verwenden.

    algorithm: Der Machine Learning-Algorithmus zum Trainieren des Modells (Standard ist MaxEnt)

Trainingsfeatures

Dies sind die Trainingsfeatures, mit denen Sie eine neue Kategorie erstellen können.
Anmerkung: Wenn Sie mehrere Features verwenden, können Sie sie in beliebiger Reihenfolge in der Datei platzieren.
  • Sprachliches Feature: Für die Angabe der Spracheigenschaften
    • Stemming: Reduziert Wörter auf Ihren Wortstamm. Die Wörter „insurer“, „insured“ und „insures“ beispielsweise können alle auf den Wortstamm „insure“ reduziert werden.
      <trainingFeature>
      		<featureName>Stemming</featureName>
      </trainingFeature>
  • Schlüsselwortfeatures: Zum Definieren der Liste mit Schlüsselwörtern
    • IgnoreWords: Dieses auch unter „Stoppwörter“ bekannte Feature filtert allgemeine Wörter heraus, die keine Auswirkungen auf die Kategorisierung haben, wie z. B. „der/die/das“, „und“, „aber“ usw. Diese Wörter sollten nur durch ein Komma voneinander getrennt werden, nicht durch Leerzeichen. Sie können mit diesem Feature auch den Schlüssel Anfügen verwenden, der zur vorhandenen Liste der Stoppwörter hinzugefügt wird, wenn er auf „true“ festgelegt ist.
      <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: Gibt eine Kategorie für eine Liste mit Schlüsselwörtern an, die zu mehreren benutzerdefinierten Listen gehören. Beispiel: „Wochentage“ in der Liste CategoryKeywords enthält die Schlüsselwörter Montag, Dienstag, Mittwoch, Donnerstag und Freitag.

      Dieses Feature kann optional angeben, ob beim Abgleich die Groß-/Kleinschreibung beachtet werden soll. Bei einer Verwendung lautet der Standard 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: Sucht nach Wörtern, die Sie als zu einer benutzerdefinierten Liste gehörig angegeben haben, z. B. DaysOfWeek oder Month. Gibt zudem optional an, ob beim Abgleich die Groß-/Kleinschreibung beachtet werden soll. Bei einer Verwendung lautet der Standard „true“.
      <trainingFeature>
      	<featureName>KeyWords</featureName>
      	<featureParams>
      		<entry>
      			<key>KeyWordList</key>
      			<value>Monday,Tuesday</value>
      		</entry>
      		<entry>
      			<key>CaseSensitive</key>
      			<value>False</value>
      		</entry>
      	</featureParams>
      </trainingFeature>
  • Lexikalisches Feature: Für die Angabe der Eigenschaften von Lexemen
    • NGram: Sucht nach einem längeren Abschnitt einer Zeichenfolge, wobei „n“ für die Anzahl der zu suchenden Wörter steht. Wenn Sie beispielsweise nach dem Ausdruck „to be or not to be“ („Sein oder Nichtsein“) suchen, können Sie nach dem Unigramm „to“ oder „be“, dem Bigramm „to be“ oder „or not“, dem Trigramm „to be or“ oder „not to be“ usw. suchen.
      <trainingFeature>
      		<featureName>NGram</featureName>
      		<featureParams>
      			<entry>
      				<key>Count</key>
      				<value>3</value>
      			</entry>
      		</featureParams>
      </trainingFeature>
Im Folgenden finden Sie eine Beispieldatei mit Trainingsoptionen:
<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>