私は、長い(長い)文字列が多数あるdata.frameを持っています。私はそれらを処理する前にそれらを少しきれいにしようとしていますが、私はピリオドを扱うときに問題に遭遇しました。私は、文章を終わらせるためにピリオドが使われるときと、それが略語の一部として使われるときを区別できるようにしたい。私は単語の長さでこれをやりたいですが、それのための正しい正規表現を考え出していない。文字列の句読点を単語の長さで異なる方法で置き換えるR
私はこのような文字列を持っています:mystring <- "hello.world from the u.s.a."
私はこれを"hello world from the usa"
のようなものに置き換えたいと思います。
私はsplit_string <- unlist(strsplit(mystring, split=" "))
を使用して、スペースでdata.frameを分割しようとした後、
split_string <- ifelse(nchar(split_string) < 7, gsub(".", "", split_string), gsub(".", " ", split_string))
のようなものを実行しているが、テキストのボディがかなり大きいように、これは非常に遅い(そしてかなり醜いです可能性があり)プロセス。どのように私はより効率的かつクリーンな方法でこれを行うことができますか?
直接的な答えではなく、 'Python'と' nltk'で文字列を前処理することを検討してください。これは短縮形のドットと文末を区別するためにはるかに優れています。 – Jan
文章を分割する方が良いのでしょうか? –
主な問題は、データが非常に乱雑で、文境界がどこにあるのかを知ることが難しいことです。たとえば、 "hello"と "world"を2つのトークンに分割したいとします。 "単一のトークンとして。 – mlinegar