4

私は研究者であり、約17,000のフリーテキスト文書があり、そのうちの約30〜40%が私の成果に関連しています。結果に関連付けられている最も一般的な単語(またはフレーズですが、必須ではありません)を判別し、すでに出現している単語の頻度を正規化するために使用できるオープンソースツールはありますか?すべてのドキュメントは医療従事者によって作成されているため、両方のドキュメントに技術用語があり、「the」、「it」などの単語を選別する必要があるため、正規化することが重要です。

私がやろうとしているのは、正規表現またはNLPを使用してツールを構築し、これらの単語を使用して新しいドキュメントに基づいて結果を特定することです。NLPツールのカスタマイズに膨大な時間を費やすつもりはないので、妥当な精度の何かで十分です。

私はSAS、SQL(postgreSQLを使用しています)、およびPythonを知っていますが、Rでうまくいく可能性があります。これまでNLPを実行したことはありません。学習曲線が急すぎない、使用できるソフトウェアはありますか?ありがとう!

4

4 に答える 4

2
  tool I can use to determine the most common words... 
  ... so something with reasonable accuracy is good enough.

最初に UNIX テキスト ツールを使用することをお勧めします。coursera自然言語処理講座 Word Tokenization Lesson から、Youtubeリンクはこちら. ここに簡単なチュートリアルがあります。

この目的のために、 truniq、およびsortを使用します。以前に UNIX テキスト ツールを使用したことがある場合、これは完全なコマンドです。

 tr -sc 'A-Z' 'a-z'  < *.txt | tr -sc 'A-Za-z' '\n'  | sort | uniq -c | sort -n -r

それ以外の場合、以下はすべての部分の説明です。

tr -sc 'A-Za-z' '\n' < filename.txt 

このコマンドは filename.txt change every word を取得します。基本的に、すべての単語の後に新しい行を追加します。

tr -sc 'A-Za-z' '\n' < *.txt 

上記と同じですが、ディレクトリ内のすべての txt ファイル。

tr -sc 'A-Za-z' '\n' < *.txt | sort 

コマンドを並べ替えます。最初はたくさんの「a」単語から始まります。

tr -sc 'A-Za-z' '\n' < *.txt | sort | uniq -c 

並べ替え結果を uniq コマンドにパイプしてカウントします。

tr -sc 'A-Za-z' '\n' < *.txt | sort | uniq -c | sort -n -r

コマンドをもう一度並べ替えて、最も使用されている、最も一般的な単語を表示します。

ここでの問題:「and」と「And」が 2 回カウントされる

tr -sc 'A-Z' 'a-z'  < *.txt | tr -sc 'A-Za-z' '\n'  | sort | uniq -c | sort -n -r

また

tr '[:upper:]' '[:lower:]' < *.txt | tr -sc 'A-Za-z' '\n'  | sort | uniq -c | sort -n -r

すべての単語を小文字に変更し、同じパイプをもう一度使用します。これにより、ファイル内で最も一般的な単語が取得されます。

于 2013-03-21T19:39:02.630 に答える
0

GATE (General Architecture of Text Engineering) は、ここで役立つツールです。

これには、GUI ツールを介してコーパス上のアノテーションを使用してアノテーションを作成し、フレーズを構成してから、Java Annotation Patterns Engine (JAPE) を実行すると非常に役立ちます。

http://gate.ac.uk/sale/tao/splitch8.html#chap:jape

http://gate.ac.uk/sale/thakker-jape-tutorial/GATE%20JAPE%20manual.pdf

また

http://gate.ac.uk

表示できる便利なリンクです。

私たちは、アプリケーションの 1 つでこのツールの助けを借りて、医療コーパスからの兆候と症状の抽出システムを経験しました。

ありがとう。

于 2013-03-21T17:10:55.017 に答える
0

NLP は確かに簡単ではなく、この特定のケースでは必要ないかもしれません。正規化に関しては、おそらくtf-idfで十分でしょうか?

于 2013-07-17T13:21:45.627 に答える
-1

ここでいくつかの便利なRパッケージへのリンクを見つけることができます:

http://cran.r-project.org/web/views/NaturalLanguageProcessing.html

于 2013-03-21T18:27:47.140 に答える