Candidate Matching¶
matchminer_ai.matching.match ¶
Candidate match generation helpers.
generate_candidate_matches ¶
generate_candidate_matches(query_df: DataFrame, corpus_df: DataFrame, *, k: int | None = 20) -> pd.DataFrame
Generate top-k candidate matches by ranking corpus items for each query item.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
query_df
|
DataFrame
|
Query-side DataFrame with embeddings. Must contain: - patient_id or space_trial_id: str - embedding : array-like |
required |
corpus_df
|
DataFrame
|
Corpus-side DataFrame with embeddings. Must contain: - patient_id or space_trial_id: str - embedding : array-like |
required |
k
|
int | None
|
Number of top matches to return per query entity. If None, return all corpus items per query (sorted by similarity). |
20
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
Ranked top-k match pairs including: - patient_id or space_trial_id (from query_df) - patient_id or space_trial_id (from corpus_df) - similarity_score : float - rank : int (1 = highest similarity per query) |
Source code in src/matchminer_ai/matching/match.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | |