簡體   English   中英

簡單語言翻譯

[英]Simple language translator

因此,我和我的朋友們正在制作幾種語言來娛樂,我認為這將是練習python並開發翻譯器的好機會。 語言非常簡單,所以在這一點上我在想,我可以制作單獨的詞典來容納所有不同的詞性,然后將它們綁在一起成為一個字符串。 最初,我從代詞字典和動詞字典開始,只是為了降低翻譯部分。 這是我現在所擁有的,盡管沒有用

pro = {"I":"ii"}
verb = {"am":"esti"}
noun = {"theatre":"trieto"}
adj = {"red":"reada"}

sentence = input("translate: \n")
for word in sentence.split(" "):
    print(pro.get(word, word)+ verb.get(word, word))

我想制作一個主要將單詞插入字符串中特定詞性的翻譯器。

如果有一種完全不同的方式來做,那會讓我更容易。 同樣,我也很難為此學習nltk,因此,如果您知道如何為此使用nltk,那么我將不勝感激地學習如何做。

如果您希望將每個單詞都視為語音的任何部分,則無需為每個語音部分使用單獨的詞典,只需一個大詞典。

因此,讓我們合並它們:

translate = {}
for d in pro, verb, noun, adj:
    translate.update(d)

……現在,您要做的只是微不足道的:

for word in sentence.split(" "):
    print(translate.get(word, word))

另一方面,如果您有某種邏輯,例如根據位置來選擇詞性,則需要編寫該邏輯。

例如,第一個單詞可能始終是代詞,然后是動詞,然后是0或多個形容詞,然后是名詞。 (對於英語來說,這是一個很愚蠢的語法,但這只是入門示例。)

p, v, *aa, n = sentence.split()
print(pro.get(p, p))
print(verb.get(v, v))
for a in aa:
    print(adj.get(a, a))
print(noun.get(n, n))

首先,您只需檢查單詞是否出現在每個詞典中,然后打印翻譯(如果有)。

pro = {"I":"ii"}
verb = {"am":"esti"}
noun = {"theatre":"trieto"}
adj = {"red":"reada"}

sentence = input("translate: \n")
for word in sentence.split(" "):
    if word in pro:
        print(pro[word] + " ")
    elif word in verb:
        print(verb[word] + " ")
    elif word in noun:
        print(noun[word] + " ")
    elif word in adj:
        print(adj[word] + " ")
    else:
        print(word + " ")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM