web-dev-qa-db-ja.com

テキストの一節から意味やキーワードを抽象化するために、どのテクノロジー/アルゴリズムを使用する必要がありますか?

こんにちは、見てくれてありがとう!

バックグラウンド

私は、テキストのパッセージから意味を抽象化して、テキストが何を求めているかを判断し、そのテキストを検索結果のリストと照合する必要があるプロジェクトを持っています。

今、私はこれにいくつかのコンテキストがあり、次のシナリオは非常に近いですが、クライアントで私のNDAに違反していません:

Craig'sListへの投稿からソフトウェア開発者の職務記述書があるとしましょう。どういうわけかその説明を解析して、投稿がC#開発者、DBA、SDET、C++開発者などを探しているかどうかを推測したいと思います。さらに良いことに、年/レベルなどの特定のパラメーターを抽出することをお勧めします。特定のスタック(.NET、Javaなど)に関する経験と経験。

求人を抽象化したら、履歴書(CV)のデータベースを参照して、おそらく同じアルゴリズムまたは少なくともタグのシステムを使用して、ランク付けされた一致のセットを見つける必要があります。

質問

この目標を達成するにはどうすればよいですか?キーワードのインデックスを作成することを検討する必要がありますか?自然言語処理?進化的アルゴリズム?

人間の相互作用はごくわずかであると想定する必要があります。

求人情報の例

これは私がクレイグのリストからランダムに引き出した求人情報の例です:

才能が報われ、新しいアイデアが奨励される環境にあなたのキャリアをもたらすことをお勧めします。太平洋岸北西部の最高の小児医療センターであるシアトルチルドレンズでは、最先端の施設とオープンなキャリア成長の可能性以上のものを提供しています。また、臨床の専門知識の範囲をはるかに超えた、患者と家族への真のコミットメントを見つけることができます。 Center for Developmental Therapeuticsのアプリケーション開発シニアポジションは、ハイスループットデータ分析用のソフトウェアを開発、テスト、標準化、および実装します。これには、システム分析、設計、アプリケーションサポート、標準の調査、および生産オペレーションをサポートする顧客/ベンダー関係管理が含まれます。たとえば、プロテオミクスやメタボロミクスのアプリケーションを含む、ハイスループットデータ分析のためのエンドツーエンドワークフローへのさまざまな計算アプローチの統合をサポートします。アーキテクチャ、設計、開発、アルファ、ベータ、リリース、本番サポートなど、プロジェクトライフサイクルのすべてのフェーズに参加します。理想的な候補者は、この分野で学士号を取得し、ソフトウェア開発で3年以上の経験があります。 Java、Spring、AJAX、JSF、Hibernate、JQuery、およびJUnitの実用的な知識。 SQLの調整と実行計画の理解に関する確かな経験が、この役割の鍵となります。このオープニングの申請書を提出した直後に、必ず職務評価の質問に回答してください。必須:-コンピュータサイエンス、数学、ビジネス、または関連分野の学士号-3年のソフトウェア開発経験-Java、Spring、AJAX、JSF、Hibernate、JQuery、およびJUnitの実務知識-SQLチューニングおよび実行計画の理解-多層Webアプリケーションとスケーラビリティの課題の深い理解推奨:-5年以上のソフトウェア開発の経験-大規模なソフトウェアシステムの開発の経験-Webサービス(HTTP、JSON、SOAP、XML)の経験、 Unix/Linux環境、および分散システム(HADOOP)-分子生物学、バイオテクノロジー、マイクロアレイ、またはプロテオミクス向けのソフトウェアおよびアルゴリズム開発の経験。競争力のある賃金、寛大な有給休暇、交通機関の割引、従業員の報酬および表彰プログラムを提供しています。

ありがとう!

マット

3
Matt Cashatt

一般的に、求人広告で使用される言語は根拠があり、常に同様の構造を使用しています。複雑なNLPを適用するのは多すぎます。

考えられるアプローチの1つは、求人広告と履歴書に割り当てられたタグを使用して照合することです。ルールベースのシステムは、限られたデータセットに対して実装する方が高速ですが、維持するのが難しい場合があります。新しいキーワードを追加します。機械学習アプローチはより柔軟にすることができますが、追加コストを意味するトレーニングセットが必要です。

履歴書と求人広告は通常、少し異なるフレーズを使用します。候補者がすべてのテクノロジーについて言及したり、同様のテクノロジーについて言及したりしない場合があります。キーワードの分類法を使用することで、システムを強化できます:親キーワード(Webテクノロジー-> HTML; CSS; JavaScript)または同様のキーワード(Python <=> Ruby)

履歴書を求人広告と照合するための既存のデータがある場合は、機械学習を使用してそれを活用できます。システムは、どのフレーズが一緒になるか、どのキーワードが重要か重要でないかを学習します。さらに、必要な経験(ジュニア、シニア)、提供された経験(履歴書の経験セクションの詳細に基づくなど)など、より具体的な機能を抽出するためのルールを定義できます。 ) 等々。

2
izidor