Сохранять только доменные ключевые слова? - PullRequest
4 голосов
/ 03 ноября 2011

Я пытаюсь определить наиболее популярные ключевые слова для определенного класса документов в моей коллекции.Предполагая, что доменом является «компьютерная наука» (которая, конечно, включает в себя сетевые технологии, компьютерную архитектуру и т. Д.), Каков наилучший способ сохранить эти ключевые слова, относящиеся к области, из текста?Я пытался использовать Wordnet, но я не совсем уверен, как лучше всего использовать его для извлечения этой информации.

Есть ли какой-либо известный список слов, который я могу использовать в качестве белого списка, учитывая тот факт, что я не знаю овсе ключевые слова для конкретного домена заранее?Или есть какие-нибудь хорошие методы nlp / машинного обучения для определения ключевых слов, специфичных для предметной области?

Ответы [ 2 ]

6 голосов
/ 03 ноября 2011

Вам нужен огромный учебный комплект документов.Небольшое подмножество этой коллекции (но все же большой набор документов) должно представлять данный домен.С помощью nltk рассчитать статистику слов с учетом морфологии, отфильтровать стоп-слова.Хорошей статистикой является TF * IDF, который представляет собой примерно количество совпадений слова в подмножестве домена, разделенное на количество документов, содержащих слово во всей коллекции.Ключевые слова - это слова с наибольшим TF * IDF.

3 голосов
/ 03 ноября 2011

Я использовал скупые языковые модели (LM, 1 , 3 ) с некоторым успехом в подобных задачах;эти отдельные для конкретного документа термины из общих корпусных терминов.Они, как известно, сильнее, чем статистика tf-idf, но требуют настройки параметра при их подгонке.

Вы можете найти мою реализацию Python здесь ;чтобы использовать его, объедините все свои документы для каждой темы в один документ, затем создайте ParsimoniousLM из различных тем и извлеките термины .top(K) для каждого документа.

...