Menu

About this project (EN,RU)

2010-11-27
2013-04-30
  • Sergej Privalov

    Sergej Privalov - 2010-11-27

    About "Grammar-multi".
    The aim of the project - to create a versatile program that will do/allow:
    * Add a language (not done) or work with existing (done partly for the Lithuanian language).
    * Add a word (not done) and work with existing (done for the Lithuanian language, uses partly the ispell format).
    * Show for each individual word whether it is written properly, and to offer for it more correct forms (not done in the best way, because the main feature/highlight/target of the project is not in it).
    * Show for each sentence, is it written correctly and to offer its more correct versions (done with maximum speed in my opinion).
    * Make a mechanism to improve the "universal sentence pattern" by declaring that these words form a relationship and by describing the rules of their relationship (the basic principles of connection are made).
    * Note: The program supports (and should support and further) for a multi-variant words and phrases = a group of words. That is the word / group of them may have different values - from the parts of speech (one or a few) and "rising" to all possible roles in the sentence for this word / group of words.
    * Show graphically the word as the part of the sentence, singling out a group of words at different levels, possibly indicating the primary and secondary members of group (been done more or less).
    * Show graphically the universal sentence pattern for a (current) language.
    * Make a nice, comfortable and friendly; in short - some visual mechanism for improvement or for addition of the "universal sentence pattern" (for some language).
    * Make a nice, comfortable and friendly; in short - some visual mechanism for improvement or for addition of the programm dictionary (for some language).In the future, words must be divided into smaller and smaller groups: for example, verbs - into transitive or intransitive; and then more detailed, such as: for which groups of nouns are acceptable description of the action in the verb.
    * … And all this in order to increase the vocabulary and the "universal sentence pattern", with the purpose a percentage of recognized sentences should constantly increased, to ordinary users could use the program (or its simplified version) for finding and correcting mainly not spelling but grammatical errors in a sentence - errors of concord/congruence of words (their forms) in a sentence.
    The program is most useful for languages which words have many forms ("more" inflected languages) and for which is important grammatical agreement (and other syntactic connections) in a sentence.
    The program does not offer to insert/remove/swap: the_word/words/punctuation_marks, and while this is not planned. Automatic hyphenation is not supported and not planned.

    Граммар-мульти.
    Цель проекта - создать многофункциональную программу которая будет делать/позволять:
    * Добавлять язык (не сделано) или работать с имеющимися (сделано частично для литовского языка).
    * Добавлять слова (не сделано) и работать с имеющимися (сделано для литовского языка, частично читается по формату ispell).
    * Показывать для каждого отдельного слова, правильно ли оно написано, и предлагать его более правильные варианты (сделано не самым лучшим образом, ибо главная фишка/изюминка/цель/особенность проекта не в этом).
    * Показывать для каждого предложения, правильно ли оно написано, предлагать его более правильные варианты (сделано с максимальной на мой взгляд скоростью).
    * Показывать для двух и более слов, образовывается ли между ними связь, предлагать их варианты (если это разрешено для слова) которые делают связь между словами возможной (сделано с максимальной на мой взгляд скоростью).
    * Сделать механизм улучшения "универсального шаблона предложений" путём объявления, что эти слова образовывают связь и описав правила их связи (основные принципы связи сделаны).
    * Примечание: программа поддерживает (и должна поддерживать дальше) многовариантность для слов и фраз=группы_слов. То есть слово/группа_слов может иметь иного значений - начиная от части речи (одной или несколько) и "поднимаясь" до всех возможных ролей в предложении для этого слова/группы_слов.
    * Показывать графически слова как члены предложения, выделяя группы слов на разных уровнях, по возможности показывая главные и второстепенные члены (как-то сделано).
    * Показывать графически универсальный шаблон предложений для (рабочего) языка (как-то сделано).
    * Сделать красивый, удобный и понятный; короче, визуальный механизм улучшения (дополнения) "универсального шаблона предложений" (для определённого языка).
    * Сделать красивый, удобный и понятный; короче, визуальный механизм улучшения (дополнения) словаря программы (для определённого языка). В перспективе слова должны будут разделятся на всё более мелкие группы: например глаголы - на переходные и непереходные; а затем более детально, например для каких групп существительных приемлемо действие описаное в глаголе.
    * …И всё это для того, чтобы увеличивались словарь и "универсальный шаблон предложений", чтобы процент распознаваемых предложений постоянно возрастал, чтобы простые пользователи могли пользоваться программой (или её упрощённой версией) для нахождения и исправления не столько орфографических, но грамматических ошибок в предложении - ошибок согласования слов в предложении.
    Программа наиболее полезна для языков, у которых слова имеют много форм ("более" флективные языки) и для которых ("более") важно согласование (и прочие синтаксические связи) в предложении.
    Программа не предлагает вставить/убрать/поменять_местами слово/слова/знаки_препинания; и пока это не планируется. Автоматический перенос слов также не поддерживается и не планируется.

     
  • Sergej Privalov

    Sergej Privalov - 2010-11-27

    Here is text about programm version I've done from my web-page

    https://sites.google.com/site/sergprogrammer/main/main_en/grammar_en
    

    :

            Most text editing systems have a tool to automatically check for spelling errors (when one or more letters in the word are spelled not correctly); called speller. Their principle of action: the program analyzes each word in the text and looks for it in a database of all the words and their various forms.
                   
            Such a test text ensures that the words in the text will be written correctly (as in the dictionary), but does not protect against the agreement (or concord) errors and syntax errors in the sentence. An example of agreement / concord and syntax errors for the English language could be: "He am, I is", "One books, two book", "I goes, he go".
                   
            In English language nouns may have 4 forms: 2 forms of number (singular and plural) multiply by 2 forms of case (nominative and genitive cases); e.g. cat, cats, cat's and cats'.
            In Russian and Lithuanian languages there are 2 (numbers) * 6 (cases) = 12 forms of the noun (for any word), 24 (36 for Russian) forms of adjective and 5 (6 for Russian) forms for the verb, not counting the forms of the tense.
            So, you can make so much agreement errors, as more word forms there are for every word in the sentence. For example in english sentence "I see a nice cat" words have so many forms: I/me, see/sees, a/an/the, nice, cat/cat's/cats/cats'. Searching for the right version of the sentence we may review all possible combinations of the sentence words' forms. Number of combinations is the product of all posible forms of every word: 2*2*3*1*4 = 48. For Lithuanian it is 6 (pronoun forms) *5 (verb) * 24 (adjective) (no article) * 12 (noun) = 8 640; for Russian it is 6*6*36*12 = 15 552.
                   
            So, the main problem of creating a grammar checker for Lithuanian (or Russian) language is not the word order (it is not so strict as in English) but a large number of versions of sentence for consideration. Another problem is how to identify for every word its right place and its right form, in any sentence.
            As far as I know, no software was created for Lithuanian (and Russian) language, for the complete grammar check, i.e. with the check of agreement/concord and sintax.

     

Log in to post a comment.