38

ツイートのリストがあり、英語のツイートのみを保持したいと考えています。

これどうやってするの?

4

7 に答える 7

46

textcatパッケージはこれを行います。74 の「言語」(より正確には、言語/エンコーディングの組み合わせ) を検出でき、他の拡張機能を使用するとさらに多くの言語を検出できます。詳細と例は、次の無料で入手できる記事にあります。

Hornik, K.、Mair, P.、Rauch, J.、Geiger, W.、Buchta, C.、および Feinerer, I. R. Journal of Statistical Softwareの n-Gram ベースのテキスト分類のための textcat パッケージ、52、 1-17。

要約は次のとおりです。

通常、使用される言語を特定することは、ほとんどの自然言語処理タスクの最初のステップです。文献で議論されているさまざまな言語識別方法の中で、Cavnar と Trenkle (1994) の手法を使用して、文字 n-gram 頻度に基づいてテキストを分類する方法が特に成功しています。このホワイト ペーパーでは、Cavnar アプローチと Trenkle アプローチの両方を実装する n グラム ベースのテキスト分類用の R 拡張パッケージ textcat と、元のアプローチの冗長性を取り除くように設計された縮小 n グラム アプローチを紹介します。トピックの選択で利用可能なウィキペディアのページから取得された多言語コーパスは、パッケージの機能と提供された言語識別方法のパフォーマンスを示すために使用されます。

そして、これが彼らの例の1つです:

library("textcat")
textcat(c(
  "This is an English sentence.",
  "Das ist ein deutscher Satz.",
  "Esta es una frase en espa~nol."))
[1] "english" "german" "spanish" 
于 2013-05-30T04:15:57.523 に答える
26

Google Chrome の言語検出を R にもたらすhttp://cran.r-project.org/web/packages/cldr/を試してください。

#install from archive
url <- "http://cran.us.r-project.org/src/contrib/Archive/cldr/cldr_1.1.0.tar.gz"
pkgFile<-"cldr_1.1.0.tar.gz"
download.file(url = url, destfile = pkgFile)
install.packages(pkgs=pkgFile, type="source", repos=NULL)
unlink(pkgFile)
# or devtools::install_version("cldr",version="1.1.0")

#usage
library(cldr)
demo(cldr)
于 2013-05-20T16:59:01.123 に答える
15

R でのアプローチは、英単語のテキスト ファイルを保持することです。http://www.sil.org/linguistics/wordlists/english/からのものを含め、これらのいくつかがあります。.txt ファイルを取得したら、このファイルを使用して各ツイートと照合できます。何かのようなもの:

lapply(tweets, function(x) EnglishWordComparisonList %in% x)

それが英語であるかどうかを判断するために、切り捨てられるしきい値のパーセンテージが必要です (私は任意に .06 を選択しました)。

EnglishWordComparisonList<-as.vector(source(path to the list you downloaded above))

Englishinator<-function(tweet, threshold = .06) {
    TWTS <- which((EnglishWordComparisonList %in% tweet)/length(tweet) > threshold)
    tweet[TWTS]
    #or tweet[TWTS,] if the original tweets is a data frame
}

lapply(tweets, Englishinator)

私は自分の研究で英語の単語リストをかなり異なる方法で使用しているため、実際にはこれを使用していませんが、これはうまくいくと思います.

于 2011-11-10T15:50:42.310 に答える
4

There is also a pretty well working R package called "franc". Though, it is slower than the others, I had a better experience with it than with cld2 and especially cld3.

于 2019-07-05T12:49:46.470 に答える
3

Rについてはわかりませんが、他の言語用のライブラリがいくつかあります。ここに集められたそれらのいくつかを見つけることができます:

http://www.detectlanguage.com/

また、最近の興味深いプロジェクトの 1 つ:

http://blog.mikemccandless.com/2011/10/language-detection-with-googles-compact.html

このライブラリを使用して、Twitter 言語マップが作成されました。

http://www.flickr.com/photos/walkingsf/6277163176/in/photostream

R 用のライブラリが見つからない場合は、Web サービスを介してリモート言語検出器を使用することを検討することをお勧めします。

于 2011-11-10T11:29:38.530 に答える