2011-08-16 10 views
13

Interesuje mnie pisanie skryptu PHP (proszę o sugestie językowe), które będzie transliterować zdanie lub słowo napisane w języku angielskim (phoenetically) do skryptu innego języka. Ponieważ patrzę na angielski napisany fetycznie (tj. Przez ucho): musiałbym poradzić sobie z wariantowymi pisowniami tego samego słowa.Inteligentna transliteracja w PHP

Zakłada się, że nie istnieje norma dla latynizacji (na przykład w Chinach, masz Wade uproszczony, etc.)

Czy ktoś ma wszelkie wskazówki, gdzie mogę zacząć?

EDYCJA: Robię to wyłącznie w celach edukacyjnych i początkowo miałem wrażenie, że w celu ustalenia związku między wariantami pisowni (które można znaleźć w korpusie wiadomości IM, posty na Facebooku napisane w skolaryzowana forma języka), potrzebujesz jakiegoś narzędzia do uczenia maszynowego. Chciałbym jednak wiedzieć, czy jestem na dobrej drodze, i chciałbym pomóc w ustaleniu, co dalej powinienem sprawdzić, aby to zadziałało (na przykład: na jakie narzędzie do uczenia maszynowego powinienem zaglądać?) .

+0

bez zbytniego mięsisty - pisownią wyrazu obcego (zwykle napisane w jego własnego scenariusza), takie jak " eheree "versus" ehery "lub" ei "vs" ey ". Rozumiem, że to niewiele: oczekiwałem rozwiązania, które wymagałoby nieco analizy statystycznej nad danym korpusem (np. Wiadomościami IM lub aktualizacjami Facebooka zapisanymi w zromanizowanej formie języka). – arkate

Odpowiedz

2

Wiem z japońskim przynajmniej, że masz określoną liczbę kombinacji liter.

Tak, można zrobić coś takiego stworzyć tablicę pasujący jak ten

array(
    'oo' => 'おう', 
    'oh' => 'おう', 
    'ou' => 'おう' 
) 

Oczywiście, kontynuując dalej, i upewniając się, że nie pasują do siebie „su”, gdy powinno być „tsu”.

Oczywiście byłby to tylko punkt wyjścia.

uczenia maszynowego jest prawdopodobnie najbardziej praktyczny z chińskim ... ale tu jest szorstki początek hiragany: https://gist.github.com/1154969

+0

Szukałem czegoś podobnego.Jedyne, czego tu brakuje, to sposób na wygenerowanie tych skojarzeń (być może za pomocą technik uczenia maszynowego). – arkate

3

Spróbuj Transliteration PHP Extension przez Derick Rethans:

To rozszerzenie pozwala na tekst w transliteracji niełacińskie znaków (takich jak chiński, cyrylicy, greki etc) do znaków Łacińskiej. Oprócz transliteracji, rozszerzenie zawiera także filtry do dużych i małych liter, łacińskich, cyrylicy i greek oraz wykonywanie specjalnych transliteracji takich jak konwersja ligatur, takich jak z norweskiego "æ" na "ae" oraz normalizowanie interpunkcji i odstępów.

Wygląda na to, że zaczął już dokładnie to, czego szukasz! (chyba, że ​​chcesz zajmować się językiem angielskim-> łacińskim, ale przynajmniej dotyczy to skryptów innych języków.))

+0

To dobre narzędzie i dzięki za wskazanie mi tego. Jednak bardziej interesowało mnie zastanawianie się, jak samemu zbudować (cel wyłącznie edukacyjny). Przepraszam, jeśli nie było to jasne w pytaniu :( – arkate

+2

Proponuję pobrać tę bibliotekę i spojrzeć na ich kod. Najlepszym sposobem, aby się uczyć (dla mnie): weź coś, co działa, rozbij go, wymyśl, jak to naprawić. Powtórz, –