clean-textウェブ上およびソーシャルメディアでのユーザー生成コンテンツは、しばしば汚れています。スクレイプされたデータをclean-textで前処理して、正規化されたテキスト表現を作成します。たとえば、この破損した入力を回します。
A bunch of \u2018new\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«このクリーンな出力に:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!" clean-text 、FTFY、Unidecode、および多数の手作りのルール、つまり、Regexを使用します。
gpl-lacensedパッケージUnidecodeをインストールするには:
pip install clean-text[gpl]あなたはGPLを控えたいかもしれません:
pip install clean-text NB:このパッケージは、 cleantextではなくclean-textという名前です。
UnideCodeが使用できない場合、 clean-text PythonのUnicodedata.Normalizeに頼ります。最も近いASCIIシンボルへの音訳は、手動でe ê伴います。 unidecodeのマッピングはスーパーですが、Unicodedataは十分です。ただし、データとユースケースに応じて、この機能を完全に無効にすることもできます。
それを明確にするために、 unidecodeの有無にかかわらずテキストを処理することとの間に矛盾があります。
from cleantext import clean
clean ( "some input" ,
fix_unicode = True , # fix various unicode errors
to_ascii = True , # transliterate to closest ASCII representation
lower = True , # lowercase text
no_line_breaks = False , # fully strip line breaks as opposed to only normalizing them
no_urls = False , # replace all URLs with a special token
no_emails = False , # replace all email addresses with a special token
no_phone_numbers = False , # replace all phone numbers with a special token
no_numbers = False , # replace all numbers with a special token
no_digits = False , # replace all digits with a special token
no_currency_symbols = False , # replace all currency symbols with a special token
no_punct = False , # remove punctuations
replace_with_punct = "" , # instead of removing punctuations you may replace them
replace_with_url = "<URL>" ,
replace_with_email = "<EMAIL>" ,
replace_with_phone_number = "<PHONE>" ,
replace_with_number = "<NUMBER>" ,
replace_with_digit = "0" ,
replace_with_currency_symbol = "<CUR>" ,
lang = "en" # set to 'de' for German special handling
)タスクに合った引数を注意深く選択してください。デフォルトのパラメーターは上記にリストされています。
また、特定の機能をクリーニングにのみ使用することもできます。このために、ソースコードをご覧ください。
これまでのところ、英語とドイツ語のみが完全にサポートされています。西洋言語の大部分で機能するはずです。あなたの言語のために特別な取り扱いが必要な場合は、お気軽に貢献してください。 ?
scikit-learnでclean-textを使用しますパイプラインで使用するScikit-Learn互換APIもあります。上記のすべてのパラメーターもここで機能します。
pip install clean-text[gpl,sklearn]
pip install clean-text[sklearn] from cleantext . sklearn import CleanTransformer
cleaner = CleanTransformer ( no_punct = False , lower = False )
cleaner . transform ([ 'Happily clean your text!' , 'Another Input' ])詩を使用してください。
質問がある場合、バグを見つけた場合、または新しい機能を提案したい場合は、[問題]ページをご覧ください。
プルリクエストは、バグを修正したり、コードの品質を向上させたりすると、特に歓迎されます。
clean-textの出力が気に入らない場合は、特定の入力と目的の出力を使用してテストを追加することを検討してください。
テキスタシーのためにバートン・デウィルデの作品に基づいて構築されました。
アパッチ