iapt-platform / mint

rewrite of PCD
MIT License
7 stars 15 forks source link

相似句升级 #1073

Open bhikkhu-kosalla-china opened 1 year ago

bhikkhu-kosalla-china commented 1 year ago

在wikipāli1.0阶段,我们实现了 #14 相似句功能,

发现的问题

  1. 对于长度差距较大的相似句,比如一句拆解成两句的,无法识别(例句待补充)
  2. 对于重复出现的句子,会用…pe…来把重复部分省略,而在实际翻译的时候,需要补出对应内容
  3. 当前算法是单线程,没有实现多线程

未来展望

  1. 升级算法,针对问题1实现匹配
  2. 能够把含有…pe…和不含有…pe…的句子进行相似
  3. 能够实现多线程,提高运算效率
  4. 其他翻译中遇到的相似句,能够留存并推给AI进行学习
bhikkhu-kosalla-china commented 1 year ago

发现未匹配的相似句 {{174-1147-2-40}}与{{67-905-28-51}} Yāni ārammaṇapurejātena vinā na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yaṃ ārammaṇapurejātena vattati, tassa tassa ārammaṇapaccayabhūtaṃ sabbaṃ rūparūpaṃ ārammaṇapurejātanti dassitameva hoti.

10. Nayadassanavasena yāni vinā ārammaṇapurejātena na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yadārammaṇapurejātena vattati, tassa tadālambitaṃ sabbampi rūparūpaṃ ārammaṇapurejātanti dassitameva hoti, sarūpena pana adassitattā‘ ‘ sāvasesavasena desanā katā ’ ’ ti āha.

VitoVan commented 1 year ago

PostgreSQL 里有一系列文本相似度对比的函数,如: similarity ( text, text ) → real

https://www.postgresql.org/docs/current/pgtrgm.html

针对上面两条给出的结果如下:

vito@fedora:~$ sudo -u postgres psql
psql (14.3)
Type "help" for help.

postgres=# CREATE EXTENSION IF NOT EXISTS "pg_trgm";
CREATE EXTENSION
postgres=# SELECT similarity('hello', 'holla');
 similarity
------------
 0.09090909
(1 row)

postgres=# SELECT similarity('Yāni ārammaṇapurejātena vinā na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yaṃ ārammaṇapurejātena vattati, tassa tassa ārammaṇapaccayabhūtaṃ sabbaṃ rūparūpaṃ ārammaṇapurejātanti dassitameva hoti.', '10. Nayadassanavasena yāni vinā ārammaṇapurejātena na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yadārammaṇapurejātena vattati, tassa tadālambitaṃ sabbampi rūparūpaṃ ārammaṇapurejātanti dassitameva hoti, sarūpena pana adassitattā‘ ‘ sāvasesavasena desanā katā ’ ’ ti āha.');
 similarity
------------
 0.66853935
(1 row)

postgres=# SELECT word_similarity('Yāni ārammaṇapurejātena vinā na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yaṃ ārammaṇapurejātena vattati, tassa tassa ārammaṇapaccayabhūtaṃ sabbaṃ rūparūpaṃ ārammaṇapurejātanti dassitameva hoti.', '10. Nayadassanavasena yāni vinā ārammaṇapurejātena na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yadārammaṇapurejātena vattati, tassa tadālambitaṃ sabbampi rūparūpaṃ ārammaṇapurejātanti dassitameva hoti, sarūpena pana adassitattā‘ ‘ sāvasesavasena desanā katā ’ ’ ti āha.');
 word_similarity
-----------------
       0.8309859
(1 row)

postgres=# SELECT strict_word_similarity('Yāni ārammaṇapurejātena vinā na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yaṃ ārammaṇapurejātena vattati, tassa tassa ārammaṇapaccayabhūtaṃ sabbaṃ rūparūpaṃ ārammaṇapurejātanti dassitameva hoti.', '10. Nayadassanavasena yāni vinā ārammaṇapurejātena na vattanti, tesaṃ cakkhuviññāṇādīnaṃ ārammaṇapurejātadassanena manodvārepi yaṃ yadārammaṇapurejātena vattati, tassa tadālambitaṃ sabbampi rūparūpaṃ ārammaṇapurejātanti dassitameva hoti, sarūpena pana adassitattā‘ ‘ sāvasesavasena desanā katā ’ ’ ti āha.');
 strict_word_similarity
------------------------
              0.8309859
(1 row)

postgres=#

请问这些结果对相似句升级有帮助吗?