![]() |
Tietokoneavusteinen kääntäminen |
Copyright Veikko J. Pyhtilä, 6.6.2025, Finland
Home
Suomi-Vosa tietokenavusteiseen kielenkääntämiseen
Muokattavaksi Suomi-Vosa noin 63000 riviä kielenkääntöä varten Voit laittaa taulukkolaskentaan: Korjaa ja lisää prepositioita, pronomineja, päätteitä ja joihinkin yhdyssanoihin lisää puuttuvat loput vosaksi. Joitakin ohjelmallisesti tehtyjä oletuskäännöksiä vosaksi on korjattava oikeiksi. Siirrä sitten tietokantaan kenttiin Suomi, Prepositio, Pronimini, Vosa.
Siirrä edellisen linkin sivulta tiedot tietokantaan kenttiin finnish, (prepositio, pronomini), vosa. Käytä UTF-8 merkkikoodausta sekä teksti- että tietokannan tiedoissa, että ääkköset tulevat oikein.
Python editoreita ja tietokantoja on saatavissa netistä ilmaiseksi.
Voit hakea suomen sanoja yleisimmillä taivutusmuodoillakin seuraavalla Python koodilla.
Kun olet ajanut Python ohjelman, niin voit kopioida Pythonin tulostusikkunasta (näppäimillä ctrl-a käänteisvalaisee, ctrl-c kopioi, ctrl-v liittää asiakirjaasi) tulokset asiakirjaasi, jossa voit muokata ja korjata käännöstä rinnatusten. Tulostukseen tulee sanoille joskus useita käännösvaihtoehtoja, joista voi valita sopivimmat asiayhteyteen. Prepositioita ja pronimineja ym. pitää lisätä tai muuttaa. Tässä on vasta alkua, kun tietokantaan saadaan enemmän aineistoa, käännöksistä tulee parempia. Tietokannassa on joitakin virheitä, joita korjaillaan ajan myötä. Kun tulevaisuudessa saadaan luotua kielimalli ja riittävästi suomi-vosa lausepareja, voisi kääntäjän tehdä tekoälylläkin. Tässä on hyvin yksinkertainen konekääntäjä. Kun Vosa on yksiselitteinen, kääntäminen näinkin olisi helppoa, jos kaikki luonnolliset kielet olisivat periaateella yksi sana / yksi merkitys ja ei olisi epäsäännöllisiä taivutusmuotoja, joissa vielä sanavartalokin muuttuu.
Muuta seuraavssa koodissa tiedostojen nimet ja hakupolut käyttämiisi.
# print("KÄÄNNÖS SUOMESTA VOSAKSI avustamaan manuaalista käännöstä.")
# Veikko J. Pyhtilä, 6.6.2025, Finland
# Import module
import sqlite3
global onVosa
global haku
conn = sqlite3.connect('D:\\vosmu/finvosa')
cur = conn.cursor()
with (open("D:\\vosmu/Suomi.txt", "r",encoding='UTF-8') as file):
# reading each line
for line in file:
# reading each word
haku = ""
for word in line.split():
haku = ""
print("\t" + word)
haku = word.lower()
mrk = haku[-1]
if (mrk == ".") or (mrk == ",") or (mrk == "?") \
or (mrk == "!") or (mrk == ":") or (mrk == '\r'):
haku = haku[:(len(haku) - 1)]
onVosa = False
cur.execute("SELECT DISTINCT vosa FROM finmuvos\
WHERE finnish LIKE ? ORDER BY vosa", [haku])
tulos = (cur.fetchall())
if len(tulos) == 0:
onVosa = False
else:
onVosa = True
for row in tulos:
print(' '.join(row))
haku = haku[:(len(haku) - 1)] + '%'
while onVosa == False and (len(haku) // 2 > 2):
cur.execute("SELECT DISTINCT vosa FROM finmuvos \
WHERE finnish LIKE ? ORDER BY vosa", [haku])
tulos = (cur.fetchall())
if len(tulos) == 0:
onVosa = False
else:
onVosa = True
for row in tulos:
print(' '.join(row))
haku = haku[:(len(haku) - 2) ] +'%'
file.close()
conn.close()
No comments:
Post a Comment
Write comments, evaluations and suggestions for improvement about Vosa! Thank You!