python - 英語の API 開発ドキュメント (javadoc ドキュメントなど) の単語頻度をカウントするにはどうすればよいですか?
迷茫
迷茫 2017-07-05 10:35:00
0
2
1118

タイトルのように、より簡単な関数は、English API 開発ドキュメントの単語頻度をカウントする方法です。 (ドキュメントは複数の HTML ファイルであるか、単純な txt テキストではなく chm ファイルである可能性があります);

さらに複雑な要件は、開発ドキュメントには多くのクラス名、関数名、メソッド名などが含まれるため、単語がつながっている可能性があり、数えるときに単語を区切るのが最善であるということです (これは分離できます)命名規則による)

さらに複雑な要件は、単に文書の単語の出現頻度をカウントすることには実際的な意味があまりないため、カウントされた単語をどのように再処理するかということです:

  • the、are、to、is...

    など、開発にとってほとんど意味のないいくつかの単純な単語を削除します。
  • コンピュータに関連する専門用語、プログラミングで特定の意味を持つ単語、またはプログラミング言語のキーワード (ドキュメントに対応するさまざまな言語が含まれる) を分析します;

  • 最終的に分析された単語の説明に注釈を付けます (中国語では、サードパーティの API を使用できます)...

上記の機能を備えたソフトウェアを開発する場合、具体的にはどのような技術が必要ですか? アイデアをお寄せください...

そうですね、実は私の悩みは、英語の文書を読むときに、理解できない単語が多すぎて、単語を調べなければならないことが多く、効率が低すぎることです。文書を統計的に分析できるツール 文書を読む前に、その文書の語彙の意味を大まかに把握できるので効率が上がり、ネーミングも開発に役立ちます...

変更点:

  • 一緒につながっている単語を分離することは、確かに単語分割技術ではありません。前に間違ったことを言いました;

  • 元の質問では機械学習の使用について触れられていましたが、私の考えは次のとおりです: 機械学習を備えたソフトウェアは、大量のプログラミング開発ドキュメントを読み、そこから専門用語を見つけ出し、機能全体を実装します。 ...もちろん、これは私の想像にすぎず、正しくない可能性があります。気に入らない場合は批判しないでください;

  • 最後に、先ほどの英語の文書を読むという問題ですが、最初は理解できない段階があり、効率が低いということは誰にでもあります。徐々に効率が上がっていくのでしょうか?誰もが真実を知っています...

    しかし、これは私たちの議論の焦点では​​ありません、私はただこのアイデアを持っていて、みんなで話し合うためにそれを提案するだけです

また、質問内容が間違っていた場合は、メッセージを残していただければ修正させていただきますので、コメントいただけませんでしょうか。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(2)
世界只因有你

大学院入学試験の準備中、長い間コードを書いていませんでしたが、一般的な考え方は次のようになります:

  1. クリーニングとフィルタリング: HTML の場合は、まずコンテンツをフィルタリングして、独自の規則を作成することも、他の人が作成したルールを検索することもできます

  2. 単語の分割: まずスペースなどの一般的な区切り文字を使用して単語をフィルターし、次にさまざまな言語の命名規則に従って単語を 1 つずつ検索します

  3. 一般的な単語をフィルタリング: インターネット上で一般的な英単語のファイルを見つけて、それらを照合できるはずです

  4. WordCount: Python を使用して MapReduce フィルタリングを自分で実装することも、Hadoop、Spark などを使用することもできます

これで、単純な単語をフィルタリングするための単語統計が完了しました。コンピューター関連の単語のカウントについては、コンピューター関連の単語のデータ ファイルをオンラインでダウンロードし、説明する必要がある場合は、Youdao または Baidu Translate に電話して直接照合する必要があります。 API で十分ですが、これらの API には上限がある可能性があり、使用したことはありません。

上記の手順では効率の問題は考慮されていません。効率の問題を考慮する必要がある場合は、いくつかのアルゴリズムを使用するか、他の人が作成したクラス ライブラリを直接使用する必要があります。

あなたが言及した機械学習については、現時点ではここでの要件は必要なく、使用する必要はありません。


最後に、やはり言いたいのは、文書を理解するための最も早い方法は、より多くの文書を読むことです。読み続ければ、文書を読む速度がどんどん速くなることがわかります。しかし、これを研修プロジェクトとして捉えると、何か面白いことをやっているとも言えます。

質問に対する回答を修正しました:
あなたが言及した機械学習は現在、一般に教師ありと教師なしですが、あなたの言及によると:


機械学習を備えたソフトウェアは、大量のプログラミング開発ドキュメントを読み取り、内部の専門用語を見つけ出し、機能全体の実装をよりインテリジェントにします...

    教師あり学習を使用する場合、コーパス データのサポートが必ず必要になります。既にコーパス データがある場合は、文字列マッチングを直接使用して実装してみてはいかがでしょうか。
  1. 教師なし学習を使用する場合、私はまだ初心者ですが、コンピューター用語を自動的に識別したい場合は、手動のアノテーションまたはデータサポートが必要です
  2. さらに進む場合は、NLPを注意深く学ぶ必要があります
  3. 機械学習に興味があると思いますが、これは機械学習を実践するのには適したプロジェクトではないと感じます。
いいねを押す +0
淡淡烟草味

これを英語の単語の分割と呼ぶべきではありません。単語の分割は文の構成要素ごとに分割することを指します。結合された変数名は、大文字と小文字のキャメルケース、アンダースコアで区切られたアンダースコアなどの一般的な命名方法で識別できます。

単語分割用のさまざまな Word Splitting ライブラリが見つかり、Python にも多数あるはずです。コンピュータ専門名詞の辞書をダウンロードし、単語を抽出して辞書と照合して意味を取得します。

でも、実際は、作ったとしても、文字だけ見ると、救国にはちょっと曲がりがあって、読めなくなる可能性が高いです。それはまったく。コンピュータ関連の記事の語彙はそれほど多くありません。一度覚えてしまえば二度馴染みます。コリンズ デュアル ソリューションを Macmillan、MDict、または Oulu 辞書と組み合わせて使用​​することをお勧めします。 。 Chrome では、Saladict をインストールして単語を検索することもできます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート