[韩语]用言第三语基解析

韩语的第三语基,是根据语干的倒数第 1 个元音,来决定后接아或者어的。此外,如果遇到语干以元音结尾,会出现“元音缩合”的现象。

(什么是语基?请看这篇文章:10340 三种「语基」搞定韩语用言活用

语干以元音结尾

先列出韩语所有元音吧。韩语的元音,可以理解成是这样构成的:

{j/w}?{V}{j}?\{j/w\}?\{V\}\{j\}?

VV由以下其中一个元音构成:

上文所写的{j}\{j\},是指,在书写上,ᅢ可以理解成ᅡ+ᅵ,并不是说现代韩语的ᅢ可以读成/aj/,请注意。

按上文的分析方式,我们可以列出以下表格:

VjVwVVjjVjwVj

基于这张表格,我们可以试着列一下对应的用言,元音是如何缩合的。对于不知道有无对应用言的元音,我们先用问号占位:

VjVwV/
사다->사
오다->와
보다->봐/보아
서다->서켜다->켜
배우다->배워
주다->줘/주어
쓰다->써
치다->쳐
피다->피어
  • ᅳ结尾的用言不是简单地去ᅳ加ᅥ!具体请参考语基的“으词干用言”
VjjVjwVj
지내다->지내/지내어
되다->돼/되어
베다->베/베어
뛰다->뛰어

那,占位的,是没有对应的用言?还是用言太偏了想不出来?我们来研究一下吧。我们拿韩语维基百科词频文件来分析。

TS
import fs, { writeFile } from "fs/promises";

const file = await fs.readFile("kowiki-words.txt", "utf-8");
const rsl = file
  .split("\n")
  .filter((line) => !line.startsWith("#"))
  .map((line) => line.split("\t"))
  .filter((arr): arr is [string, string] => arr.length === 2)
  .filter(([word]) => word.length > 1 && word.endsWith("다"))
  .map(([word, freq]): [string, string] => {
    const hangeul = word.slice(-2, -1);
    const nfd = [...hangeul.normalize("NFD")];
    return [`${word}\t${freq}`, nfd[nfd.length - 1]];
  })
  .reduce((p, [line, end]) => {
    let list = p.get(end);
    if (!list) {
      list = [];
      p.set(end, list);
    }
    list.push(line);
    return p;
  }, new Map<string, string[]>());

for (const [end, list] of rsl) {
  writeFile(`out/${end}.txt`, list.join("\n"));
}

上文打问号的元音如下:

  • ᅤ(没有生成对应的文件)

生成的文件主要由以下类型的单词构成:

  • 专名
  • 元音结尾的体词+다构成的口语上的判断句
  • 日语转写成韩文

那的确可以认为,这些元音的确不会出现在用言词干的末尾了。

最后总结下:

VjVVj
ᅡ,缩合ᅢ,两可
ᅩ,缩合/两可ᅬ,两可
ᅥ,缩合ᅧ,缩合ᅦ,两可
ᅮ,缩合/两可ᅱ,不缩合
ᅳ,으活用
ᅵ,缩合/不缩合

缩合分类如下:

  • 아/어直接消失:ᅡ、ᅥ、ᅧ、ᅢ、ᅦ(即,含ᅡ或者ᅥ的元音)
  • 아/어和前面的元音合起来写:ᅩ(变ᅪ)、ᅮ(变ᅯ)、ᅵ(变ᅧ)
  • ᅬ+어缩合会变成ᅫ

语干以辅音结尾

TS
// return [`${word}\t${freq}`, nfd[nfd.length - 1]];
return [`${word}\t${freq}`, nfd[nfd.length - 2]];

简单修改下上文的代码,就可以用来解析辅音结尾的语干,倒数第 1 个元音是什么了。

上文提到有些元音不会出现在元音结尾语干的末尾,不过这些元音还是有可能出现在辅音结尾语干的倒数第 1 个元音上的。虽然这种语干没有元音缩合现象,但还是要考虑要接아还是어的。我们来分析下。

除了ᅣ有个얇다(“薄的”),对应的第三语基是얇아。其他的都是没有基本形的用言的(有用言也是过去形等可以再拆分的那种)。

还有个ᅳ,是正常加어。例,쓸다(“扫”)第三语基是쓸어。

所以是用아还是어?

观察可知,对于元音:

{j/w}?{V}{j}?\{j/w\}?\{V\}\{j\}?

只有{V}\{V\}是ᅡ或者ᅩ,且{V}\{V\}后面的{j}\{j\}不存在时,才用아,否则就用어。

语言