TPTブログ

テックポート株式会社のブログです。 技術情報や製品・サービス情報、 また未経験社員がデータサイエンティストを 目指す奮闘記など、更新していきます。

▲本日の関数==neologdn.normalize()==

f:id:TBT_matsu:20200402152259p:plain

本日の関数:neologdn.normalize()

こんにちは。
テービーテックの村松です。

本日ご紹介する関数は「neologdn.normalize()」。
※※これまでご紹介した関数はこちら※※

どんな関数?

自然言語処理の前処理として使用する表記揺れの統一方法の一つです。
全角・半角の統一や重ね表現の除去ができます。
以前紹介した表記揺れ対策「unicodedata.normalize()」でも似た使い方をしましたね。

引数は?
neologdn.normalize(text, repeat)

引数は、

  • text:変換対象の文字列を指定します。
  • repeat:数字を指定します。例えば1を渡すと2文字以上の重ね表現を1文字にできます。

使ってみよう

input
text = 'ス ターーーーー~~ー トStart22'
コード
pip install neologdn
import neologdn
neologdn.normalize(text)

##結果
'スタートStart22'

半角カタカナは全角に、「ーーーーー」は全角に直ったうえで1文字に変換されました。
また、「 (空白)」や「~」「~」が除去され、全角英数字は半角に変換されます。

また、注意したいこととして、

text2 = 'Good!!!!!!'
neologdn.normalize(text2, repeat=1)

##結果
'God!'

このように重ね表現は短縮後の文字数を指定できますが、
「Good」のような単語まで「God」と変換されてしまいます。
ウッカリすると別の単語になってしまうので注意したい点ですね。

もっと詳しく!

ドキュメントへ!!