Many adverbs in Russian language have comparative forms. Few adverbs also have superlative forms:
Comparative can have alternative forms:
сильнее - сильней - посильней - посильнее
The prefix -по slightly changes the meaning of the comparative adverb by decreasing the 'strength' of the adverb. So, 'двигайся быстрее ' means 'move faster', whereas 'двигайся побыстрее' means 'move a little bit faster'. In other cases these forms are considered as more polite or informal.
The adverbs in Russian language can be formed from adjectives, verbs and nouns by several ways.
About 33% of adverbs in dictionary are made by adding -o suffix to the adjective stem:
красиво (from красивый), быстро (from быстрый)
Another common way to form an adverb is to use prefix 'по-':
по-крестьянски, по-кошачьи
About 11% of adverbs are formed this way. It is possible to get the list of these adverbs using glob pattern search in grammatical dictionary. Type in the pattern with asterisk:
Then press 'Search' button:
SQL dictionary allows to use common SQL queries to get the statistics. For example, this query to MySQL database:
SELECT sum(IF(ADV.name LIKE 'ПО-%',1,0))/count(*) FROM sg_class C1, sg_entry ADV WHERE C1.name='НАРЕЧИЕ' AND ADV.id_class=C1.id
yields 0.11, that is 11%.
Finally about %2 of adverbs in grammatical dictionary are formed from verbs:
обжигающе from participle обжигающие, verb обжигать
These adverbs must be distincted from adverbial participles:
обжигая from verb обжигать
Part of speech ID for adverbs are as follows. ADVERB_ru stands for adverbs in Russian language. ADV_en stands for English adverbs.
These constants can be use in a variaty of API calls, for example in sol_FindEntry.
There is RuAdvEntry helper class in ORM library. It simpifies the creation of new adverbs in SQL dictionary.
All word entries are mapped to WordEntry class objects by ORM. The following C# sample displays the adverbs with suffix 'ще':
SqlConnection cnx = new SqlConnection(
"Data Source=localhost;"+
"Initial Catalog=solarix;"+
"Integrated Security=True;"+
"MultipleActiveResultSets=true;"
);
cnx.Open();
Solarix.MSSQL_DataAccessLayer dal = new Solarix.MSSQL_DataAccessLayer(cnx);
var adverbs = dict.entries.All().Where( z => (z.name.EndsWith("ще") &&
z.partofspeech.id==SolarixGrammarEngineNET.GrammarEngineAPI.ADVERB_ru) );
foreach( Solarix.WordEntry e in adverbs )
{
Console.WriteLine( "{0} {1}", e.name, e.partofspeech.name );
}
This code applies lambda-function as word entry filter. Word entry enumerator is returned by All() method in Dictionary class. This soluton is less effective than following SQL query:
SELECT E.name FROM sg_class C, sg_entry E WHERE C.name='НАРЕЧИЕ' AND E.id_class=C.id AND E.name LIKE '%ще'
Сравнительная и превосходная формы для наречий
© Mental Computing 2009
|
|
changed 05-Feb-12 |