英語以外のテキストの単語頻度:単数形と複数形を組み合わせる方法など?

英語以外のテキストの単語頻度:単数形と複数形を組み合わせる方法など?

ソート中です。フランス国民一部のテキストファイルの言語単語は、次のものに基づいています。頻度集中する洞察力統計的な意味ではなく、問題はアクセント付きの文字を保存して処理することです。記事形式順序のための単語マーカーの形成の文脈で、コレクション(l'、)の前に来ます。d'

テーマは最も頻繁ファイル内の単語はさまざまな形式で表示されます(1|2|サム|4)。だから私はこの機能を使って組み合わせます。牛に似た一種の栄養便利:

compt1 () {
for i in *.txt; do
    echo "File: $i"
    sed -e 's/ /\
/g' <"$i" | sed -e 's/^[[:alpha:]][[:punct:]]\(.*\)/\1/' | sed -e 's/\(.*\)/\L\1/' | grep -hEo "[[:alnum:]_'-]+" | grep -Fvwf /path_to_stop_words_file | sort | uniq -c | sort -rn 
done
}

...行の先頭から1文字を切り取り、すべてを小文字に変換します。この単純なgrep構造を使用して単語構成文字を一致させ、停止単語を削除します。最後に一般的なソートです。これファイルの停止個々のキャラクターを含む部分が含まれているので注意が必要ですが、生成方法に関する情報を提供します。様々な言語の言葉が本当に楽しいです!

grep -cさて、重要な単語の頻度をファイルに直接出力するのと比較すると、特定の誤差範囲内で十分に近いと思います。


質問:

  • 複数の頻度を単数形(つまり、共通の接頭辞と他の1文字の接尾辞を共有する単語)とマージするにはどうすればよいですか?
  • grepこの部分が大丈夫かどうかを評価しようとしています。働く何が起こったのかOSX

1. 元のデータを提供することはできませんが、提供することはできます。これファイルを例に挙げましょう。もし時間そして幼児本文に例を示します。前者はテキストに2回表示されます(一度は「l'heure」)。これはコマンドが有効であることを確認するのに役立ちます。後者は単数形と複数形で表示されます(幼児/幼児)ここに統合すると利益を得ることができます。

ベストアンサー1

単純なスクリプトではsedこれを行うことはできません。私は「引用形式」に単純化し、すべての屈折を基本形式に縮小したいとします。

これは、次の形容詞を意味します。弟子、弟子、弟子、弟子すべて同じもの、基本形容詞/噴射とみなされます。弟子。同様に、動詞のすべての活用型保護者- 良いprotége, protégeons, protégeais, protégeasse, protégeâmes, protégeront, protégeraientなど - 基本動詞に縮小されます。

これは、言語の屈折形態を理解する必要があることを意味します。さらに悪いことは、活用や同型異義語の区別など、言語の実際の文法について知る必要があるということです。

私は終わった。非常に少なくともPerlを使って最初の部分を実装する簡単な方法があります。これは本当に非常に痛みを伴うものです。以下は、イベリア半島の都市のソートキーを生成するために使用するコードの例です。

       #主な記事1
          s/^L'//; #カタロニア語
          s{^
            (?:
        #カスティーリャ
                エルザ
              |ロス
              |引く
              |ラス

        #カタロニア語
              |エルス
              |レス         
              |会社
              |エース

        #ガレゴ
              |酸素       
              |オペレーティングシステム
              |A
              |へ      
            )
            \s+
          } {} X;
        #2番目の内部粒子
          s/\b[dl]'//g # カタロニア語
          S {
            \雨
            (?:
                el|los|la|ras|de|削除|はい
              |els|les|i|sa|es|#CA を削除
              |ああ|os|a|as|do|da|os|das #GAL
            )
            \雨
        {} gx;

これにより、アイテムとパーティクルが削除され、分類目的で計算されなくなります。ただし、次の表を処理する必要があります。オテル実際、U + 2019の右側の一重引用符、いわゆる丸い引用符を使用すると、好ましいアポストロフィの形です。まずdirectに正規化しますs/’/'/g

ああ、そしてエンコードの問題も処理する必要があります。 MacRomanはUTF-8やISO-8859-1と同じではありません。近いこともありません。

正直に言えば、Snowball 形態素解析などの機能を使用して、フランス語を言語で指定したい場合があります。もちろん、PerlのLingua::Stem::Snowballモジュールはこれを行う方法を知っています。次のコマンドを使用すると、フランス語学に関連するPerlモジュールを検索できます。このクエリ

しかし、茎はこれまでだけあなたを連れて行くことができます。形態分析分析を適用しないと、実際には良いことはできません。つまり、文の構文解析を生成し、文の各要素に品詞を割り当てる必要があることを意味します。

これにはより多くの作業が必要です。良いニュースは、これを行うための専門的なツールがあり、そのいくつかはフランス語で動作することです。しかし、これは自然言語処理と計算言語学に触れることになるので、これは重要です。このような質問をするのに良い場所はありませんが、Lingustics.SEでより良い答えを得ることができるかどうかはわかりません。

おすすめ記事