Курсовая работа: Распознавание слов естественного языка с использованием нейросетей
//--------------------------------------------------------------------
string[] pril = {"ий","ый","ая","яя","го","ую","ое","их","ых","ым"};//массивокончанийприлагательных
string[] glagol = {"ит","ат","ят","ут","ют","ул","ял","ал","ли","ла","ег","ел","сь","ыл","ил"};//глаголов
string[] prich = {"вший","шими","вшая","вшем","вшие","ящий","ящая","ящие","щими","ющий","ющая","ющие","ущий","ущая","ущие","ащий","ащая","ащие","шего","щего"};//окончанийисуффиксовпричастий
string okonchanie= (sLetter[sLetter.Length - 2].ToString() + sLetter[sLetter.Length - 1].ToString());
if (Array.IndexOf(pril,okonchanie)!=-1)//если окончание слова содержится в массиве окончаний прилагательных переходим к проверке суффикса
{string ok_i_suff = sLetter[sLetter.Length - 4].ToString() + sLetter[sLetter.Length - 3].ToString() + okonchanie;
if (Array.IndexOf(prich,ok_i_suff)!= -1)//ищем в массиве суффиксов и окончаний причастий
{ return "причастие"; //если есть – результат причастие }
return "прилагательное"; //если нет - прилагательное }
else
…
if (String.Compare(okonchanie, "ом") == 0)//еслиокончание -ом
{ string res= GetNeuroResult(sLetter,"-ом",N_HID,beta,m,Epoch,flag_om);//распознаемсловонейросетью
flag_om = true;//при повторном поступлении слова на –ом нейросеть повторно обкчаться не будет
return res; }
else
//Аналогично для –ем, -им, -ой, -ие, -ми.
….}
Метод Scaning логически можно разделить на 3 блока:
- поиск слова в хеш-таблицах;
- идентификация слова по окончанию и определение его типа;
- идентификация слова по окончанию и проведение углубленного анализа с помощью нейронной сети.
Во втором блоке подразумевается определение типа слова по окончанию (последние две буквы) при помощи условных операторов:
- при помощи метода IndexOf класса Array определяется наличие в соответствующем массиве (массиве окончаний глаголов - glagol, прилагательных - pril) данного окончания;
- если это окончание прилагательного или -ся то критерий поиска изменяется до идентификации по паре суффикс-окончание: определяется наличие данной пары в массиве prich (причастие);
- после проведения вышеуказанных операций функция возвращает тип лексемы: глагол, прилагательное или причастие;
- в случае, если окончание не найдено ни в одном из массивов, то тип лексемы определяется как существительное;
- если слово оканчивается на -ие, -ми, -ем, -им, -ом то переходим к третьему блоку.