주어진 임의의 단어 집합에서 단어의 중요성을 찾으려고합니다. 예를 들어, "사고"가 "남자, 여자, 사고"라는 단어에서 가장 중요한 단어라는 것을 알고 싶습니다. 순진한 해결책은 각 단어에 대해 WordNet 깊이를 얻고 단어 깊이의 차이에 따라 단어의 중요성을 계산하는 것이 었습니다. 이 솔루션은 최종 중요성을 생성하기 위해 n (n-1) 개의 계산이 필요하기 때문에 상당히 많은 시간이 소요됩니다. 이 시나리오를 처리 할 수있는 더 나은 솔루션이 있습니까?주어진 단어 집합에서 가장 두드러진 단어를 식별하는 알고리즘이 있습니까?
답변
일반적으로 단어가 덜 일반적 일수록 중요합니다.
먼저 문제가되는 도메인을 나타내는 자료를 선택하십시오. 그런 다음 단어 빈도 카운트를 실행하십시오. 이 두 세트를 건너 뛸 수 있으며 미리 만들어진 목록을 사용할 수 있습니다 (예 : http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists 및 예 : http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/PG/2006/04/1-10000 그러나 단어 빈도를 만드는 것은 Python/NLTK에서 더 쉬운 일 중 하나입니다.
세 번째 단계는 각 입력 단어의 빈도를 찾고, 이 가장 낮은 숫자 인이 가장 두드러진 단어입니다. 또는 이것이 다른 단계에 입력되고 실수가 유용하다면, tf-idf은 그것을 제공합니다.
먼저 단어를 정규화/줄기를 원할 수 있습니다. 그것은 귀하의 신청에 달려 있습니다. 그러나 그렇게한다면 생성 단계 (즉, 코퍼스 정규화)와 사용 단계 (입력 정규화)에서 모두 수행해야합니다. 여기
는 http://www.collinsdictionary.com/dictionary/english/man 여기 말씀 사용법 동향 박스에서 주파수 카운트를 사용하여 몇 가지 예입니다 :man 0.0289
woman 0.0149
walk 0.0064
shot 0.0049
accident 0.0048
는 다행히 그 숫자는 당신이 준 정답과 일치 : 사고 샷.
이 문제를 해결할 수있는 좋은 방법을 제공해 주셔서 감사합니다. 처음에는 단어 표제를 찾기 위해 모든 보조 정리에 걸쳐 빈도 카운트의 역수를 사용했습니다. 줄기 제거는 내 마음을 가로 질러 왔지만 NLTK 또는 다른 단어 엔진은 꽤 나쁜 형태소 분석을 수행합니다. – Kartos
- 1. 단어를 스크램블하기위한 알고리즘이 있습니까?
- 2. solr 주어진 단어 다음에 가장 많이 사용되는 단어를 찾습니다.
- 3. 주어진 단어 목록에서 임의의 단어를 얻는 방법
- 4. 문장이나 단어를 식별하는 재귀 함수
- 5. 주어진 점 집합에서 가장 가까운 점 찾기
- 6. 숫자 시리즈를 식별하는 일반적인 알고리즘이 있습니까?
- 7. 문장에서 다른 질의/질문을 식별하는 알고리즘이 있습니까?
- 8. 단어 목록에서 주어진 단어 내의 단어를 찾을 수있는 스크립트
- 9. 문자열의 단어 집합에서 단어가 발생 함
- 10. 가장 많은 단어를 포함하는 알파벳 선택?
- 11. 가장 일치하는 단어를 찾으십시오
- 12. 문자 집합에서 단어 찾기 PHP
- 13. 중지 단어를 식별하는 간단한 방법
- 14. 입력 PHP에서 단어를 식별하는 방법은 무엇입니까?
- 15. 단어 목록에서 가장 긴 단어 가져 오기
- 16. 2 단어 사이의 단어를 찾으십니까?
- 17. 가장 큰 사각형의 점 집합에서
- 18. B-Tree에서 대량로드 알고리즘이 있습니까?
- 19. 주어진 빈칸 수에 대해 의미있는 영어 단어 수 찾기
- 20. 단어의 벡터 (단어 자체가 아님)가 주어진 가장 유사한 단어 얻기
- 21. 빈 문자열과 주어진 단어를 동시에 일치시키는 정규식이 있습니까?
- 22. 지정된 단어를 중심으로 여러 단어 가져 오기
- 23. 주어진 텍스트에서 아이디어와 개념을 식별하는 방법
- 24. lex에서 주어진 단어의 근언 단어를 얻는 방법
- 25. hbs에서 주어진 단어를 강조 표시하는 방법?
- 26. 해시 세트 또는 트리 집합에서 단어를 찾으십니까?
- 27. 단어 검색 격자에서 단어를 찾는 가장 빠른 알고리즘
- 28. 문자 수 대신 가장 긴 단어를 찾을 때 단어 반환
- 29. 하스켈에서 일련의 단어 중에서 가장 긴 단어를 찾습니다.
- 30. 문장이 포함 주어진 단어
이것은 어떻게 파이썬과 관련이 있습니까? –
아, 제 잘못입니다. 내 현재 구현과 nltk 및 파이썬 사용하고 있습니다. 나는 qn을 편집 할 것이다. 곧. – Kartos
"중요성"에 대한 적절한 정의가 있습니까? 정보 내용과 관련이 있다면 단순히 코퍼스의 빈도를 사용하면됩니다 (자주 사용되는 단어는 덜 구체적인 경향이 있음). – tripleee