From b23d7605ac233dbc9aca7f1afe421e6de3edc51c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 15:39:50 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8B=86=E5=81=9A=E8=81=B2=E9=9F=BB?= =?UTF-8?q?=E8=8E=AB=E8=AA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 0d399f97..506d7e4e 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -25,6 +25,11 @@ def 拆做聲韻(self, 字物件): 一个音素調 = 韻 + 調 return [聲], [(韻, 一个音素調)], {(調, 一个音素調)} + def 拆做聲韻莫調(self, 字物件): + 原聲, 韻, _調 = self._提出音值(字物件).音 + 聲 = 原聲 + '-' + return [聲], [(韻, 韻)], {} + def 拆做音節(self, 字物件): 原聲, 韻, 調 = self._提出音值(字物件).音 一个音素調 = 原聲 + 韻 + 調 From 822c6bd86346445de7e321262405506624e5e900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 15:52:08 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=9B=9E=E5=82=B3=E5=BD=A2?= =?UTF-8?q?=E6=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 506d7e4e..b2dcf3d1 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -28,7 +28,7 @@ def 拆做聲韻(self, 字物件): def 拆做聲韻莫調(self, 字物件): 原聲, 韻, _調 = self._提出音值(字物件).音 聲 = 原聲 + '-' - return [聲], [(韻, 韻)], {} + return [聲], [(韻, 韻)], set() def 拆做音節(self, 字物件): 原聲, 韻, 調 = self._提出音值(字物件).音 From 4e635b1eee3e47f1aa38392f924abaad96df32fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 16:03:55 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E9=80=9A=E7=94=A8=E5=85=8D=E8=BD=89?= =?UTF-8?q?=E9=9F=B3=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index b2dcf3d1..8c22846c 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -42,7 +42,7 @@ def _提出音值(self, 字物件): 檢查字物件 = 字(字物件.型, 字物件.型) if not 檢查字物件.音標敢著(self.羅馬字系統): raise ValueError('音標無合法') - return 檢查字物件.轉音(self.羅馬字系統, '音值') + return 檢查字物件 def 漢字聲韻(self, 音節): 音標物件 = self.羅馬字系統(音節) From 44ce86cb2768a053a7ede70ca1644bbcc904cd88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 16:14:48 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=85=88=E5=8A=A0=E8=BD=89=E9=9F=B3?= =?UTF-8?q?=E5=80=BC=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 8c22846c..0f61c9d3 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -42,6 +42,8 @@ def _提出音值(self, 字物件): 檢查字物件 = 字(字物件.型, 字物件.型) if not 檢查字物件.音標敢著(self.羅馬字系統): raise ValueError('音標無合法') + 音標 = self.羅馬字系統(檢查字物件.音) + 檢查字物件.音 = 音標.聲, 音標.韻, 音標.調 return 檢查字物件 def 漢字聲韻(self, 音節): From aa3b5c625b6a43d21eb385138da6d22ad18378a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 16:18:56 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=8E=A0=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 1 + 1 file changed, 1 insertion(+) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 0f61c9d3..bd0de300 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -44,6 +44,7 @@ def _提出音值(self, 字物件): raise ValueError('音標無合法') 音標 = self.羅馬字系統(檢查字物件.音) 檢查字物件.音 = 音標.聲, 音標.韻, 音標.調 + print(檢查字物件.音) return 檢查字物件 def 漢字聲韻(self, 音節): From a00764e2a54c6e87b532349cab690cadddd11445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 16:20:44 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E8=A2=82=E4=BD=BF=E6=94=B9=E8=91=97?= =?UTF-8?q?=E5=8E=9F=E6=9C=AC=E7=9A=84=E7=89=A9=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index bd0de300..55cee64d 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -43,8 +43,7 @@ def _提出音值(self, 字物件): if not 檢查字物件.音標敢著(self.羅馬字系統): raise ValueError('音標無合法') 音標 = self.羅馬字系統(檢查字物件.音) - 檢查字物件.音 = 音標.聲, 音標.韻, 音標.調 - print(檢查字物件.音) + 檢查字物件 = 字(字物件.型, (音標.聲, 音標.韻, 音標.調)) return 檢查字物件 def 漢字聲韻(self, 音節): From 4e1d2a49d0e1c9471e1cce586dc5d7bd90648180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 3 Apr 2018 16:26:15 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=85=B1lexicon=E7=9A=84=E8=AA=BF=E6=94=8F?= =?UTF-8?q?=E6=8F=90=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 1 + 1 file changed, 1 insertion(+) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 55cee64d..3dc0dd6c 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -27,6 +27,7 @@ def 拆做聲韻(self, 字物件): def 拆做聲韻莫調(self, 字物件): 原聲, 韻, _調 = self._提出音值(字物件).音 + 字物件.音=字物件.音.rstrip('0123456789') 聲 = 原聲 + '-' return [聲], [(韻, 韻)], set() From 220ae2dcd0fc9894c87115125aa70ecece2f16e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 8 May 2018 14:28:52 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=85=88=E4=BB=A5=E8=87=BA=E7=BE=85?= =?UTF-8?q?=E7=82=BA=E4=B8=BB=EF=BC=8C=E9=80=9A=E7=94=A8=E6=84=9B=E6=89=8D?= =?UTF-8?q?=E9=96=A3=E5=8A=A0=E5=87=BD=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 6 ++---- ...45\226\256\345\205\203\350\251\246\351\251\227.py" | 11 ++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 3dc0dd6c..0ef5ac76 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -27,7 +27,7 @@ def 拆做聲韻(self, 字物件): def 拆做聲韻莫調(self, 字物件): 原聲, 韻, _調 = self._提出音值(字物件).音 - 字物件.音=字物件.音.rstrip('0123456789') + 字物件.音 = 字物件.音.rstrip('0123456789') 聲 = 原聲 + '-' return [聲], [(韻, 韻)], set() @@ -43,9 +43,7 @@ def _提出音值(self, 字物件): 檢查字物件 = 字(字物件.型, 字物件.型) if not 檢查字物件.音標敢著(self.羅馬字系統): raise ValueError('音標無合法') - 音標 = self.羅馬字系統(檢查字物件.音) - 檢查字物件 = 字(字物件.型, (音標.聲, 音標.韻, 音標.調)) - return 檢查字物件 + return 檢查字物件.轉音(self.羅馬字系統, '音值') def 漢字聲韻(self, 音節): 音標物件 = self.羅馬字系統(音節) diff --git "a/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" index f9214fe1..db8ffe97 100644 --- "a/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -9,12 +9,14 @@ class 辭典輸出單元試驗(TestCase): def tearDown(self): + 原本物件 = 拆文分析器.分詞字物件(self.分詞) 聲類, 韻類, 調類 = self.輸出.輸出函式( - 拆文分析器.分詞字物件(self.分詞) + 原本物件 ) self.assertEqual(聲類, self.聲類結果) self.assertEqual(韻類, self.韻類結果) self.assertEqual(調類, self.調類結果) + self.assertEqual(原本物件, 拆文分析器.分詞字物件(self.分詞)) def test_拆做音素(self): self.分詞 = '媠|sui2' @@ -36,3 +38,10 @@ def test_拆做音節(self): self.聲類結果 = [] self.韻類結果 = [('sui', 'sui2')] self.調類結果 = {('2', 'sui2')} + + def test_全羅(self): + self.分詞 = 'sui2' + self.輸出 = 辭典輸出(臺灣閩南語羅馬字拼音, '拆做音節') + self.聲類結果 = [] + self.韻類結果 = [('sui', 'sui2')] + self.調類結果 = {('2', 'sui2')} From 79951e505d113dc96e11a7260923250b053889a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E4=B8=9E=E5=AE=8F?= Date: Tue, 8 May 2018 14:42:00 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=8A=A0=E8=A9=A6=E9=A9=97=E5=9B=BA?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kaldi/lexicon.py" | 4 ++-- ...272\345\226\256\345\205\203\350\251\246\351\251\227.py" | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" index 0ef5ac76..6baa0f56 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\346\234\215\345\213\231/kaldi/lexicon.py" @@ -26,9 +26,9 @@ def 拆做聲韻(self, 字物件): return [聲], [(韻, 一个音素調)], {(調, 一个音素調)} def 拆做聲韻莫調(self, 字物件): - 原聲, 韻, _調 = self._提出音值(字物件).音 - 字物件.音 = 字物件.音.rstrip('0123456789') + 原聲, 原韻, _調 = self._提出音值(字物件).音 聲 = 原聲 + '-' + 韻 = 原韻.rstrip('0123456789') return [聲], [(韻, 韻)], set() def 拆做音節(self, 字物件): diff --git "a/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" index db8ffe97..579f4814 100644 --- "a/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/Kaldi/test\350\276\255\345\205\270\350\274\270\345\207\272\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -32,6 +32,13 @@ def test_拆做聲韻(self): self.韻類結果 = [('ui', 'ui2')] self.調類結果 = {('2', 'ui2')} + def test_拆做聲韻莫調(self): + self.分詞 = '媠|sui2' + self.輸出 = 辭典輸出(臺灣閩南語羅馬字拼音, '拆做聲韻莫調') + self.聲類結果 = ['s-'] + self.韻類結果 = [('ui', 'ui')] + self.調類結果 = set() + def test_拆做音節(self): self.分詞 = '媠|sui2' self.輸出 = 辭典輸出(臺灣閩南語羅馬字拼音, '拆做音節')