на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Распознавание слов естественного языка с использованием нейросетей
p align="left">ipl[i].w = new double[MAX_INP]; // {весовые коэффициенты}

ipl[i].change = new double[MAX_INP];

}

for (int i = 0; i < MAX_HID; i++)

{

hl[i].w = new double[MAX_INP]; // {весовые коэффициенты}

hl[i].change = new double[MAX_INP];

}

for (int i = 0; i < MAX_OUT; i++)

{

ol[i].w = new double[MAX_HID]; // {весовые коэффициенты}

ol[i].change = new double[MAX_HID];

}

if (File.Exists(filename + "ip.txt") == true && File.Exists(filename + "ol.txt") == true && File.Exists(filename + "hl.txt") == true)

{

StreamReader streamreader = new StreamReader(filename + "ip.txt");

for (int i = 0; i < ipl.Length; i++)

{

ipl[i].a = double.Parse(streamreader.ReadLine());

ipl[i].threshold = double.Parse(streamreader.ReadLine());

for (int j = 0; j < ipl[i].w.Length; j++)

{

ipl[i].w[j] = double.Parse(streamreader.ReadLine());

}

}

streamreader.Close();

streamreader = new StreamReader(filename + "ol.txt");

for (int i = 0; i < ol.Length; i++)

{

ol[i].a = double.Parse(streamreader.ReadLine());

ol[i].threshold = double.Parse(streamreader.ReadLine());

for (int j = 0; j < ol[i].w.Length; j++)

{

ol[i].w[j] = double.Parse(streamreader.ReadLine());

}

}

streamreader.Close();

streamreader = new StreamReader(filename + "hl.txt");

for (int i = 0; i < hl.Length; i++)

{

hl[i].a = double.Parse(streamreader.ReadLine());

hl[i].threshold = double.Parse(streamreader.ReadLine());

for (int j = 0; j < hl[i].w.Length; j++)

{

hl[i].w[j] = double.Parse(streamreader.ReadLine());

}

}

streamreader.Close();

}

else

{

File.Create(filename + "ip.txt");

File.Create(filename + "ol.txt");

File.Create(filename + "hl.txt");

}

}

//-------------------------------------------------------------

private void AddWeightsToFile()

{

StreamWriter streamwriter = new StreamWriter(filename + "ip.txt");

for (int i = 0; i < ipl.Length; i++)

{

streamwriter.WriteLine(ipl[i].a.ToString());

streamwriter.WriteLine(ipl[i].threshold.ToString());

for (int j = 0; j < ipl[i].w.Length; j++)

{

streamwriter.WriteLine(ipl[i].w[j].ToString());

streamwriter.Flush();

}

streamwriter.Flush();

}

streamwriter.Close();

streamwriter = new StreamWriter(filename + "hl.txt");

for (int i = 0; i < hl.Length; i++)

{

streamwriter.WriteLine(hl[i].a.ToString());

streamwriter.WriteLine(hl[i].threshold.ToString());

for (int j = 0; j < hl[i].w.Length; j++)

{

streamwriter.WriteLine(hl[i].w[j].ToString());

streamwriter.Flush();

}

streamwriter.Flush();

}

streamwriter.Close();

streamwriter = new StreamWriter(filename + "ol.txt");

for (int i = 0; i < ol.Length; i++)

{

streamwriter.WriteLine(ol[i].a.ToString());

streamwriter.WriteLine(ol[i].threshold.ToString());

for (int j = 0; j < ol[i].w.Length; j++)

{

streamwriter.WriteLine(ol[i].w[j].ToString());

streamwriter.Flush();

}

streamwriter.Flush();

}

streamwriter.Close();

}

private void blank_changes()

{

for (int j = 0; j < MAX_INP; j++)

{

for (int i = 0; i < MAX_INP; i++)

{ ipl[j].change[i] = 0; }

ipl[j].t_change = 0;

}

for (int j = 0; j < MAX_HID; j++)

{

for (int i = 0; i < MAX_INP; i++)

{ hl[j].change[i] = 0; }

hl[j].t_change = 0;

}

for (int j = 0; j < MAX_OUT; j++)

{

for (int i = 0; i < MAX_HID; i++)

{ ol[j].change[i] = 0; }

ol[j].t_change = 0;

}

}

public void train_the_network()

{

blank_changes(); // {Очистка предыдущих значений changes}

for (int loop = 0; loop < num_cycles; loop++)

{

for (int pat = 0; pat < MAX_PAT; pat++)

{

for (int i = 0; i < MAX_INP; i++) //{Копирование входного образа}

{ test_pat[i] = INP_PATTERNS[pat, i]; } //{в массив 'test_pat' }

for (int i = 0; i < MAX_OUT; i++) //{Копирование выходного образа}

{ desired[i] = OUT_PATTERNS[pat, i]; } //{ в массив'desired' }

run_the_network(); //{Определение выходов сети}

back_propagate();

}

}

AddWeightsToFile();

}

}

Приложение Б. Листинг класса Analization

public class Analization

{

List<Results> results = new List<Results>();

public static void AddToFile(string sLetter, string sFile)

{

FileStream filestream = File.Open(sFile + ".txt", FileMode.Append, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

streamwriter.WriteLine(sLetter);

streamwriter.Close();

filestream.Close();

}

private void AddEtalonLetter()

{

string[] im = { "смотрим@", "носим@", "ходим@", "бродим@", "катим@", "синим#", "большим#", "тугим#", "крайним#" };

if (File.Exists("-им.txt") == false)

{

FileStream filestream = File.Open("-им.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < im.Length; i++)

{

streamwriter.WriteLine(im[i]);

}

streamwriter.Close();

filestream.Close();

}

string[] om = { "столом@", "стулом@", "ковром@", "городом@", "селом@", "красном#", "туманном#", "тяжелом#", "легком#" };

if (File.Exists("-ом.txt") == false)

{

FileStream filestream = File.Open("-ом.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < om.Length; i++)

{

streamwriter.WriteLine(om[i]);

}

streamwriter.Close();

filestream.Close();

}

string[] oy = { "ручкой@", "краской@", "бумагой@", "оградой@", "каймой@", "большой#", "небольшой#", "тугой#", "малой#" };

if (File.Exists("-ой.txt") == false)

{

FileStream filestream = File.Open("-ой.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < oy.Length; i++)

{

streamwriter.WriteLine(oy[i]);

}

streamwriter.Close();

filestream.Close();

}

string[] em = { "кидаем@", "бросаем@", "стережем@", "бережем@", "блюдем@", "гребнем#", "камнем#", "ставнем#", "гравием#" };

if (File.Exists("-ем.txt") == false)

{

FileStream filestream = File.Open("-ем.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < em.Length; i++)

{

streamwriter.WriteLine(em[i]);

}

streamwriter.Close();

filestream.Close();

}

string[] ie = { "большие@", "синие@", "маленькие@", "хорошие@", "плохие@", "хождение#", "мероприятие#", "становление#", "украшение#" };

if (File.Exists("-ие.txt") == false)

{

FileStream filestream = File.Open("-ие.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < ie.Length; i++)

{

streamwriter.WriteLine(ie[i]);

}

streamwriter.Close();

filestream.Close();

}

string[] mi = { "красными@", "зелеными@", "хорошими@", "плохими@", "трудными@", "стульями#", "столами#", "ставнями#", "карандашами#" };

if (File.Exists("-ми.txt") == false)

{

FileStream filestream = File.Open("-ми.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter streamwriter = new StreamWriter(filestream);

for (int i = 0; i < mi.Length; i++)

{

streamwriter.WriteLine(mi[i]);

}

streamwriter.Close();

filestream.Close();

}

}

public string BigToSmall(string letter)

{

switch (letter)

{

case "А": return "а";

case "Б": return "б";

case "В": return "в";

case "Г": return "г";

case "Д": return "д";

case "Е": return "е";

case "Ё": return "ё";

case "Ж": return "ж";

case "З": return "з";

case "И": return "и";

case "Й": return "й";

case "К": return "к";

case "Л": return "л";

case "М": return "м";

case "Н": return "н";

case "О": return "о";

case "П": return "п";

case "Р": return "р";

case "С": return "с";

case "Т": return "т";

case "У": return "у";

case "Ф": return "ф";

case "Х": return "х";

case "Ц": return "ц";

case "Ч": return "ч";

case "Ш": return "ш";

case "Щ": return "щ";

case "Ъ": return "ъ";

case "Ы": return "ы";

case "Ь": return "ь";

case "Э": return "э";

case "Ю": return "ю";

case "Я": return "я";

}

return "ё";

}

public Analization(string sText, int N_HID, double beta, double m, int Epoch, bool flag)

{

AddEtalonLetter();

Results res;

string sLetter = "";

for (int i = 0; i < sText.Length; i++)

{

if (sText[i] == ' ' || sText[i] == '.' || sText[i] == ',' || sText[i] == '!' || sText[i] == '?' || sText[i] == '-' || sText[i] == ':' || sText[i] == ';')

{

if (sLetter == "")

{

goto k;

}

if ((Char.ConvertToUtf32(sLetter, 0) >= 1040 && Char.ConvertToUtf32(sLetter, 0) <= 1071))

{

if (i - sLetter.Length + 1 == 1)

{

string ch = BigToSmall(sLetter[0].ToString());

sLetter = ch + sLetter.Substring(1, sLetter.Length - 1);

goto m;

}

else

if (sText[i - sLetter.Length - 1] == ' ' && sText[i - sLetter.Length - 2] == '.')

{

string ch = BigToSmall(sLetter[0].ToString());

sLetter = ch + sLetter.Substring(1, sLetter.Length - 1);

goto m;

}

res.Class = "существительное";

Страницы: 1, 2, 3, 4, 5, 6, 7



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.