2017-09-07 6 views
0

NLTKを使用してセンテンスをトークン化しましたが、今はそのセンタンスを文字列に再構築したいと思います。 私はドキュメントを見てきましたが、これを行うには明らかなワットが見えません。これはまったく可能ですか?トークンからのNLTK再構成文

tokens = [token.lower() for token in tokensCorrect] 

答えて

1

nltkはそのような機能を提供しません。空白はトークン化中に破棄されるので、あなたが始めたものを正確に返す方法はありません。空白には改行と複数の空白が含まれている可能性があり、これらを戻す方法はありません。あなたができることは、普通の文のように見える文字列に文章を結合することです。

>>> print(" ".join(tokens)) 
'This is a sentence .' 

だから、あなたがスペースを持っている必要があり(``などの少数精鋭を除く、ほとんどの句読点の前にスペースを取り除く必要があります:シンプル" ".join(tokens)前と奇妙に見えるすべての句読点、後にスペースを入れてますの後、が削除されました。アポストロフィー'は、単語の間に、場合によっては前に、時には後で使用されることがあるため、時には推測になります。 ("Nuthin' doin', y'all!")これで幸運です。

私は、文をトークン化した元の文字列を保持し、それらの文字列に戻って戻ってくることをお勧めします。あなたはあなたの文章がどこから来たのかを示していないので、それ以上のことは言いません。

関連する問題