3

私の問題は、テーブル内のすべての人の名前を除外することです。つまり、会社、学校、機関の名前がデータベースに残されます。

会社や学校などの名前のリストが与えられるという簡単な解決策を試してみました。そこで最も一般的な用語を検索しました。(注: コストがかかるため、名前に含まれる一般的な文字列は検索しませんでした)。これらの用語と、最も一般的な部分文字列に重みを割り当てました。そのため、文字列に corp, inc, school, univ が含まれている場合、それが人の名前ではない可能性が非常に高くなります。

さて、問題はどうやってAI化するかです。また、企業のみ、学校のみなどの分類がしやすいようにしないといけません。

例えば

XYZ Brewery Corporation -> company
Harvard University -> school
Department of Health -> government agency

私が知っている唯一の AI 技術は、単純ベイズ、K-Means、階層型、FCM、ANN です。そういう技は普通に数値が出るので、どうやってAI化したらいいのかわからない。私が知っている、文字列を広範囲に処理する AI 技術は、レーベンシュタイン、ステミング、Needleman-Wunch、および Jaro-Winkler だけです。

私の最初のアプローチは間違っていますか?知っているテクニックをどのように組み込むことができますか? 新しい技術を学ばなければなりませんか?私はまだ学生なので、基本的にAIは初めてです。ただし、これは割り当てではなく、会社のプロジェクトのためです (実際、私はグループで唯一のコンピューター サイエンス専攻なので、非常に負担が大きくなります)。ちなみに、私が使用している言語が気になる場合は、C# を使用しています。これは、スタンドアロン アプリケーションにする予定であり、ユーザーは Windows を使用しているためです。

4

4 に答える 4

4

この問題は、一般にNamed Entity Recognition (NER)と呼ばれます。SharpNLPプロジェクトは、NER を含む NLP アルゴリズムの C# ライブラリです。名前検索に関するドキュメントがあるApacheのOpenNLPのC#ポートですが、完全に文書化されていないようです。SharpNLP のインターフェースはおそらく似ています。

于 2012-04-19T04:58:30.300 に答える
3

派手な機械学習アルゴリズムに飛び込むだけではいけません。あなたの常識と直感は、あなたをかなり遠くまで連れて行ってくれます。
エンティティの大規模なリストを作成するというあなたのアイデアは非常に優れており、世界中のすべての中等教育機関のリストを見つけることができれば、学校にとって非常にうまくいく可能性があります。このようなリストをまとめることができれば、世界中のすべての大学が含まれている可能性は低いですが、すべての実用的な目的にはおそらく十分です.
既にコンパイルしたリストから、エンティティのクラスごとにユニグラム (単語) とバイグラム (連続した単語のペア) が出現する回数を数え、特定のフレーズが特定のクラスに強く傾いていることを確認できます (例: 「部門」)。 of' は主に政府機関、'inc'、'ltd'、'& co.' は企業のみ、'university'、'school'、'college' は主に学校に使用される可能性があります)。これらのアイデアを Naive Bayes モデルに形式化することはできますが、大きな if-then ステートメントで特定のフレーズをチェックするだけの単純なルールを使用すると、90% の方法でそこにたどり着く可能性があります。

于 2012-04-19T05:13:00.743 に答える
0

Febrl プロジェクトを参照してください。

Febrl (Freely Extensible Biomedical Record Linkage) は、一意のレコード キーまたは識別子を共有しない 1 つ以上のファイルまたはデータ ソースのデータ標準化 (セグメンテーションとクリーニング) および確率論的レコード リンケージ (「ファジー」マッチング) を行います。

特に、doc アーカイブ内のbiomed2002hmm.pdfという名前のファイルを見てください。名前と住所のパターンを識別するための字句トークン化と隠れマルコフ モデルの使用について説明します。

提示されたアイデアは、個人名とビジネス名を識別する問題に適用できます。プロジェクトには、説明されている手法のコード例 (C# ではなく Python) が含まれています。

于 2012-04-19T04:50:16.747 に答える
0

Python ライブラリprobablepeopleは、条件付きランダム フィールド モデルを使用してこれを行います。(私はこのプロジェクトの貢献者です)、

于 2017-06-12T01:10:57.610 に答える