1

「より一般的」、「一般的ではない」、「同じ意味」、「反対の意味」などの2つの文字列を一致させるというこの問題があります。

文字列は任意のドメインから取得できます。文字列が人々の電子メールからのものである可能性があると仮定します。

例を挙げると、

String 1 = "movies"
String 2 = "Inception"

ここで、インセプションは映画ほど一般的ではないことを知っておく必要があります (一種の is-a 関係)。

String 1 = "Inception"
String 2 = "Christopher Nolan"

ここで、インセプションはクリストファー・ノーランほど一般的ではないことを知っておく必要があります

String 1 = "service tax"
String 2 = "service tax 2015"

一見すると、S-match でうまくいくように見えます。しかし、WordNet や GeoWordNet 以外のナレッジ ベースで S-match を機能させることができるかどうかはわかりません (そのページに記載されています)。

word2vecまたはを使用するdl4jと、類似性スコアが得られると思います。more generalしかし、文字列が他の文字列であるかどうかを伝えることもサポートしていますless generalか?

しかし、word2vec はトレーニング セットやウィキペディアなどの大規模なコーパスに基づいている可能性があります。

誰かが前に進む道に光を当てることができますか?

4

1 に答える 1

1

word2vecおよびなどの機械学習手法の現在の使用法は、単語のモデル化に分布仮説dl4jに基づいています。コンテキストに基づいて単語やフレーズのモデルをトレーニングします。これらの単語モデルには存在論的側面はありません。トレーニングされた最良のケースでは、これらのツールに基づくモデルは、2 つの単語が同様のコンテキストに現れるかどうかを判断できます。それが、それらの類似性測定がどのように機能するかです。

これらのモデルが「言語規則性」を学習できることを示唆するMikolov の論文 ( ab、およびc ) には、存在論的テスト分析がなく、これらのモデルが「単語ペアのメンバー間の類似性」を予測できることを示唆するだけです。この種の予測は、あなたの仕事には役に立ちません。これらのモデルは、関連性と対比して類似性を認識することさえできません(たとえばSimLex テスト セットのこのページを読んでください)。

問題を解決するには、オントロジーデータベースが必要だと思います。あなたの例についてより具体的には、あなたの例では次のようString 1ですString 2

String 1 = "a"
String 2 = "b"

文の含意関係をチェックしようとしています:

(1)「cb

(2) 「ca

(3) 「cは a に関連しいる。

どこ:

(1) 含意 (2)

また

(1) 含意 (3)

最初の 2 つの例では、セマンティック知識ベースを使用して問題を解決できる可能性があります。しかし、3 番目の例では、2 つのフレーズの違いを理解する前に、おそらく構文解析が必要になるでしょう。たとえば、次のフレーズがあります。

「男性」

"全ての男性"

「背の高い男性」

"黒い服装の男"

「男性全般」

問題を解決するには、論理的な理解が必要です。ただし、言語の経済性に基づいて分析することはできますが、フレーズに単語を追加すると、通常は一般的ではなくなります。長い句は、短い句に比べて一般的ではありません。all問題を解決するための正確なツールを提供するわけではありませんが、 、 、などの特別な単語を使用せずにいくつgeneralかのフレーズを分析するのに役立ちますevery

于 2015-07-03T15:51:28.827 に答える