Translation software is zeer verfijnd . Om een dergelijk programma te maken, gebruikt top-down parsing . Top -down parsing is wanneer u te maken met het hoogste niveau van een parse tree eerste . Bijvoorbeeld , als je wilde de uitdrukking vertalen , " Es scheint mir fremd , " ( "Het lijkt vreemd voor mij , " ) van Duits naar Engels , zou je willen " scheint mir " te vertalen als " Lijkt me , " in plaats dan "lijkt me . " Top -down parsing hier gaat ineens het vertalen van de hele zin , dat levert " Lijkt me ', terwijl het vertalen van woord-voor - woord opbrengsten " Lijkt me . " Dit bespaart u van het omgaan met ingewikkelde syntactische en semantische analyse . Wat je nodig hebt Python IDLE milieu Toon Meer Aanwijzingen 1 Maak een nieuw bestand met de naam " translator.py " en open het met IDLE . Definieer een functie met de naam "vertalen " door te typen def translate ( ) . Druk op "Enter " en IDLE automatisch streepje de volgende regel voor u Type 2 het volgende op de volgende regel : . ( " . Typ de zin die u wilt vertalen aub " ) rawText = raw_input dit definieert een variabele genaamd " rawText " dat de zin te vertalen slaat . Neem aan dat types de gebruiker de tekst ' Es scheint mir fremd . " De inhoud van " rawText " is , dan is , een string met de woorden " Es scheint mir fremd . " 3 Gebruik de String.Replace operatie te vertalen . Bijvoorbeeld , " es " is Duits voor " het, " zo typt u het volgende : rawText = rawtext.replace ( " es " , "het" ) . U moet de meest voorkomende Duitse woorden te vertalen op deze manier . Voer een nieuwe regel en type , Weet rawText = rawtext.replace ( " es . ", " Het." ) Niet gebruiken een bewerking van de vorm , rawText = rawtext.replace ( " es " , "het" ) , omdat dit zou , bijvoorbeeld , veranderen " besagen " naar " bitagen ", die u niet wilt . Herhaal dit proces voor elk woord dat u wilt vertalen . 4 Gebruik de String.Replace operatie weer naar zinnen te vertalen . Zorg ervoor dat de functies die zinnen vervangen boven de functies die woorden te vervangen gezet , zodat de zinnen worden eerst vertaald , waardoor een meer grammaticaal correcte vertaling. Bijvoorbeeld , zou je rawText = rawtext.replace ( " zo scheint es mir " , " dus het lijkt mij ") boven rawText = rawtext.replace ( " es " , "het " ) , om de zin te vertalen voordat de afzonderlijke woorden . Dit is top-down parsing in actie .
|