Thanks to visit codestin.com
Credit goes to github.com

Skip to content
View Incheonkirin's full-sized avatar
🥽
🥽

Block or report Incheonkirin

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Incheonkirin/README.md

Mingi Jeong (정민기)

Search & Retrieval Applied Scientist spanning lexical retrieval, dense retrieval, hybrid search, and neural reranking.

7 years · 16 merged upstream PRs · 42Maru Search 5.5y · MetLife Production ML

I turn production relevance failures into reproducible research, evaluation protocols, and upstream fixes across Lucene, Elasticsearch, sentence-transformers, and Transformers.

LinkedIn Email

Selected Evidence

Neural ranking correctness. Padding changed ListMLE/PListMLE loss and valid-document gradients. Maintainer-reported NanoBEIR R100 mean nDCG@10: ListMLE ~0.39 -> 0.529; matched PListMLE 0.514 -> 0.525.
Research study · sentence-transformers #3827

Query semantics. An exact Korean source phrase produced match=1, match_phrase(slop=0)=0, and match_phrase(slop=1)=1. Fixed two graph position-gap paths.
Research study · Elasticsearch #152931

Text representation. Added an offset-correct Hangul composition filter so canonically equivalent NFD/NFC modern Hangul can receive equivalent nori analysis.
Research study · Apache Lucene #16242

End-To-End Search Relevance

Korean text -> Lucene/nori -> Elasticsearch query semantics
            -> BM25 + dense retrieval -> hybrid fusion
            -> cross-encoder reranking -> relevance evaluation

Ranking-objective correctness: Can irrelevant batch padding alter a query's optimization signal and downstream reranker quality?

Representation correctness: Which Unicode, morphology, and token-graph boundaries erase distinctions before ranking?

Polarity-aware retrieval: Do lexical, dense, and reranked systems prefer evidence supporting the opposite proposition?

Each study follows the same evidence chain:

Production-shaped failure -> minimal reproduction -> broken invariant -> controlled experiment -> measured impact -> upstream validation.

Production And Public Impact

Production search. 5.5 years on 42Maru's search team across BM25 relevance, contrastive retrieval, RAG/MRC QA, large-scale indexing, and crawler systems. Enterprise evidence: DSME semantic QA, Hana Bank OCR-NLP/AML.

Production insurance ML. Current MetLife work across features, training, deployment, retraining, monitoring, and online-tested churn, fraud-risk, channel, and cross-sell models.

Retrieval research lab. 36,983 evidence passages; 544-row silver retrieval study; best checked-in clause@20 64.9%; 444-triple polarity stress across lexical, dense, and reranked systems. Reproducible public companion.

Public data assets. Led task design, annotation guidelines, QA, and baseline evaluation for five NIA AI Hub releases totaling approximately 2.3M QA pairs and a 304M-token corpus. Downstream reuse: K-FinHallu, FINALE.

Open-source depth. 16 merged external contributions across Lucene, Elasticsearch, sentence-transformers, Transformers, MLflow, and LlamaIndex. Full PR search.

Technical Scope

Information Retrieval · Search Relevance · BM25 · Dense Retrieval · Hybrid Search · Learning to Rank · Cross-Encoder Reranking · Hard-Negative Mining · Lucene · Elasticsearch · PyTorch · sentence-transformers · ANN · nDCG · Recall · RAG Evaluation

Full upstream record: 16 merged contributions

Korean Search And Ranking

  • sentence-transformers #3827: excluded padding from the ListMLE/PListMLE Plackett-Luce normalizer and added a padding-invariance regression. Maintainer-reported NanoBEIR R100 mean nDCG@10: ListMLE approximately 0.39 -> 0.529; matched PListMLE 0.514 -> 0.525. Merged.
  • Apache Lucene #16242: added an opt-in HangulCompositionCharFilter to nori with offset correction and deliberately narrow Unicode scope. Merged.
  • Elasticsearch #151157: documented that the default nori XPN stop tag can remove meaning-bearing prefixes (비급여 -> 급여, 부담보 -> 담보) and documented configuration remedies. Merged.
  • Elasticsearch #152931: preserved position holes in graph phrase queries, fixing exact-source false negatives with span and nori end-to-end tests. Merged.

Embedding Losses And Model Internals

  • sentence-transformers #3817: fixed gathered positives being masked as false negatives in distributed GIST losses. Merged.
  • sentence-transformers #3821: made relative-margin filtering sign-independent in mining and GIST losses. Merged.
  • sentence-transformers #3816: avoided materializing the full non-FAISS query-corpus similarity matrix; a 10K x 100K local run reduced peak RSS from 4.56 GB to 1.09 GB while preserving outputs. Merged.
  • sentence-transformers #3812: added MPS support to cached-loss random-state handling. Merged.
  • sentence-transformers #3800: fixed bf16/fp16 training crashes across six learning-to-rank losses. Merged.
  • Transformers #46530: fixed CJK stop-string matching on byte-fragment tokenizers. Merged.
  • Transformers #46670: made continuous-batching output a snapshot, preventing mutable delivered chunks and soft-reset bookkeeping drift. Merged.
  • Transformers #46624: fixed dynamic RoPE failing to reset inv_freq when layer_type=None. Merged.
  • Transformers #46763: rounded the ue8m0 FP8 scale before quantization so dequantization matches the stored inverse. Merged.
  • Transformers #46784: fixed Moonshine training loss being shifted twice. Merged.
  • LlamaIndex #21900: fixed text-splitter recursion when one CJK or emoji token exceeds chunk_size. Merged.
  • MLflow #23957: fixed genai.evaluate() dropping dataset expectations and tags with scorers=[]. Merged.

Additional Evidence

Repository Map

  • search_system: runnable Korean insurance-clause retrieval with nori BM25, BGE-M3, hybrid fusion, cross-encoder reranking, Elasticsearch, and FastAPI.
  • ko-evidence-bench: privacy-safe retrieval evaluation, synthetic probes, aggregate studies, and representation-correctness research.
  • fraud-dataset-validity: reproducible validity audit of public synthetic fraud datasets.
  • insurance-bias-probe: controlled demographic-consistency probes for Korean insurance answers.

Python PyTorch Transformers sentence-transformers Elasticsearch / Lucene

Pinned Loading

  1. Incheonkirin.github.io Incheonkirin.github.io Public

    Personal site — portfolio and notes.

    TypeScript