Segmenter du texte brut avec SegmentAnt

Dans des langues telles que le français ou l’anglais (entre autres), les différentes entités linguistiques, ou plus simplement les “mots”, sont plus ou moins intuitivement identifiables à l’écrit car ils tendent à être séparés par un caractère dédié : l’espace.

Ce séparateur n’est pas commun à toutes les langues écrites, et n’est notamment pas utilisé en chinois et en japonais. Un lecteur humain sera évidemment capable d’identifier les entités qui composent le texte pour pouvoir le comprendre, mais ce n’est pas forcément le cas des outils de traitement automatique utilisés lors de l’exploration d’un corpus. Il peut alors devenir nécessaire de segmenter le texte d’origine, en y insérant un caractère séparateur.

SegmentAnt, développé par Laurence Anthony, est un logiciel qui vous permettra de segmenter du texte en chinois ou en japonais extrêmement facilement, sans écrire une ligne de code.

Pour segmenter un texte ou un corpus, il faut bien entendu commencer par télécharger le logiciel SegmentAnt1, disponible sur cette page pour Windows, MacOS et Linux. Il s’agit d’un exécutable, aucune installation n’est nécessaire.

L’interface se présente comme ceci :

Il est donc possible d’ajouter du texte directement dans le champ Input Text, mais aussi de charger un ou plusieurs fichiers contenant le texte à traiter, à condition qu’il soit encodé en UTF-8.

Différents segmenteurs sont proposés, dont Jieba et NLPIR/ICTCLAS qui ont déjà été évoqués sur ce carnet :

Le fonctionnement du logiciel est très simple, puisqu’il suffit de choisir le texte d’entrée et le segmenteur à utiliser, puis cliquer sur le bouton Start. Le texte segmenté apparaît alors dans le champ Output Results. Si vous avez chargé un ou plusieurs fichiers, Output Results affichera la liste des fichiers traités et les fichiers de sortie seront à récupérer dans le sous-répertoire segmented créé par SegmentAnt dans le répertoire des fichiers d’origine.

Voici un exemple d’utilisation pour un texte en japonais. J’ai simplement copié-collé un extrait de ce texte2 dans le champ Input Text de SegmentAnt et sélectionné l’unique segmenteur disponible pour le japonais, TinySegmenter.

Texte d’origine, non segmenté :

鳴り物:手に鳴子(なるこ)などを持って、鳴らしながら踊る。 曲:地元の伝統民謡、又はご当地ソングを5分程度にアレンジ(ジャズダンス・ディスコ・ヒップホップ風が多い)した曲に合わせて踊る。 衣装:おもに和風にアレンジされたデザインのチームオリジナルの衣装を着る。曲中の演出として連続早着替え(衣装チェンジ)等の工夫を凝らす団体も存在する。 化粧:歌舞伎・日本舞踊・バレエ・等の舞台化粧や、そのアレンジ、フェースペインティング、等、各自で工夫する。 演舞:各チームごとに独特の振り付け(ステージ形式、パレード形式)を織り交ぜた集団での踊り。 この他については、各地域ごとにルールは異なっている。 装置集約型の七夕祭り等は開催する商店街の出費が多いが、YOSAKOI祭りは踊りを主体とした参加者集約型の祭りであるため、主催者側の持ち出しが少ないわりに規模拡大や集客効果が期待出来、短期間に各地に広がった。ただし、踊りに参加する各団体は、練習場代・衣装費・移動費などを自ら出費した上で参加費用を払っており、祭りの主催者の受益と参加者の出費とのバランスの悪さがしばしば問題になる。特に、グッズ販売や参加料の徴収など、主催者側の商業的な面が強い祭りに対しては批判も少なくなく、公益的な祭りを謳っていながら会計が不透明である等の批判を受けている祭りも見受けられる[2]。 その他、地域本来の伝統文化とは無縁に組織されることもあり、祭りというよりも実質的には創作ダンスのコンテストとなってしまっているものもある。 

Texte segmenté qui apparaît alors dans le champ Output Results :

鳴り物 : 手 に 鳴子 ( なる こ ) など を 持っ て 、 鳴ら し ながら 踊る 。  曲 : 地元 の 伝統民謡 、 又 は ご 当地 ソング を 5 分程度 に アレンジ ( ジャズダンス ・ ディスコ ・ ヒップホップ 風 が 多い ) し た 曲 に 合わせ て 踊る 。  衣装 : おも に 和風 に アレンジ さ れ た デザイン の チームオリジナル の 衣装 を 着る 。 曲中 の 演出 として 連続 早着 替え ( 衣装 チェンジ ) 等 の 工夫 を 凝ら す 団体 も 存在 する 。  化粧 : 歌舞 伎 ・ 日本 舞踊 ・バレエ ・等 の 舞台 化粧 や 、 その アレンジ 、 フェースペインティング 、 等 、 各自 で 工夫 する 。  演舞 : 各 チーム ごと に 独特 の 振り付け ( ステージ 形式 、 パレード 形式 ) を 織り交ぜ た 集団 で の 踊り 。  この 他 について は 、 各地 域 ごと に ルール は 異なっ て いる 。  装置 集約 型 の 七夕 祭り 等 は 開催 する 商店 街 の 出費 が 多い が 、 YOSAKOI 祭り は 踊り を 主体 と し た 参加 者 集 約型 の 祭り で ある ため 、 主催 者 側 の 持ち出し が 少ない わり に 規模 拡大 や 集客 効果 が 期待 出来 、 短期間 に 各地 に 広がっ た 。 ただし 、 踊り に 参加 する 各団 体 は 、 練習 場代 ・ 衣装 費 ・移動費 など を 自ら 出費 し た 上 で 参加 費用 を 払っ て おり 、 祭り の 主催 者 の 受益 と 参加 者 の 出費 と の バランス の 悪さ が しばしば 問題 に なる 。 特に 、 グッズ 販売 や 参加 料 の 徴収 など 、 主催 者 側 の 商業 的 な 面 が 強い 祭り に対し て は 批判 も 少なく なく 、 公益 的 な 祭り を 謳っ て い ながら 会計 が 不透明 で ある 等 の 批判 を 受け て いる 祭り も 見受け られる [ 2 ] 。  その 他 、 地域 本来 の 伝統 文化 と は 無縁 に 組織 さ れる こと も あり 、 祭り という より も 実質 的 に は 創作 ダンス の コンテスト と なっ て しまっ て いる もの も ある 。

Voyons maintenant un texte en chinois3.

Texte d’origine copié-collé dans Input Text :

皇帝企鹅(学名:Aptenodytes forsteri)常简称为帝企鹅或皇企鹅,是企鹅家族中体型最大的属种[1],成年皇帝企鹅身高可达120厘米,体重可达46公斤。在皇帝企鹅发现之前,有一种企鹅被认为是最大的企鹅,取名为国王企鹅。后来,在南极大陆沿海皇帝企鹅被发现,由于它比国王企鹅还高大,因此命名为皇帝企鹅[2]。

Texte segmenté dans Output Text, en choisissant l’option Chinese (Jieba engine) pour le segmenteur :

皇帝 企鹅 ( 学名 : Aptenodytes   forsteri ) 常 简称 为 帝企鹅 或 皇 企鹅 , 是 企鹅 家族 中 体型 最大 的 属种 [ 1 ] , 成年 皇帝 企鹅 身高 可达 120 厘米 , 体重 可达 46 公斤 。 在 皇帝 企鹅 发现 之前 , 有 一种 企鹅 被 认为 是 最大 的 企鹅 , 取名为 国王 企鹅 。 后来 , 在 南极 大陆 沿海 皇帝 企鹅 被 发现 , 由于 它 比 国王 企鹅 还 高大 , 因此 命名 为 皇帝 企鹅 [ 2 ] 。

Vous avez peut-être remarqué que pour le chinois, Jieba et NLPIR/ICTCLAS figurent deux fois dans la liste des options proposées pour le champ Language, c’est-à-dire le choix de segmenteur. L’option Chinese with POS tags vous permet non seulement de segmenter, mais aussi d’étiqueter le texte (suivant les options du segmenteur/étiqueteur sélectionné).

Voici ci-dessous un comparatif de la sortie obtenue avec le script de l’article Étiquetage morphosyntaxique avec Jieba et de celle produite par SegmentAnt pour le même extrait de texte4.

Script Python

皇帝/n 企鹅/n (/x 学名/n :/x Aptenodytes/eng  /x forsteri/eng )/x 常/d 简称/v 为/p 帝企鹅/n 或/c 皇/n 企鹅/n ,/x 是/v 企鹅/n 家族/nz 中/f 体型/n 最大/a 的/uj 属种/n [/x 1/x ]/x ,/x 成年/t 皇帝/n 企鹅/n 身高/v 可达/v 120/m 厘米/q ,/x 体重/n 可达/v 46/m 公斤/q 。/x 在/p 皇帝/n 企鹅/n 发现/v 之前/f ,/x 有/v 一种/m 企鹅/n 被/p 认为/v 是/v 最大/a 的/uj 企鹅/n ,/x 取名为/i 国王/n 企鹅/n 。/x 后来/t ,/x 在/p 南极/ns 大陆/n 沿海/f 皇帝/n 企鹅/n 被/p 发现/v ,/x 由于/c 它/r 比/p 国王/n 企鹅/n 还/d 高大/a ,/x 因此/c 命名/n 为/p 皇帝/n 企鹅/n [/x 2/x ]/x 。/x 

SegmentAnt

皇帝_n 企鹅_n (_x 学名_n :_x Aptenodytes_eng  _x forsteri_eng )_x 常_d 简称_v 为_p 帝企鹅_n 或_c 皇_n 企鹅_n ,_x 是_v 企鹅_n 家族_nz 中_f 体型_n 最大_a 的_uj 属种_n [_x 1_x ]_x ,_x 成年_t 皇帝_n 企鹅_n 身高_v 可达_v 120_m 厘米_q ,_x 体重_n 可达_v 46_m 公斤_q 。_x 在_p 皇帝_n 企鹅_n 发现_v 之前_f ,_x 有_v 一种_m 企鹅_n 被_p 认为_v 是_v 最大_a 的_uj 企鹅_n ,_x 取名为_i 国王_n 企鹅_n 。_x 后来_t ,_x 在_p 南极_ns 大陆_n 沿海_f 皇帝_n 企鹅_n 被_p 发现_v ,_x 由于_c 它_r 比_p 国王_n 企鹅_n 还_d 高大_a ,_x 因此_c 命名_n 为_p 皇帝_n 企鹅_n [_x 2_x ]_x 。_x

Le résultat produit est équivalent, et selon vos besoins et contraintes vous pouvez ainsi utiliser l’une ou l’autre de ces méthodes pour étiqueter du texte en chinois.

Pour une utilisation plus fine de SegmentAnt, vous pouvez consulter la documentation embarquée dans le logiciel (disponible via le menu Help) qui spécifie notamment comment charger son propre dictionnaire, à la place ou en plus des dictionnaires par défaut.

Citer ce billet : “Segmenter du texte brut avec SegmentAnt”, par Alexander Delaporte. Publié sur Tekipaki le 23/09/2021. Lien : https://tekipaki.hypotheses.org/2009.
  1. Anthony, L. (2017). SegmentAnt (Version 1.1.3) [Computer Software]. Tokyo, Japan: Waseda University. Available from https://www.laurenceanthony.net/software []
  2. Il s’agit du fichier de sortie du script présenté dans l’article Produire un corpus web format XML en 15 lignes de code. []
  3. Cette fois extrait du fichier d’entrée du script présenté dans l’article Étiquetage morphosyntaxique avec PyNLPIR, utilisé également dans l’article Étiquetage morphosyntaxique avec Jieba. []
  4. Pour obtenir un espacement équivalent, SegmentAnt a été utilisé avec Half space comme caractère de séparation. []

Auteur/autrice : Alexander Delaporte

Ingénieur d'études au Centre de recherches linguistiques sur l'Asie Orientale et chercheur associé BnF 2019-2021

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.