다른 공급 업체의 제품 가격을 비교하는 간단한 프로그램을 작성하려고합니다. 다른 공급 업체가 동일한 제품을 다른 것으로 부를 수도 있습니다.다른 상점/공급 업체의 제품 이름 비교 및 일치
- A2 전체 크림 우유 병
- A2 우유 전체 크림 2리터 2L
- A2 전체 크림 우유 2L
예를 들어, 다음과 같은 세 가지 문자열은 동일한 제품을 참조하십시오
또는 다음 두 문자열은 동일한 제품입니다.
- Ambi Pur 공기 청정제 자동차 항해 8mL. 신선한 바닐라 플라워 향수. - 각 1
- AMBI 뿌르 공기 청정기 항해 주 8 ㎖
또한 - 일부 제품이 동일하지 않지만 (예를 들어, 풀 크림 2L 우유 다양한 유사 제품을 포함 할 수있다.)
유사 각 제품에 대한 정보의 유일한 비트는 제목과 가격입니다.
이와 같이 제품 문자열을 일치시키는 데 현재 권장되는 기술은 무엇입니까? 내 인터넷 검색 및 기타 SO 스레드를 읽고에서
, 나는 발견
- 어떤 사람들은 베이지안 필터링 기술을 사용하는 것이 좋습니다.
- 일부 제품 문자열에 기능 추출을 수행하는 것이 좋습니다. 따라서 제품에서 브랜드 (예 : "A2"), 제품 ("우유") 및 용량 ("2L")을 추출한 다음 제품 간 거리 벡터를 만들고 제품과 일치시키기 위해 바이너리 분류기와 같은 것을 사용합니다 (SVM 언급했다). 그러나, 규칙이나 정규식의 모든 무리없이 이것을 달성하는 방법에 대한 확신이 없나요? 이 문제를 공격하는 더 똑똑한 자율 학습 방법이 있다고 가정하고 있습니까? 가격은 거리 벡터를 계산하는 데 사용할 수있는 또 다른 "기능"일 수 있습니다.
- 신경망 접근법을 사용하는 것이 좋습니다. 그러나 구체적인 코드 나 예제를 많이 찾을 수 없었습니다.
- Levenshtein 거리 또는 Jaro-Winkler 거리와 같은 문자열 유사 알고리즘을 사용하는 것이 좋습니다.
위의 기술 중 하나를 사용하거나 다른 기술을 사용 하시겠습니까?
또한 누구나 이런 종류의 문제에 대한 예제 코드 나 라이브러리를 알고 있습니까? 나는 어떤 것도 찾지 못했습니다.
(예를 들어 일부 사람들은 큰 데이터 세트에서 Jaro-Winkler 거리를 계산할 때 성능 문제가있는 것으로 보았습니다. Mahout과 같은 알고리즘을 분산 구현할 수 있기를 기대했지만 wasn
얼마나 많은 제품 (볼 파크 견적)을 관리해야합니까? – Blacksad
슈퍼마켓이므로 꽤 많은 수의 상품이 있습니다. 수만 개가 예상됩니다. – victorhooi
모든 제안은 훌륭하지만 감독이 있습니다. 그리고 수만명의 수업에 대한 감독 학습은 지옥이 될 것입니다 ... 저는 감독되지 않은 접근법을 생각할 수 없습니다. – Blacksad