2010-06-26 5 views
2

사용자가 기사를 업로드하는 데이터베이스가 있습니다. 내 웹 앱이 사용자가 읽는 것과 유사한 텍스트를 제안하는 알고리즘을 만들고 싶습니다.텍스트의 유사성을 찾는 방법

Levenshtein distance과 같은 몇 가지 예를 보았습니다. 그러나 이러한 알고리즘은 전체 기사가 아닌 문자열의 거리를 측정합니다. 텍스트에서 가장 중요한 키워드를 추출 할 수있는 방법이 있습니까? 확실히, 나는 "가장 중요한 것"이 모호한 용어라는 것을 이해합니다.

어떻게 다른 사이트에서이를 관리합니까?

덕분에 많은

+0

tf-idf, http://en.wikipedia.org/wiki/Tf%E2%80%93idf를 확인하십시오. –

답변

1

텍스트에서 가장 중요한 키워드를 추출하는 방법이 있나요?

예. 기본적으로 텍스트에서 모든 단어를 추출하고 빈도별로 단어를 정렬하고 공통 단어 사전 (a, an, the 등)을 일반적인 단어 사전과 비교하여 제거하고 상위 20 개 이상의 단어를 저장합니다. 각 기사에서 그들의 빈도와 함께.

저장하는 인기 단어의 수는 기사의 길이와 모든 기사의 주제와 관련이 있습니다. 프로그래밍 관련 질문에 대한 답변과 같이 특별 관심 분야에 더 많은 단어가 필요한 반면 일반적인 단어 기사에는 단어가 적습니다.

상위 단어의 절반 이상과 일치하는 기사는 관련있는 것으로 간주 될 수 있습니다. 관련성의 정도는 일치하는 상위 단어의 수와 일치하는 단어의 빈도에 따라 달라집니다.

두 기사의 각 일치 단어의 빈도를 곱하고 모든 제품을 합산하여 관련성 점수를 계산할 수 있습니다. 점수가 높을수록 관련 기사가 많아집니다.

0

각 단어의 '무게'를 에 표시되는 빈도로 모두 수정하려고 할 수 있습니다. 기사는입니다. 따라서 유사성을 가장 잘 나타내는 지표는 두 비교 대상과 다른 곳에서만 나타나는 단어입니다. 이것은 @Gilbert Le Blanc이 언급 한 일반적인 단어 (a, an, the 등)를 자동으로 무시합니다.

관련 문제