• [^] # Re: Autre segmenteur

    Posté par . En réponse au journal Apprendre à lire et taper en chinois avec des outils libres. Évalué à 1.

    En fait à la base je l'ai fait car j'utilisais adso pour tatoeba, mais adso à tendance à faire des segfault, à avoir des problèmes d'encodages, des bugs un peu chelou, au début je lui faisais des rapports de bugs, mais depuis quelque temps il n'a plus trop l'air de répondre, et vu que j'avais besoin d'étendre adso pour avoir une segmentation du shanghaien et du cantonnais (et à présent chinois classique), et que le code d'adso fait vraiment peur, j'ai du coup repris la base de donnée (qui est sous cc-by-sa), nettoyé un peu, et reconstruit un logiciel aussi

    Pour l'instant le fonctionnement est naïf à l'extrême

    On segmente sur la ponctuation

    ensuite si on a une phrase ABCDEFGHIJK il va, partant de A, trouver la chaîne la plus longue qu'il a dans sa base de donnée.

    admettons que la plus longue soit ABCDE (note: il n'y a pas besoin que ABC soit aussi dans la base, en gros il va tester A , AB , ABC etc. jusqu'à A...K, vu que les segments sont relativement court, surtout dans tatoeba, c'est "soutenable", NOTE à moi-même, on pourrait rendre le truc un peu plus malin en arrêtant de chercher une fois qu'il a atteint la plus grande chaine de la base de donnée)

    il recommence mais cette fois en partant de F etc.

    Amélioration possible

    plutôt que de faire une segmentation gauche droite, il faudrait plutôt tester tous les segments possibles, avec des pondérations (qu'on pourrait obtenir en faisant une validation des segmentations faites dans tatoeba), car pour l'instant il y a quelque cas pathologique où il faudrait faire un découpage A BC CD mais l'algo fait un découpage A BCD E alors que E n'est jamais tout seul (après il y a des cas ou le découpage change le sens de la phrase,voir cette article (en chinois) rajouté des "他妈的" (putain de) pour diminuer l'ambiguïté des phrases chinoises)

    Après c'est moins une question de segmentation que de "romanisation", mais pour l'instant l'algo a du mal avec les caractères qui peuvent être utilisé de manière isolé ET ayant plusieurs prononciation possible par exemple 得 qui peut être "de" ou "dei" , là il faudrait une analyze un peu plus poussé, en ayant la classe grammaticale possible des membres à gauche et à droite + quelques schémas de phrases.

    Donc voilà tu l'auras compris, ce logiciel fait le café, transformation en pinyin, conversion traditionnel/simplifié etc. et il est adaptable à n'importe quel dialecte chinois, si on lui fourni un fichier de donnée adéquat.

    Par contre vu que je m'en sers en tant que service web et qu'il est optimisé dans ce sens. il charge d'abord tout en mémoire, ce qui pour un usage unique est un peu "lourd"

    J'essaie de documenter cela un peu et de pousser ça sur github ce weekend