Pokazywanie postów oznaczonych etykietą Tabita. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Tabita. Pokaż wszystkie posty

poniedziałek, 16 listopada 2009

CORPORA - polski słownik rozpoznawania mowy

Podczas próby zorientowania się (i napisania) własnego programu rozpoznawania mowy pojawia się pewien zasadniczy problem jeżeli chcemy tego dokonać dla naszego ojczystego języka. Otóż nie ma ogólnodostępnego słownika analogicznego do angielskiego słownika BEEP (dośc powszechnie używanego przynajmniej w przykładach). Po (naprawdę) długich godzinach spędzonych w Internecie okazało się że jest prototyp takiego słownika, który jest rozwijany. Niestety, przeciętny śmiertelnik nie ma dostępu do tego słownika. Zajmuje się nim głównie pracownik naukowy przy Politechnice Poznańskiej - pan Grocholewski.

W Internecie Można znaleźć jeden z jego artykułów (po polsku nawet) odnośnie rozpoznawania mowy i słownika CORPORA. jest to jednak niejako tylko pewien wstęp teoretyczny. Udało mi się uzyskać dostęp do jeszcze dwóch artykułów tego samego autora. Poniżej chciałam napisać, co udało mi się z nich dowedzieć.

Baza danych słów dla polskich difonów

Język Polski jest jednym z nielicznych języków, który nie może się poszczycić posiadaniem takiej bazy. W chwili obecnej rozwijają się jednak dwa projekty:

  1. CORPORA
  2. COPERNICUS - Baza ta zawiera 10 cyfr, 100 liczb, 40 krótkich dialogów zawierających kilka tematycznie powiązanych zdań oraz około 35 dodatkowych zdań. Sygnał mowy jest zdigitalizowany (cyfrowy) z częstotliwością próbkowania 20 kHz i 16 bitową rozdzielczością.

W dalszej części będziemy rozważać jedynie CORPORę.

Projekt CORPORy:

materiał mowy został tak dobrany aby znajdowały się tam polskie litery, cyfry i 200 pierwszych imion wypowiedzianych w izolacji oraz aby zawrzeć minimum 900 najczęściej występujących polskich difonów.

Warunki nagrywania:

Nagrania zostały dokonane w wielu miejscach w Polsce przy tych samych warunkach środowiskowych (mam na myśli komputer i sprzęt). Sygnał został nagrany z częstotliwością próbkowania 16 kHz i 13 bitową rozdzielczością. Sygnał został znormalizowany i tylko 12 starszych bitów brano pod uwagę. Aby zminimalizować ilość błędów proces nagrywania był kontrolowany przez specjalne oprogramowanie TIMREC (jego zadaniem było np podpowiadanie że osoba za cicho mówi). Oprócz tego przedsięwzięcie było nadzorowane przez wykwalifikowanego fonetyka. Łącznie CORPORA zawiera prawie 180.000 polskich difonów.

Segmentacja i etykietowanie:

Zostało zadecydowane aby segmentacja i etykietowane nastąpiły według automatycznej fonetycznej transkrypcji, gdyż ręczny proces jest bardzo żmudny i długotrwały (choć prawdopodobnie bardziej skuteczny). Osobno było etykietowanie dla kobiet, osobno dla mężczyzn. Użyto do tego techniki dynamicznego programowania (program ten nazywał się LABELER ).
Akustyczna analiza sygnału była dokonywana co 5 ms i użyto w tym celu 15 ms okna Hamminga. Każda ramka reprezentowała 100-punktowy rejestr spektrogramu bazujący na 240-punktowym WFTA(Winograd Fourier Transform Algoithm).
Takie badanie uzyskało dość dobre wyniki.


PODSUMOWANIE:

Automatyczne przypisy stworzono na podstawie wybranych nagrań mężczyzn i kobiet a następnie ręcznie przedstawione przez profesjonalnego akustyka. Największym problemem było to, że inaczej fonetycznie brzmi słowo w całości a inaczej podzielone na sylaby. W takich wypadkach etykietowano część słowa niezależnie jak byłaby ona słyszana w całości słowa. Drugim problemem było to, że w przypadku gdy występowały pewne złożenia głosek (Spółgłoski zwarte) spółgłoska z tego złożenia była umieszczana w losowym momencie ciszy.

piątek, 6 listopada 2009

ATK - API dla HTK - wstęp

Aby korzystać z HTK w miarę prosty sposób, warto zastosować ATK - czyli API dla HTK.
Jest to niejako opakowaniem do poszczególnych podstawowych źródeł HTK: gramatyki(AHTK), n-gramów(AGram), słowników(ADict) i modeli akustycznych(AHmms). Moduły ARMan i AResource zapewniają zarządzanie.
Natomiast moduły APacket, ABuffer, ATree i AComponent zapewniają podstawowe typy do tworzenia komponentów i łączeniu ich w całość.

Więcej...


niedziela, 1 listopada 2009

htk - tutorial. Część 1

Gdy działa już przykład czas najwyższy stworzyć coś własnego. Bazując na książce udostępnionej na głównej stronie o htk chciałabym opisać kolejne kroki. Zwłaszcza, że w języku polskim trudno cokolwiek znaleźć na ten temat. Przykład który tu opisuję to głosowy interfejs do wybierania numeru.

Więcej...


sobota, 31 października 2009

htk - demo

Ostatnio było o zainstalowaniu samego htk. Teraz napiszę jak uruchomić przykład podany na stronie. Bo nawet to robi się jakoś inaczej niż zwykłe uruchomienie demo :).
zanim jednak zabierzemy się za uruchamianie przykładu należy ściagnąć sobie (najlepiej najnowszą) wersję Perla na Windowsy. (pobrać można np. stąd www.perl.org).

Więcej...



niedziela, 25 października 2009

rozpoznawanie mowy

transkrypcja. każdy socjolog wie, jak ciężkie zadanie to jest. a i co poniektórzy studenci i zapaleńcy ile czasu trzeba poświęcić, aby zapisać to co ktoś po prostu mówił. Stąd moje zainteresowanie rozpoznawaniem mowy (i zapisywaniem).

Więcej...


czwartek, 22 października 2009

Zasady graficznego projektowania, cz. 1

Po angielsku tak zgrabnie sie to nazywa: Principles of graphic design. Co to w ogóle jest ten graphic design? W różnych źródłach są inne definicje. Ale ważny jest trzon - jest to sposób wizualnej komunikacji z użytkownikiem. Przydatne zarówno przy web design jak i wszelkiego innego rodzaju projektowaniu wyglądu czegoś :) O tym chciałabym dziś kilka słów powiedzieć.

Więcej...

środa, 14 października 2009

Web usability od strony wizualizacji. Przygotowanie treści


Gdy już znamy cel naszej strony, znamy swoich przyszłych czytelników, ogólny zarys treści i w jaki sposób będziemy umieszczać tekst czas pójść krok do przodu - organizacja przyszłej treści.
Przyjrzyjmy się zatem następującym pojęciom: nawigacja, organizacja, personalność i ograniczenia naszej strony.
Więcej...


wtorek, 13 października 2009

Web usability od strony wizualizacji. Planowanie.

Znamy już podstawy dobierania kolorów, jak pisać, ale to jeszcze za mało, żeby strona fajnie wyglądała. Czas na jedną z ważniejszych działów web designu usability na polski często tumaczone jako funkcjonalnosć strony, czyli jak sprawić aby Internauci sprawnie poruszali się po naszej stronie.
Na temat samego Web usability znajdziecie sporo informacji w Internecie (choć być może sama też kiedyś napiszę jakąś notkę na ten temat). Eksperci w tej dziedzinie zwracają uwagę np. na niepotrzebne ramki, wycinanie niepotrzebnego tekstu oraz unikanie nielinearnego tekstu. Ważne jest jednak także inne podejście - od strony ogólnej estetyki, tzw. wizualizacji (ciekawe czemu kojarzy mi sie to z przedmiotem na studiach: Metody i symulacja systemów :P). O tym chcę pisać tę notkę (i pewnie jeszcze parę kolejnych).
Web design to głównie zadbanie o trzy obszary:
- budowa techniczna strony
- struktura strony
- wizualizacja (jak strona wygląda)

Wiemy, że chcemy stworzyć stronę. Tylko... od czego by tu zacząć? W sumie odpowiedź jest prosta - od planowania :)
Pomyśl co, jak i komu chciałbyś przekazać treść zawartą na stronie. Zadecyduj o celu strony. Przy wyborze treści na stronie warto zwrócić uwagę na fakt, że treść to nie tylko słowa, ale też grafika, muzyka, klimat, interakcje, organizacja strony. Bardzo ważne są te elemnty, gdyż tylko one mogą pomóc, aby nie dochodziło do ewentualnych pomyłek (ile razy zdażyło Wam się źle zrozumieć drugą osobę podczas rozmawiania na chat'cie, gg, czy innym komunikatorze tylko dlatego że nie widziałeś niewerbalnych treści??) w rozumieniu tekstu. W ten sposób odpowiemy sobie na pytanie jak umieścić zawartośc strony (content).
Dalej jak zastanawiamy się nad tym kto jest odbircą naczej witryny warto doprecyzować sobie te pytania pytając o wiek, zaznajomienie z Internetem, (może płeć?), wykształcenie, jak dobrze znają to o czym piszemy, co chcieliby się dowiedzieć. Można także spróbować wczuć się w rolę odbiorcy i zastanowić się czego od tej strony by oczekiwał. W ten sposób łatwiej nam będzie zastanowić się nad dobraniem takiej treści która zadowoli Internautę i sprawi, że będzie korzystał z Twojej strony. To "wczucie się" często jest przedstawiane w postaci scenariuszy. Tworzy się kilka osób (należących do ludzi, którzy naszym zdaniem powinni mieć powód wejścia na naszą stronę), następnie podaje się ich fikcyjne dane i oczekiwania, powód wejścia na stronę i idealne wyjście.
I na koniec zastanawiamy się nad treścią. Pomoże nam to w następnym kroku - czyli co będzie znajdowało się na stronie.
Ważne jest aby nie była to strona o wszystkim dla wszystkich - bo jest to niemożliwe. Im węższa dziedzina i zakres tym lepiej dostosowany do użytkownika.
Przy treści dobrze jest pamiętać, że użytkownicy często mają pewne skojarzenia, które można wykorzystać, np.: kolor zielony - dobrze, czerwony - źle, linki są podkreśone i niebieskie. Dobrym pomysłem jest także wprowadzać sondy, testy, formularze odnośnie naszej strony dla użytkowników. W końcu oni najlepiej wiedzą czego naszej stronie brakuje.

poniedziałek, 12 października 2009

teoria kolorów

Teoria kolorów to zbiór zasad używanych do stworzenia harmonicznej kombinacji kolorów (czyli żeby wszystko pasowało). Do jej wizualizacji wykorzystuje się koło kolorów wynalezione przez... Izaaka Newtona(to dopiero był geniusz).



Klasyczne schematy:
- jeden kolor (monochromatic)
- pewien wycinek koła (analogous), który daje nam przyległe kolory. Jeden (środkowy) jest używany jako główny kolor - reszta służy wzbogaceniu.
- dwa kolory(complementary) - komplementarnie, czyli znajdujące się naprzeciw siebie
- trzy kolory - trójkąt wpisany w koło
- cztery - kwadrat wpisany w koło.

Takie schematy wyróżnia się przy zastosowaniu teorii koła. W przypadku trójkąta i kwadratu wskazanym jest pewien zakres koloru (prawie jak w analogous tylko dużo mniejsze)

Pewna uwaga: koło kolorów nie bierze pod uwage odcieni. To znaczy wg tej teorii jasny zielony z fioletowym pasuje tak jak ciemny zielony z fioletem.

Typografia w Internecie

No cóż, wakacje się skończyły. Czas zabierać się do pracy. Teraz przyszło mi na dokształcanie się w kwestii typografii. Wcześniej nawet nie do końca wiedziałam co to jest (co i dziwne nie jest, bo definicja w Wikipedii porażająca tez nie jest), ale powoli.

Typografia to ogólnie sposób zapisu informacji w taki sposób by był jak najlepiej czytelny. Głównym celem tej dziedziny nauki jest, aby czytelnik na pierwszy rzut oka wręcz wiedział czy ten tekst opłaca mu się czytać czy nie. A jeśli tak to maksymalnie uprzyjemnić mu tę sprawę. Stąd powstały pewne sprawdzone wytyczne jak to robić, aby dobrze się czytało.

Mówi się, że podczas optymalizacji typografii to optymalizacji: usability (funkcjonalność, użyteczność), accessibility(dostępność) i readability(czytelność). Poniżej przedstawię pokrótce najważniejsze z nich.

1. Measure (miara) - czyli ilość znaków w jednej linii. Okazuje się że dla tekstu pisanego jednokolumnowo powinno być 40-80 znaków (razem ze spacjami) w jednej linii. 65 to idealnie.

2. leading - odstęp między kolejnymi wierszami, fachowo: interlinia. Czasem wraz z rozmiarem czcionki nazywana wysokością linii. Dobra reguła to 2-5 pt więcej niż ma czcionka którą piszemy. Przykładowo dla 12 pt dobre będzie 15 lub 16 pt(wysokości).

3. hanging quotes/punctuation - tłumacząc na polski "wiszące cudzysłowia/wypunktowania". A chodzi po prostu o to, żeby wszelkie znaki interpunkcyjne (także wypunktowania) były poza główną kolumną (niejako wystawały poza kolumnę).

4. Widows and Orphans. Widows (nie mylić z Windows!!) to słowo lub linia na końcu lub początku paragrafu. Orphans jest tym samym tylko, że na końcu kolumny. A chodzi o to, aby nie było pojedynczego wyrazu w ostatniej linijce paragrafu (widow) ani pojedynczej linii gdy rozpoczynamy nową kolumnę.

5. Clean rags - to zakończenia kolejnych wierszy w przypadku, gdy tekst nie jest justowany. Ważna rzecz polega na tym, aby pilnować żeby zbytnio nie różniły się między sobą kolejne linijki w paragrafie pod względem długości, bo takie coś wygląda dziwnie:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eleifend mauris vel nibh interdum molestie. Nulla facilisi.
Pellentesque commodo elit imperdiet erat luctus at porttitor lacus luctus. Sed mi massa, gravida vitae faucibus ac,
lacinia ac nunc. Curabitur sagittis varius lacinia. Phasellus iaculis justo non velit vulputate id fermentum neque ultricies.


6. Emphasis (nacisk) - to niepotrzebne podkreślanie wyrazów. Polega to na tym, że w trakcie tekstu zwykłego (jaki ja teraz próbuję stworzyć) umieścimy jakieś WAŻNE SŁOWO w ten właśnie sposób (a niektórzy jeszcze podkreślenie dodają). Wystarczy użyć jeden stopień wyżej podkreślenie a nie wszystko co się da. Na tej stronie możecie znaleźć dokładny opis hierarchii podkreślania słowa: http://www.markboulton.co.uk/

7. rozmiar czcionki - raczej logiczna sprawa. Warto jednak wziąć jeszcze pod uwagę dla kogo ta strona jest kierowana (np. dla osób starszych lepsza byłaby nieco większa czcionka). Zazwyczaj lepiej żeby litery były troszkę za duże niż za małe (patrząc na tendencje dzisiejszego Internetu).

8. traktowanie tekstu jako UI - co to znaczy? To np linki w kolorze niebieskim, zróżnicowanie kolorów na stronie (z rozwagą!!), itp.

9. Warto zwrócić uwagę na np. wyrównanie do siatki, przejrzeć nagłówki, które zostały juz sprawdzone przez społeczność Internetu (Headlines for typography)
Dla zainteresowanych polecam odnośniki na wikipedii (po wpisaniu "typografia") oraz stronę anglojęzyczną webtypography.net

A tak na marginesie. Wiecie skąd tekst Lorem ipsum...? Jest to zwyczajowy tekst używany w Internecie jako okreslenie: "Tu jest jakiś tekst". Jeżeli chcecie wiedzieć historię czy w ogóle coś więcej (tekstu) to odsyłam do Googla :)

sobota, 4 lipca 2009

... i po sesji

No i po egzaminach. Sesja za nami. I muszę przyznać - ta sesja choć wyczerpująca jak każda inna dla mnie była jakaś trochę bardziej szczęśliwa (poza jakimiś wyjątkami). No tak. Tylko są niby wakacje. Ale to nie oznacza koniec zmartwień. No bo w tym roku trzeba jakoś praktyki sobie załatwić. Uch... a łatwe to to nie jest. Zwłaszcza w Szczecinie. Miejmy nadzieję, że coś się uda załatwić.

czwartek, 4 czerwca 2009

Smutna refleksja

Ksiądz Twardowski napisał kiedyś w swoim wierszu: "spieszmy się kochać ludzi, tak szybko odchodzą". Z czasem stało się to zdanie bardzo często używane.
Ostatnio jednak miałam okazję się przekonać, że kochać ludzi to za mało. Brakuje jeszcze, żeby tę miłość okazywać, tak żeby wiedzieli że są dla nas kimś ważnym. Bo potem można tego żałować bardziej, dużo bardziej niż jakby tej osoby się nie kochało wcale. Sprafrazowałabym słowa księdza Twardowskiego: "spieszmy się okazywać ludziom naszą miłość, tak szybko odchodzą".

wtorek, 26 maja 2009

Hello World 2!!

No cóż. Właśnie zostałam współtwórca tego bloga. Zadziwiające uczucie. Jakby zyskać jakąś władzę. No i obrazki. Widzieć swoje zdjęcie w Internecie to tez dziwne uczucie. Zwłaszcza jak pierwszy raz. Ciekawe co tu jeszcze kiedyś będzie :)