<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.E-MailFormatvorlage19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Liebe Trennende –<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Kürzlich tauchte hier die Frage auf, ob angesichts von Entwicklungen im Machine Learning praktikable Alternativen zum Liang-Algorithmus denkbar sind, die Muster möglicherweise besser erkennen können als das strikt regelbasierte Vorgehen
des Liang-Algorithmus –--besser in dem Sinne, dass die Anwendung auf „unbekannte“ Wörter, die nicht explizit im Trainingsdatensatz vorkommen, (noch) höhere Korrektheitsquoten liefert.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Grundsätzlich scheint dies denkbar, weil es mittlerweile neuronale Netzwerke gibt, die (unabhängig vom Hype um ML) relativ gut in der Mustererkennung sind. Mit der Wortliste liegt auch ein stattlicher Input vor, um Supervised Learning zu
ermöglichen.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ich selbst habe keine Erfahrung im Einsatz von ML, habe in der Zwischenzeit aber wenigstens mit einer Werksstudentin bei uns einmal über die Möglichkeit einer alternativen Worttrennung auf Machine-Learning-Basis geplaudert. Wir haben den
Eindruck gewonnen, dass das grundsätzlich möglich sein müsste; vermutlich kann man das Trennproblem so umformulieren, dass es Problemen gleicht, auf die ML-Methoden schon erfolgreich angewendet worden sind.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Man stelle sich etwa die getrennte Form eines Wortes als eine Art „Deep Fake“ eines ungetrennten Wortes vor; das würde für einen Ansatz mit Generative Adversarial Networks sprechen (wobei die Grundidee des Liang-Algorithmus davon gar nicht
so fern ist – nur der technische Ansatz ein ganz anderer).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Oder als Klassifikationsproblem: wenn man jede der n–1 (oder genauer n–1–2*a mit a = \hyphenmin) prinzipiell möglichen Trennstellen eines n-buchstabigen Wortes als Bitmuster darstellt und di<span style="color:black">eses</span> als Namen
einer Klasse interpretiert. (Oder irgendeine Variation über dieses Thema.) Dann hätte man ein Klassifikationsproblem, also z.B. grundsätzlich geeignet für ein Convolutional Neural Network (oder die Recurrent-Variante).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ich will also damit den Liang-Algorithmus keineswegs schlechtreden, ich bin bisher damit hochzufrieden und benutze ihn schließlich fast täglich. Ob mit ML etwas besseres herauskäme, ist für mich eine vollkommen offene Frage – ML gibt keine
Erfolgsgarantien, und die Reproduzierbarkeit von Ergebnissen ist auch eingeschränkt.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Eine Stärke des Liang-Algorithmus ist natürlich, dass die Anwendung von Trennmustern (anders als die Mustererzeugung) sehr einfach ist und sehr wenig Ressouren benötigt. Prinzipiell gilt auch bei ML-Modellen, dass das Trainig viel teurer
ist als die Anwendung, aber der Code, der für die Anwendung gebraucht wird, dürfte weder trivial noch kompakt sein. Und damit vermutlich schwerer portierbar als der erfolgreich in verschiedenen Umgebungen implementierte Liang-Algorithmus.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Also auf absehbare Zeit vielleicht eher doch ein Thema für rein akademisches Interesse. Was ja nicht heißt, dass man mit dem Thema nach Frank Liang nicht einem weiteren Informatiker zum PhD verhelfen könnte
<span style="font-family:Wingdings">J</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;mso-fareast-language:DE">\Gisbert</span><span style="font-size:9.0pt;font-family:"Arial",sans-serif;mso-fareast-language:DE"><o:p></o:p></span></p>
</div>
</div>
</body>
</html>