Hello Oslsachem,

What are your ideas and opinions about the word list
editor?

I'm afraid I can only contribute with questions for now :)

You are very welcome.


Can the parser be -easily- configured so that it doesn't start to consider the new words once they get added but simply stores them?

New words are not given any type information at first. But while parsing sentences directed to NPCs, there take place transformations, which are influenced by this new words, as it seems. At least this is my interpretation of the bug report. Well, I should look more into detail and try to reproduce the problem...
To answer your question directly: Ideally there should be no influence of new words to following inputs without assigning types to them manually. But currently this doesn't seem to work in all cases because of the complexity of the parser transformations.

<german>
Neuen Wörtern wird zunächst einmal noch kein Typ und somit auch keinerlei Bedeutung zugeordnet. Allerdings finden während der Erkennung von Sätzen, die an NPCs gerichtet sind, Transformationen statt, auf die diese neuen Wörter scheinbar gelegentlich doch Einfluß nehmen. Zumindest kann ich mir nur auf diese Weise den Bug Report erklären. OK, ich sollte wohl demnächst versuchen, das Problem näher zu betrachten und den Fall zu reproduzieren. Ich fürchte nur, das wird nicht so ganz einfach werden.
Um Deine Frage direkt zu beantworten: Idealerweise sollten die neuen Wörter keinen Einfluß auf folgende Eingaben haben, so lange ihnen nicht explizit ein Word-Typ zugeordnet wird. Nur scheint dies aufgrund der Komplexität des Parser-Algorithmus derzeit nicht immer der Fall zu sein.
</german>


Why is the run-time/dynamically generated word list -presumably- stored inside a database instead of just a (flat) file as the original hard-coded list is?

We think it is the lean way to store all data generated by the Stendhal server at one single place, that is in the database. Technically it is of course no problem to store the word list in file format. In fact this has already been done during the development phase of the NPC parser.

<german>
Wir denken, es ist der saubere Weg, alle vom Stendhal-Server gespeicherten Daten an einer einzigen Stelle - also in der Datenbank abzulegen. Technisch gesehen wäre es natürlich kein Problem, die Wortliste wieder wie früher in einer Datei zu speichern. In der ersten Entwicklungsphase des NPC-Parsers war das bereits der Fall.
</german>


As it needs to be manually supervised, what could be the growth rate of this list (number of words per day)?

We could answer our server admins - they should know about the current size of the list and have some impression about the growth rate. I know, there are some fundamental concerns about storing the words at all because one could make conclusions from the new vocabulary to the current discussions in the game (NPCs some times also listen to user discussions).

<german>
Dazu können wir unsere Server-Admistratoren fragen. Sie sollten eigentlich einen Eindruck von der aktuellen Größe und der ungefähren Wachstumssrate haben. Ich weis, auch dass es einige Bedenken gegenüber der Speicherung der Wörter an sich gibt, da gewisse Rückschlüsse aus dem neu dazukommenden Vokabular auf die aktuellen Diskussionen im Spiel zu ziehen sind. Daher sollten auch nur Admins Zugriff auf die Wortliste haben (NPCs bekommen manchmal auch Diskussionen mit, die eigentlich nicht an sie gerichtet waren).
</german>


Are there any additional requirements (appearance frequency, ...) for the new words to get added to that automatically generated list?

Currently any new word, that is not derived from any already know word, is added to the word list (see also SentenceImplementation.classifyWords() in the source code).

<german>
Zur Zeit wird jedes bisher unbekannte Wort, das nicht von einem der bereits bekannten abgeleitet ist, in die Wortliste aufgenommen (siehe auch SentenceImplementation.classifyWords() iim Quellcode).
</german>


Is there a necessity or are there any benefits for an online list editor over editing the original file offline and updating it during server restarts?

<german>
Ein Online-Editor könnte die Bedienung vereinfachen. Er würde z.B. Auwahllisten für den Wort-Typ bereitstellen, um versehentlichen Fehleingaben zu vermeiden. Außerdem kann man so Sonderfunktionen wie die im folgenden Inline-Kommentar beschriebenen vorsehen.
</german>

package games.stendhal.server.entity.npc.parser;

/**
 * WordListEditor is a graphical tool to administer the word list stored in the database. It provides
 * the following functionality:
 * - (re-)initialize the database with the pre-configured word list by calling WordListUpdate
 * - associate word types, plural, numerical values and aliases with new words - remove wrong
 *   spelled words - add new entries
 * - print out the "words.txt" file to update the source, which initializes new word lists
 *
 * @author Martin Fuchs
 */
public class WordListEditor {

    public static void main(final String[] args) {
        // TODO implement WordListEditor
    }

}


By the way:
The <german> sections are there because it is some times easier for me to write the german text first and then translate all into english. So if you prefer German, just read this version of my messages - it's a free spin-off feature.   ;-)


Regards,

    Martin