나는 내 웹 사이트에서 자동 제안 기능을 사용하기 위해 trie (접미어 트리)를 사용하고 있습니다.자동 제안 기능에 대한 가중치 트라이
이제 더 낮은 무게의 텍스트 위에 가장 많이 사용되는 (가장 중요도가 높은) 텍스트를 보여주고 싶습니다. 제안이 가중치가 적용되도록 내 트라이를 어떻게 바꿀 수 있습니까?
아니면 메모리에서 무게별로 정렬해야합니까?
나는 내 웹 사이트에서 자동 제안 기능을 사용하기 위해 trie (접미어 트리)를 사용하고 있습니다.자동 제안 기능에 대한 가중치 트라이
이제 더 낮은 무게의 텍스트 위에 가장 많이 사용되는 (가장 중요도가 높은) 텍스트를 보여주고 싶습니다. 제안이 가중치가 적용되도록 내 트라이를 어떻게 바꿀 수 있습니까?
아니면 메모리에서 무게별로 정렬해야합니까?
각 노드에 count
또는 weight
속성을 추가하고 단어를 사용하여 trie를 빌드 할 때 업데이트 할 수 있습니다. 각 문자의 초기 가중치는 0
입니다. 그러나 문자가 단어의 끝 문자이면 그 문자의 초기 가중치는 1
입니다. 단어를 계속 추가 할 때 터미널 문자의 가중치를 조정할 수 있습니다.
따라서, 예를 들어, 당신은 할 수 : 문자열에 대한
t:0
|
o:1
|
w:3---e:0
| \ \
n:2 a:0 l:4
\
r:0
\
d:2
to
, town
은 (두 번 나타나는) towel
은 (네 번 나타나는), tow
이 (세 번 나타나는) (한 번 표시) 및 toward
(두 번 나타남). 접두사 tow
이 있다면
그렇다면, 당신은 tow:3
, towel:4
, town:2
및 toward:2
비 제로 가중 문자열을 볼 수 있습니다.
그 후에는 무게에 따라 분류 할 수 있습니다.
저는이 구현을 실제로 시도하지 않았습니다. 이것은 단지 아이디어 일뿐입니다.