Lors du traitement d’un corpus en japonais, l’étape de segmentation est souvent indispensable. Il est possible de l’effectuer sans écrire de script pour l’occasion, par exemple avec un logiciel tels que SegmentAnt, déjà présenté sur ce carnet dans l’article Segmenter du texte brut avec SegmentAnt.
Peut aussi se présenter le cas où la segmentation intervient parmi d’autres traitements qui seront pris en charge par un ou plusieurs script(s). Il est alors intéressant de prévoir quelques lignes de code pour segmenter le texte plutôt que de faire appel à un outil supplémentaire.
Voici comment faire, en utilisant TinySegmenter avec Python.
Vous pouvez télécharger le script présenté dans cet article sous forme de snippet Gitlab.
Si vous avez lu l’article consacré à SegmentAnt, vous vous souvenez peut-être que pour le traitement du japonais celui-ci exploite TinySegmenter. Il s’agit d’un outil à l’origine développé en JavaScript, mais il se trouve qu’il a également été porté en Python1. Pour l’utiliser, vous aurez donc besoin d’installer et importer la librairie tinysegmenter.
Son utilisation est ensuite très simple. Comme l’indique la documentation, il suffit de déclarer un objet TinySegmenter()
puis d’appeler sa fonction .tokenize()
, qui prend en argument une chaîne de caractères et renvoie une liste contenant les tokens qui y ont été détectés.
Pour l’exemple, j’ai associé un extrait de texte2 à la variable text
. Code pour afficher dans la console le texte segmenté, avec double espace comme caractère séparateur :
segmenter = tinysegmenter.TinySegmenter()
print(' '.join(segmenter.tokenize(text)))
Et voilà !
鳴り物 : 手 に 鳴子 ( なる こ ) など を 持っ て 、 鳴らし ながら 踊る 。 曲 : 地元 の 伝統民謡 、 又 は ご 当地 ソング を 5 分 程度 に アレンジ ( ジャズダンス ・ ディスコ ・ ヒップホップ 風 が 多い ) し た 曲 に 合わせ て 踊る 。 衣装 : おも に 和風 に アレンジ さ れ た デザイン の チームオリジナル の 衣装 を 着る 。 曲中 の 演出 として 連続 早着 替え ( 衣装 チェンジ ) 等 の 工夫 を 凝らす 団体 も 存在 する 。 化粧 : 歌舞 伎 ・ 日本 舞踊 ・ バレエ ・ 等 の 舞台 化粧 や 、 その アレンジ 、 フェースペインティング 、 等 、 各自 で 工夫 する 。 演舞 : 各 チーム ごと に 独特 の 振り付け ( ステージ 形式 、 パレード 形式 ) を 織り交ぜ た 集団 で の 踊り 。 この 他 について は 、 各地 域 ごと に ルール は 異なっ て いる 。 装置 集約 型 の 七 夕祭り等 は 開催 する 商店 街 の 出費 が 多い が 、 YOSAKOI 祭り は 踊り を 主体 と し た 参加 者 集 約型 の 祭り で ある ため 、 主催 者 側 の 持ち出し が 少ない わり に 規模 拡大 や 集客 効果 が 期待 出来 、 短期間 に 各地 に 広がっ た 。 ただし 、 踊り に 参加 する 各団 体 は 、 練習 場代 ・ 衣装 費 ・ 移動費 など を 自ら 出費 し た 上 で 参加 費用 を 払っ て おり 、 祭り の 主催 者 の 受益 と 参加 者 の 出費 と の バランス の 悪さ が しばしば 問題 に なる 。 特に 、 グッズ 販売 や 参加 料 の 徴収 など 、 主催 者 側 の 商業 的 な 面 が 強い 祭り に対して は 批判 も 少なく なく 、 公益 的 な 祭り を 謳っ て い ながら 会計 が 不透明 で ある 等 の 批判 を 受け て いる 祭り も 見受け られる [ 2 ] 。 その 他 、 地域 本来 の 伝統 文化 と は 無縁 に 組織 さ れる こと も あり 、 祭り という より も 実質 的 に は 創作 ダンス の コンテスト と なっ て しまっ て いる もの も ある 。
Le résultat est équivalent à celui obtenu avec SegmentAnt.
Bien sûr dans l’usage vous ne vous limiterez certainement pas à l’afficher dans la console : vous pouvez utiliser cette sortie pour générer un corpus XML, un tableau de données, ou l’inclure dans n’importe quelle chaîne de traitement. Le snippet téléchargeable fournit également un moyen de lister les tokens et les classer par fréquence en utilisant une compréhension de liste.
- Les auteurs et leurs contributions sont présentés sur cette page. [↩]
- Issu de cette page Wikipedia (le texte des pages Wikipedia est disponible sous licence CC BY-SA 3.0.) et précédemment utilisé dans plusieurs articles de ce carnet. Pour rappel, si vous souhaitez vous informer, en français, sur le yosakoi (よさこい) : site de l’association Yosakoi Paris Hinodemai, page de la Fédération de Yosakoi de France (FYF). [↩]
OpenEdition vous propose de citer ce billet de la manière suivante :
Alexander Delaporte (20 octobre 2021). Utiliser TinySegmenter avec Python. Tekipaki. Consulté le 10 décembre 2024 à l’adresse https://doi.org/10.58079/up2o