2011-01-12 5 views
0

나는 분류 된 광고의 가격을 분석하는 스크립트를 작성하고 있습니다.느슨하게 구성된 텍스트의 파싱 가격

텍스트가 매우 형편없이 구조화되어 있습니다. 때로는 가격이 존재하며 언젠가는 그렇지 않습니다. 때로는 사용자가 같은 품목에 대해 상점에서 100 유로의 비용이 들지만 고객은 80 유로로 판매합니다. 그리고 나는 그런 광고에서 가격 80 유로를 얻고 싶다.

다른 경우에는 각기 다른 가격의 제품을 더 많이 판매하며 가격의 합계를 얻고 싶습니다. 다른 경우에는 모든 물건을 사는 사람들에게 특별한 가격이 있습니다.이 경우에는 전체 세트의 가격을 얻고 싶습니다.이 가격은 일반적으로 모든 가격의 합보다 낮습니다.

지금 당장은 정규식과 일부 if-s를 사용하여 작업하고 있습니다. 이와 같은 것을 할 수있는 알고리즘이 있는지 궁금해 지지만 그 알고리즘을 인식하지 못하고 있습니까?

+0

저에게 "규칙적인"소리가 들리지 않습니다. – jasonbar

답변

2

당신은 정말 정규 표현식을 넘어 길을 간다 텍스트 분석에 대해 이야기하고, 그것은 단지 당신이 가격을 끌어 도움이 될 것입니다. 당신은 'x 유로였습니다, 이제는 유로를 묻습니다'와 같은 문구를 스캔해야 할 것입니다.

실제 샘플 입력 데이터가 많으면 많을수록 생성하려는 알려진 가격으로 더 좋습니다. 그런 다음 분석기를 연결하고 분석기가 실패한 레코드를보고 이유를 파악하고 결과에 만족할 때까지 수정하십시오.

Lucene 프로젝트에는 색인을 생성 할 텍스트를 준비하는 데 일반적으로 사용되는 분석 모듈이 있습니다.이 모듈을 사용하면 입력을 표준화하고 사용자 지정 분석기를 작성하여 들어오는 토큰을 처리 할 수 ​​있습니다. 정규식 지원이 내장 된 토크 나이저가 있다고 생각하지만 확실히 기억할 수는 없습니다.

+0

감사합니다. 그것을 살펴 보 겠지만, 아마 내가 좀 더 정규식과 ifs 스틱 것입니다 :) – Andraz