Как я могу найти только «интересные» слова из корпуса? - PullRequest
10 голосов
/ 14 августа 2010

Я разбираю предложения. Я хочу знать соответствующее содержание каждого предложения, свободно определяемого как «полууникальные слова» по отношению к остальной части корпуса. Нечто похожее на «статистически неправдоподобные фразы» Amazon, которые, кажется, (часто) передают характер книги через странные строки слов.

Моим первым шагом было начать составление списка общих слов. Это выбивает простые, такие как a, the, from и т. Д. Очевидно, оказывается, что этот список становится довольно длинным.

Одной из идей является создание этого списка: составьте гистограмму частот слов в корпусе и отрежьте верхние 10% или что-то подобное (IE the встречается 700 раз, from 600 раз, но micropayments только 50, что находится под отсечкой и, следовательно, актуально).

Другим алгоритмом, о котором я только что узнал из Hacker News сегодня, является Tf idf , который выглядит как полезный.

Какие другие подходы будут работать лучше, чем две мои идеи?

Ответы [ 4 ]

6 голосов
/ 14 августа 2010

Взгляните на эту статью ( Уровень статистики слов: поиск ключевых слов в литературных текстах и ​​символических последовательностях , опубликованных в Phys. Rev. E ).

Картинка на первой странице вместе с подписью объясняет важное наблюдение.В Don Quixote слова «но» и «Quixote» появляются с одинаковыми частотами, но их спектры весьма различны (вхождения «Quixote» сгруппированы, в то время как вхождения «но» расположены более равномерно).Поэтому «Кихот» можно классифицировать как интересное слово (ключевое слово), а «но» игнорируется.

Это может быть или не быть тем, что вы ищете, но я думаю, это не помешаетбыть знакомым с этим результатом.

3 голосов
/ 16 августа 2010

TF-IDF - это один из способов. Если вы хотите поговорить о предложениях , а не словах, в дополнение к превосходным ссылкам выше, вот простая схема:

Создайте цепочку Маркова из большого выборочного корпуса. Короче говоря, вы строите цепочку Маркова, записывая частоту каждого n-кортежа во входном тексте. Например, предложение «это тест» с 3 кортежами будет (это, есть, а), (есть, тест). Затем вы группируете каждый n-кортеж по первым n-1 терминам, что позволяет вам ответить на вопрос «с учетом предыдущих n-1 слов, какова вероятность того, что следующее слово будет таким?»

Теперь для каждого предложения во входном документе обойдите цепь Маркова. Вычислите вероятность того, что вы увидите предложение, умножив все вероятности, с которыми вы сталкиваетесь, проходя цепочку вместе. Это дает вам оценку того, насколько «вероятно» это предложение во входном корпусе. Возможно, вы захотите умножить эту вероятность на длину предложения, поскольку более длинные предложения статистически менее вероятны.

Теперь вы связали с каждым предложением в своем входе вероятность. Выберите n наименее вероятных предложений - это «интересные», для некоторого определения интересных.

3 голосов
/ 14 августа 2010

Я думаю, что то, что Amazon называет «Statiscal невероятные фразы», ​​- это слова, которые невероятны по отношению к их огромному объему данных. По сути, даже если слово повторяется 1000 раз в данной книге А, если эта книга - единственное место, где оно появляется, то это SIP, потому что вероятность его появления в любой данной книге равна нулю (потому что это специфично для книги А). Вы не сможете по-настоящему продублировать это множество данных для сравнения, если только вы сами не работаете с большим количеством данных.

Что такое много данных? Что ж, если вы анализируете литературные тексты, вам нужно скачать и обработать пару тысяч книг из Гутенберга. Но если вы анализируете юридические тексты, то вам необходимо специально указать содержание юридических книг.

Если, как, вероятно, имеет место, у вас нет большого количества данных в качестве роскоши, то вы должны, так или иначе, полагаться на частотный анализ. Но вместо того, чтобы рассматривать относительные частоты (фракции текста, как это часто считается), рассмотрим абсолютные частоты.

Например, hapax legomenon , также известный в области сетевого анализа как 1-мышь , может представлять особый интерес. Это слова, которые встречаются в тексте только один раз. Например, в «1011» Ulysses Джеймса Джойса эти слова встречаются только один раз: послестиллярный, разъедающий, романский, макромир, диаконал, сжимаемость, более выраженный. Они не являются статистически невероятными фразами (как, например, «Леопольд Блум»), поэтому они не характеризуют книгу. Но это достаточно редкие термины, которые встречаются только один раз в выражении этого автора, поэтому вы можете считать, что они каким-то образом характеризуют его выражение. Это слова, которые, в отличие от распространенных слов, таких как «цвет», «плохо» и т. Д., Которые он явно стремился использовать.

Так что это интересный артефакт, и дело в том, что его довольно легко извлечь (например, O (N) с постоянной памятью), в отличие от других, более сложных, индикаторов. (И если вам нужны элементы, которые встречаются несколько чаще, то вы можете обратиться к 2-мышам, ..., 10-мышам, которые также легко извлекаются.)

0 голосов
/ 14 августа 2010

Латентный семантический анализ (LSA) http://www.puffinwarellc.com/index.php/news-and-articles/articles/33.html

...