LoginSignup
0
0

alphabet-thief : アルファベットを奪い去る前処理ツール

Last updated at Posted at 2023-10-24

1. はじめに

NLPをやっていると、以下のような前処理をよく見かけると思います。

Trời mưa thì phải ở nhà. => Troi mua thi phai o nha.

上の例は分かりやすくベトナム語にしましたが、英語を除くヨーロッパ言語でもその多くが、26文字のラテンアルファベット以外のアルファベットを持っています。

また、以下はベトナム出身の妻と友人の会話です。

友人:ベトナム語ってアルファベットに色々くっつけた面白い文字を使ってるよね。
 妻:いやいや、これがベトナム語のアルファベットだから。

このように、各言語で重要な役割を果たしている小さな記号たちが軽視されている現状があると感じています。
そんな違和感から生み出されたのがalphabet-thiefです。

2. 概要

入力文から小さな記号たち以外を奪い去るツールです。

3. インストール

pipでインストールできます。

python -m pip install alphabet-thief

4. 使い方

アルファベットを奪うstealと、アルファベットを好きな文字に置換するreplaceの2つが実装されています。

例えば先ほどのベトナム語の例を用いると、以下のようになります。

import alphabet_thief

text = 'Trời mưa thì phải ở nhà.'
print(f'  input: "{text}"')

result1 = alphabet_thief.steal(text)
print(f'result1: "{result1}"')

result2 = alphabet_thief.replace(text, 'a')
print(f'result2: "{result2}"')
  input: "Trời mưa thì phải ở nhà."
result1: "   ̛̀    ̛     ̀    ̉   ̛̉    ̀."
result2: "aaà̛a aa̛a aaà aaảa ả̛ aaà."

result1の各記号やresult2のả̛ など一部表記のズレが見られますが、そんなアルファベットは登録されていないのに無理やりくっつけているため生じているようです。
PyPI上ではなぜかズレなく表示されていますのでご確認ください。

5. レポジトリ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0