TA的每日心情 | 开心 2023-3-10 21:15 |
---|
签到天数: 1329 天 [LV.10]以坛为家III
状元
- 积分
- 22253
|
本帖最后由 enjoy了哦 于 2019-3-23 23:23 编辑
通过调查日语单词中音调类型的比例,可以得出一些结论,方便记忆单词本身和其后续助词的音调。
原始数据:新明解国语辞典第5版(EPWING格式)
首先通过 EBDump 打开该EPWING格式词典的文件夹的 HONMON 文件,导出其中的“前方一致表記形見出し”部分,选择全部的1412个block。
导出后,将该文件转码成 UTF-8 格式,并使用正则表达式替换部分内容,使其容易被后续分析处理。
为统计尾高型音调,需要知道每个单词的拍数。由于拗音占有两个字符,但只算一拍,为了方便统计,将其中的小的[ゃ][ゅ][ょ] 及对应的片假名(还有小的[ア][イ][ウ][エ][オ]等,外来词专用音节)去掉,即[きゃ][きゅ][きょ]中后面那个字符。这样一来,拍数就等于字符数了。
最终的经过清洗的“干净”的数据如下所示,根据个人的习惯进行处理:
然后可以通过 Python 进行统计,一个单词可能有多个音调,但只统计第一个音调(稍微改动源码可以统计所有的音调)。这个代码可以用来明白大致的统计思路,后续还有写零碎的更改,并没有体现在这里面。
- #!/usr/bin/env python
- #_*_ coding:utf-8 _*_
- import sys,os
- import numpy as np
- # 带有音调标记的词汇数目
- all_entry = 0
- # 平板型,[0]
- entry_0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- # 头高型,[1]
- entry_1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- # 尾高型,[x] = 拍数
- entry_last_high = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- # 中高型,[x] < 拍数
- entry_middle = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- file_name = sys.argv[1]
- f = open(file_name,'rb')
- for line in f:
- line = line.replace(b"\r\n",b"")
- line = line.decode()
- db = line.split(',')
- word_len = len(db[0])
- if word_len < 16:
- all_entry = all_entry + 1
- for i in range(1,len(db)):
- accent = db[i]
- if accent.startswith('['):
- integer = int(accent[1])
- if integer == 0:
- entry_0[word_len] = entry_0[word_len] + 1
- elif integer == 1:
- entry_1[word_len] = entry_1[word_len] + 1
- elif integer == word_len:
- entry_last_high[word_len] = entry_last_high[word_len] + 1
- else:
- entry_middle[word_len] = entry_middle[word_len] + 1
- break
- print('[0]:')
- for i in range(1,len(entry_0)):
- print('%d' % (entry_0[i]))
- print('entries: %d' % np.sum(entry_0))
- print('\n')
- print('[1]:')
- for i in range(1,len(entry_1)):
- print('%d' % (entry_1[i]))
- print('entries: %d' % np.sum(entry_1))
- print('\n')
- print('middle high:')
- for i in range(1,len(entry_middle)):
- print('%d' % (entry_middle[i]))
- print('entries: %d' % np.sum(entry_middle))
- print('\n')
- print('last high:')
- for i in range(1,len(entry_last_high)):
- print('%d' % (entry_last_high[i]))
- print('entries: %d' % np.sum(entry_last_high))
- print('\n')
- print('all entries:')
- print(all_entry)
- f.close()
复制代码
最后将 Python 输出结果进行数据可视化:
以及饼图:
可以得出几个结论:
1. 尾高型的单词很少(约2%,大部分在2拍和3拍的单词上,2拍和3拍五五开,总共约1300个单词(在7万多个单词中)。
2. 头高型的单词次少(约17%),主要集中在3拍的单词上(约51%),2拍和4拍都约占20%左右。
3. 日语中4拍的单词最多(约42%),并且相当一部分(约72%)是平板型。这和新标日中入门单元里,“声调和语调”部分中“声调”小节里的解说是一样的。
4. 记忆平板型和尾高型的单词时,单词本身发音规律相同,都是前低后高,但后接的助词音调不同,不好记忆。但通过上述统计,可以这么做:(两拍以上)尾高型的单词单独记忆后续助词的音调,其后续助词的音调总是低的,而在一般情况下,一个单词(两拍以上)后接的助词的音调(高或低)和该单词的最后一拍是相同的。一拍的单词完全不符合这个“一般情况”,只需要记住这一拍本身是低还是高,再根据“一个单词中第一拍和第二拍音调必定不同”来确定助词音调。单词本身的音调则通过多听、多用以形成固定的记忆。
|
评分
-
2
查看全部评分
-
本帖被以下淘专辑推荐:
- · 词典制作|主题: 217, 订阅: 39
- · 语言态度|主题: 150, 订阅: 19
|