Als ich bei Amazon nach dem suchte, was ich wollte, hatte ich das Gefühl, dass sich das Niveau der japanischen Erklärungen für verdächtige Produkte in letzter Zeit verbessert hatte, und ich war beeindruckt, dass ich vom Lernen begeistert war, obwohl Japanisch schwierig war. Also beschloss ich, ein Programm zu machen, um Japanisch zu schwächen.
Ich habe folgendes verwendet.
Ich habe die folgenden japanischen Muster festgelegt, nach denen Ausländer wahrscheinlich Fehler machen oder subtile Unterschiede in den Nuancen nicht beurteilen können.
- Falscher Assistent
- Schreiben Sie den Teil, der in der Vergangenheit vorliegen soll, in die Gegenwart
- Schreiben Sie ein Wort in ein anderes Synonym
Alles fühlt sich seltsam an. Hier sind die Bedingungen, unter denen Fehler in Hilfswörtern und Auswahlfehler auftreten, wie folgt.
・ Gilt nur, wenn der Teil des vorherigen Wortes "Substantiv" ist. ・ Das Fehlermuster ist wie folgt. "" Ist "<=>" ist "" und "<=>" von "" bis "<=>"
Der Code sieht so aus.
def mistake_ppp(ppp):
substitute_ppp = ppp
mistake_set = np.array([["Aber", "Ist"],["damit", "Zu"]["Von", "Als"]])
target_pattern = mistake_set[np.any(mistake_set == ppp, axis = 1)]
if len(target_pattern) > 0:
the_other = target_pattern[np.where(target_pattern != ppp)]
substitute_ppp = the_other[0]
return substitute_ppp
Wenn ich einen langen Satz auf Englisch schreibe, vergesse ich manchmal, das Zeitsystem in der zweiten Hälfte anzupassen, und ich denke, es ist das gleiche Gefühl.
Die Bedingungen und Verarbeitungsdetails für diesen Fehler sind wie folgt.
・ Wenn das Hilfsverb "ta" erscheint, ersetzen Sie das vorhergehende Wort durch das aktuelle Formular.
Der Code (Auszug) sieht so aus.
elif pos == "Hilfsverb" and word == "Ta":
#Ersetzen Sie das vorherige Wort durch das aktuelle Formular
word_list[word_idx - 1] = basic_list[word_idx - 1]
xfmd_basic = basic
xfmd_word = ""
Es fühlt sich an, als hätte ich eine Liste der ursprünglichen Wörter (word_list) und ihrer Standardliste (basic_list) gespeichert. Der Rest wird entfernt, indem das Hilfsverb "ta" durch ein leeres Zeichen ersetzt wird.
Die Bedingungen für diese Fehlerbehandlung sind wie folgt.
・ Das Konvertierungsziel sind nur Verben, Adjektive und Nomenklaturen. ・ Das Verb "to" wird nicht konvertiert. ・ Synonyme von Synonymen beziehen sich auf solche mit demselben Teil und derselben Grundform wie das Original und dürfen nur auf Japanisch sein.
Darüber hinaus ist die spezifische Verarbeitung wie folgt.
- Verwenden Sie WordNet, um eine Liste der Synonyme für das Zielwort abzurufen
- Wählen Sie ein Synonym aus der Liste der Synonyme
- Konvertieren Sie das Verwendungsformular in das gleiche wie das ursprüngliche Wort und ersetzen Sie es durch das ursprüngliche Wort
Für WordNet habe ich * japanisches Wordnet und englisches WordNet in einer sqlite3-Datenbank * von hier heruntergeladen und verwendet.
Der Code für 2 sieht so aus.
def choose_synonym(word):
synonym = word
pos, basic = analyze_pos(word)
synonyms = search_synonyms(word)
idxs = np.arange(0, len(synonyms), 1)
np.random.shuffle(idxs)
for idx in idxs:
synonym_pos, synonym_basic = analyze_pos(synonyms[idx])
if synonym_pos == pos and synonym_basic == basic:
synonym = synonyms[idx]
break
return synonym
Der Verarbeitungsinhalt und der Code von `search_synonyms (word)`
, der 1 ausführt, ist wahrscheinlich lang, wenn er hier geschrieben wird, also WordNet-Struktur- und Synonym-Suche. Bitte beachten Sie dies für Details.
In 3 werden die Nutzungsformulardaten für jeden Teil verwendet, der in den in Mecab verwendeten Wörterbuchdaten (mecab-ipadic-2.7.0-20070801.tar.gz) enthalten ist, da dies mit der Standardfunktion von Mecab nicht realisiert werden konnte. Ich habe es versucht.
def transform(pos, basic, conjugate):
target_word = None
dict_file = None
if pos == "Verb":
dict_file = "Verb"
elif pos == "Adjektiv":
dict_file = "Adj"
elif pos == "Substantiv":
dict_file = "Noun"
with open("../dict/pos/" + dict_file + ".csv", "rb") as f:
words = f.readlines()
for w in words:
winfo = w.decode('euc_jp',errors ='ignore').split(",")
conj = winfo[9]
basicform = winfo[10]
if basicform == basic and conj == conjugate:
target_word = winfo[0]
break
return target_word
Das Problem mit dem Zeichencode beim Lesen von CSV hat mich ein wenig beunruhigt. Es entwickelt sich immer noch (ich habe es nicht gesehen, weil ich nichts anderes habe, aber ich kann nicht dorthin gehen)
Der Verarbeitungsablauf ist unten zusammengefasst. Der Name des Unterprozesses wurde gekürzt, aber kennen Sie die Korrespondenz?
Ich habe es auf die Beschreibung (Amazon) der kürzlich gekauften AirPods Pro angewendet.
\begin{align*}
&{\Großes stummes Geräusch.}\\
&{\klein Das Mikrofon erkennt Geräusche an der Außen- und Innenseite des Ohrs. Die Anti-Noise-Funktion, die den Klang ausgleicht, eliminiert das Rauschen, bevor Sie es hören.}\\
\\
&{\Groß Fragen Sie nur, was Sie fragen möchten.}\\
&{\klein Wenn Sie das umgebende Yoko hören und reagieren möchten, wechseln Sie in den externen Tonaufnahmemodus. Halten Sie einfach den druckempfindlichen Sensor gedrückt.}\\
\\
&{\Große individuelle Passform.}\\
&{\kleine Bequeme und tragbare Silikon-Ohrstöpsel sind in 3 Größen erhältlich. Die Entlüftungslöcher an den Ohrstöpsel gleichen den Druck auf beiden Seiten des Ohrhörers aus.}\\
\\
&{\Große Erfahrung zum ersten Mal.}\\
&{\Kleiner dedizierter Lautsprechertreiber, Verstärker mit hohem Dynamikbereich und H1-Chip sind angeschlossen. Es erzeugt einen hochwertigen Klang, den man sich nur als kompakten Körper vorstellen kann.}\\
\\
&{\Große Einstellung und Siri. Alles ist einfach.}\\
&{\klein Sehr einfach mit dem iPhone zu verbinden. Sie können das Lied mit zwei AirPods teilen oder Siri die Nachricht lesen lassen, die Sie erhalten.}\\
\\
&{\Großes Laden ist kabellos. Der Spaß ist endlos.}\\
&{\Mit dem kleinen kabellosen Ladekoffer können Sie mit Ihrem AirPods Pro überall hingehen. Es ist kompatibel mit Qi-Standardladegeräten.}
\end{align*}
Ich habe einen Verdacht. Ich hätte das vielleicht nicht gekauft.
Dieses Programm selbst ist nicht nützlich, aber ich denke, es wird im zukünftigen Japanischunterricht nützlich sein, um die Merkmale des schwachen Japanisch zu beseitigen. Ausländische Menschen, die Japanisch lernen, können leicht Fehler beim Lernen und Gruppieren der Tendenz zum Schreiben japanischer Sätze machen, und es scheint, dass jeder von ihnen einen Lehrplan für den japanischen Sprachunterricht erstellen kann.
Recommended Posts