"Słownik" z imionami przy rozpoznawaniu mowy

0

Cześć!
Mam problem natury estetycznej. Jak wiecie w .NET 4.5.1 wprowadzone zostały klasy do rozpoznawania mowy. Problem w tym, że jest to nieco daremne jeśli nie zaimplementujemy w programie małego słownika, z którego aplikacja będzie sobie "na boku" korzystać. Przykładowo, jeśli tego nie zrobimy i powiemy "do komputera" (po angielsku bo po polsku oczywiście nie rozpozna...):
"Hello" to na ekranie konsoli zostanie nam wypisane (autentyczny przypadek): "Pain". No jak widać troszkę daremnie to wypada. Z pomocą przychodzi nam klasa Choices.

Choices colorChoice = new Choices(new string[] {"red", "green", "blue"}); 

Dzięki takiej operacji program rozpozna nasze gadanie i faktycznie jeśli powiemy "red" zostanie nam to wyświetlone.

Jedną z funkcji w moim programie byłoby przywitanie się a w zasadzie przedstawienie się czyli podanie imiea: "My name is..." i teraz jeśli powiem np. Mateusz to ostatecznie na ekranie powitalnym może zostać wyświetlone "Hello, tiger how are you?".
Realną opcją jest tutaj zastosowanie wcześniej wspomnianego "słownika" i wpisanie tam kilku imion: "Mateusz, Monika, Adam, Marek..." tylko problem jest taki: imion jest wiele (Amerykę odkryłem!) i jak wpiszę ich do takiego słownika przynajmniej z 20 to kod będzie wyglądał.. no mało estetycznie a ktoś się przedstawi i okaże się, że ma na imię tak, jak miałem zamiar wpisać na 21 pozycji czyli program się wysypie albo ten ktoś będzie uważany za tygrysa.

Jak rozwiązać ten problem? Po pierwsze skąd wziąć pełną listę imion a po drugie jak taką w programie zaimplementować? Mogę to zatrzasnąć w #region ale co z tego? Jak z wydajnością jakby miał przeszukiwać powiedzmy.. 150 pozycji?

0

Imiona można wziąć np. stąd: http://pl.wiktionary.org/wiki/Indeks:Polski_-_Imiona
Zapisać do pliku, i w programie odczytać.

Jak z wydajnością jakby miał przeszukiwać powiedzmy.. 150 pozycji?

150 czy 150 tysięcy?

0

@somekind tak, tysięcy :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1