2

多くのグーグル検索の後、誰かが私を助けてくれることを期待して、ここに問題を投稿することにしました。私が達成したいのは、次のようにクエリを実行することです。

q1: (adjective) "jumps" (preposition) // any adj followed by "jumps" followed by any prep.  
q2: (adjective:brown) "jumps" (preposition) // brown as adj. followed by "jumps" followed by any prep.  
q3: (adjective:brown) (verb:jumps) (preposition) // brown as adj followed by jumps as verb followed by any preposition.  

より一般的な形で、私が欲しいのは

(POS[:specific_word]) (POS[:specific_word]) (POS[:specific_word])  

そのために、次のようにタグ付けされたテキストがあります。

the|[pos:DT][lemma:the] quick|[pos:JJ][lemma:quick] brown|[pos:JJ][lemma:brown] fox|[pos:NN][lemma:fox] jumps|[pos:NNS][lemma:jump] over|[pos:IN][lemma:over] the|[pos:DT][lemma:the] lazy|[pos:JJ][lemma:lazy] dog|[pos:NN][lemma:dog]

私が最初に考えたのは、各用語の追加情報をペイロードとしてインデックス化し、その後、各スパンのペイロードにアクセスするために PayloadNearQuery を使用することでした。問題は、PayloadNearQuery が最初に用語に一致してからそのペイロードにアクセスするため、上記の 3 つのクエリのいずれも機能しないことです。(間違っていたら訂正してください)

私が考えた2番目のことは、余分な情報を用語の同義語として索引付けすることでしたが、この方法では、最初の用語がadjであり、特定の単語「茶色」であるかどうかを同時に尋ねることができないため、2番目のクエリは機能しません.

この問題に対処する方法、提案などをいただければ幸いです。

4

0 に答える 0