Интересный проект в стиле НЛП / машинного обучения - анализ политики конфиденциальности - PullRequest
6 голосов
/ 14 марта 2012

Я хотел получить информацию по интересной проблеме, которую мне назначили.Задача состоит в том, чтобы проанализировать сотни и даже тысячи политик конфиденциальности и определить их основные характеристики.Например, они берут местоположение пользователя? Они делятся / продают третьим лицам? И т. Д.

Я разговаривал с несколькими людьми, много читал о политике конфиденциальности и сам думал об этом.,Вот мой текущий план атаки:

Во-первых, прочитайте много секретности и найдите основные «сигналы» или индикаторы того, что определенная характеристика встречается.Например, если сотни политик конфиденциальности имеют одну и ту же строку: «Мы примем ваше местоположение», эта строка может быть сигналом со 100% уверенностью, что эта политика конфиденциальности включает в себя определение местоположения пользователя.Другие сигналы дают гораздо меньшую степень уверенности в отношении определенной характеристики. Например, наличие слова «местоположение» может повысить вероятность того, что местоположение пользователя сохраняется на 25%.

Идея заключалась бы в том, чтопродолжать развивать эти сигналы и их соответствующие доверительные интервалы до такой степени, чтобы я мог с высокой степенью уверенности классифицировать все политики конфиденциальности.Здесь можно привести аналогию с системами по борьбе со спамом в электронной почте, которые используют байесовские фильтры, чтобы определить, какая почта, скорее всего, является коммерческой и нежелательной.

Я хотел бы спросить, считаете ли вы, ребята, хорошим ли подходом к этой проблеме.Как именно вы подходите к такой проблеме?Кроме того, есть ли какие-либо конкретные инструменты или платформы, которые вы бы порекомендовали использовать.Любой вклад приветствуется.Я впервые делаю проект, касающийся искусственного интеллекта, в частности машинного обучения и НЛП.

Ответы [ 3 ]

4 голосов
/ 15 марта 2012

Идея состояла бы в том, чтобы продолжать развивать эти сигналы и их соответствующие доверительные интервалы до такой степени, чтобы я мог с высокой степенью достоверности классифицировать все политики конфиденциальности. Здесь можно привести аналогию с системами по борьбе со спамом в электронной почте, которые используют байесовские фильтры для определения того, какая почта, скорее всего, является коммерческой и нежелательной.

Это текстовая классификация . Учитывая, что у вас есть несколько выходных категорий для каждого документа, на самом деле это многолинейная классификация . Стандартный подход состоит в том, чтобы вручную пометить набор документов с классами / метками, которые вы хотите предсказать, а затем обучить классификатор особенностям документов; как правило, вхождения или числа слов или n-грамм, возможно взвешенные по tf-idf.

Популярные алгоритмы обучения для классификации документов включают в себя наивные байесовские и линейные SVM, хотя другие ученики-классификаторы тоже могут работать. Любой классификатор может быть расширен до многослойного с помощью конструкции один против остальных (OvR).

2 голосов
/ 15 марта 2012

Действительно очень интересная проблема!

На более высоком уровне вам нужно суммирование - документ должен быть сокращен до нескольких ключевых фраз. Это далеко не решенная проблема. Простой подход заключается в поиске ключевых слов, а не ключевых фраз. Вы можете попробовать что-то вроде LDA для тематического моделирования, чтобы узнать, о чем каждый документ. Затем вы можете искать темы, которые присутствуют во всех документах - я подозреваю, что в результате появятся вещи, связанные с лицензиями, местоположением, авторским правом и т. Д. MALLET имеет простую в использовании реализацию LDA.

0 голосов
/ 15 марта 2012

Я бы подошел к этому как к проблеме машинного обучения, когда вы пытаетесь классифицировать вещи несколькими способами - например, хотите определить местоположение, хотите использовать ssn и т. Д.

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

Я думаю, что простые функции, такие как слова и n-граммы, вероятно, помогут вам продвинуться далеко вперед, а словарь слов, связанных с такими вещами, как ssn или location, прекрасно завершит его.

Используйте выбранный вами алгоритм машинного обучения. Наивный метод Байеса очень прост в реализации и использовании, и он отлично сработает в качестве первой попытки решения проблемы.

...