2017-02-16 5 views
-2

トピックを取り込んで既存のトピックと一致させ、トピックの類似度を返すアプリケーションに取り組んでいます。私はパワービルダーとsybaseを使用しています。トピックを格納する文字列変数(トピック)があります。変数を "tblres"の "restopic"フィールドにマッチさせる方法についての助けが必要です。 "topic"と "restopic"のすべてのアイテムのパーセンテージの類似度を返し、最高パーセンテージの類似度で結果を並べるクエリです。データは、ユーザ入力からは、列内の項目との文字列の類似性を一致させます。

tblres

ID RES_TOPIC

001大クラス

002を特定の道路

上の事故率が高い原因を教えるの課題を供給する=

トピック

003教育におけるコンピュータの影響

ユーザー入力から供給されたデータをRES_TOPICと照合して類似性の割合を求めたい

+0

あなたの現在のデータと入手したい情報を表示できますか?私はあなたが何を求めているのか理解できません。 –

+0

「照合」として定義した内容に応じて、データウィンドウオブジェクトの結果を生成するSQL文でこれを実行できます。 –

答えて

0

あなたが求めているものは不明です。どのようにの類似性の割合を定義するのですか

私はあなたが文字列を検索する方法を探していると思います。 Pos()関数を使用することができます。しかし、関数内で類似点を定義するのはあなたの仕事です。これが完了したら、データウィンドウをループするだけです。

ll_rows = tblres.rowcount() 
FOR ll_row = 1 to ll_rows 
    ll_similarity = similarity(tblres.getItemString(ll_row, 'res_topic'), topic) 
    // do something with ll_similarity 
NEXT 

function similarity(string res_topic, string topic) 
    //do something with pos() and mid() 
    //this is the place where the magic happens 
    return ll_percentage 
1

ない、これはあなたが探しているものですが、を使用してデータベースが原因を含むクエリならば、それは結果でSCORE列が含まれるか確認します。

スコアは一致がどのくらい近いかを示し、結果のランク付けに使用できます。

検索条件に含める任意の列にテキスト索引が必要です。

関連する問題