Есть ли какая-то библиотека обучения в .NET, которая могла бы, например, предложить теги для вопроса? [закрыто]

18

Просто чтобы использовать его в качестве примера, пользователи StackOverflow уже связали теги с вопросами по множеству вопросов.

Есть ли библиотека обучения компьютера .NET, которая могла бы использовать эти исторические данные, чтобы «узнать», как связать теги с вновь созданными вопросами и предложить их пользователю?

    
задан André Pena 20.10.2010 в 11:39
источник
  • Это предполагает, что вопрос будет содержать соответствующие теги, встроенные в текст. Для вашего вопроса алгоритм может придумать «.Net» и «учиться», но не C #. –  Noel Abrahams 20.10.2010 в 11:46
  • @Noel: Но теперь вопрос «правильно» отмечен? Я понимаю, что вы имеете в виду, но, честно говоря, содержание вопроса связано только с .NET и машинным обучением - оно может быть записано в F #, VB или управляемом C ++ (если оно было сохранено только для .NET) –  Paul Hadfield 20.10.2010 в 11:50
  • @Noel Abrahams: где это предположение? Кто сказал, что теги будут извлечены из текста? –  Fred Foo 26.10.2010 в 09:45
  • @arsmans, я не знаю смысла вашего вопроса. Если вы думаете, что он будет извлечен из другого места, пожалуйста, просветите нас всех, предоставив этот ответ. –  Noel Abrahams 27.10.2010 в 09:52

4 ответа

10

Я создал библиотеку машинного обучения, которая могла бы помочь: Ссылка . Его основная предпосылка заключается в том, что вы можете использовать простые списки объектов POCO и создавать из них модели, аннотируя классы. Надеюсь, это поможет!

--- Обновление С тех пор я перенес проект: Ссылка .

    
ответ дан Seth Juarez 21.05.2011 в 06:53
2

Существует библиотека .NET для популярного статистического вычислительного движка R Project. Библиотека называется R.NET .

WEKA, инструмент для интеллектуального анализа данных для Java, упоминает несколько возможностей для используйте библиотеку с .NET. Однако он не переносится или не обменивается оболочкой, а соединяет связь между .NET и Java.

    
ответ дан Mason Wan 02.10.2012 в 15:14
1

Это похоже на фильтрацию спама, но с большим количеством ведер.

Широко используемый метод фильтрации спама - байесовские фильтры . поиск Google даст вам много вариантов, включая первый хит CodeProject .

    
ответ дан Albin Sunnanbo 20.10.2010 в 11:48
  • @Paul: Если у вопроса нет ответа, вы не должны +1 для «интересной статьи в ссылках», поскольку он удаляет вопрос из списка оставшихся без ответа вопросов. Я еще не проверял, не ответил ли на вопрос. –  André Pena 20.10.2010 в 11:56
  • @ Ciwee, я не уверен, что комментарий +1 должен удалить вопрос из оставшегося без ответа списка вопросов. Я думаю, вы сбиваете с толку, что, принимая ответ –  Neowizard 20.10.2010 в 13:02
  • @Neowizard: кнопка без ответа в верхней части экрана отображает вопросы, на которые не был дан ответ, и у них нет значения «вверх», как вы можете видеть в описании в правом верхнем углу страницы. –  André Pena 20.10.2010 в 13:23
  • @Ciwee: По-моему @Albin дал интересное представление о том, как можно предложить то, что вы предлагаете (что я считаю хорошей идеей). Если вы хотите проверить ЧАВО, то в нем четко сказано, что сообщество владеет вашим вопросом / ответами, и если вам это не нравится, то SO не место для вас - это распространяется на то, чтобы позволить людям голосовать вверх / вниз на все, что им нравится , –  Paul Hadfield 20.10.2010 в 15:06
  • @Ciwee, то, что вы говорите, не может быть прав, потому что я постоянно просматриваю вопрос из неотвеченного раздела, и он содержит много вопросов с недопущенными недопущенными ответами. Я мог бы задавать вопросы с принятыми ответами и без голосования, но это не так, потому что никакой ответ не принят –  Neowizard 20.10.2010 в 15:57
1

Предметом машинного обучения является очень сложное поле, и если вы действительно хотите создать такое приложение, вам потребуются некоторые исследования, независимо от того, какую библиотеку вы используете.

В любом случае, я бы предложил использовать SVM (поддерживающие векторные машины). Я использовал его в python для этой цели, и это невероятно. Однако вам нужно найти реализацию C #. Идея состоит в том, чтобы сопоставить функции текста (например, «слова, которые заканчиваются на .Net»), а затем использовать эти функции для создания областей в созданном пространстве для тегов (что-либо в подпространстве X будет помечено как Y).

Это очень сложный вопрос, и мое объяснение может сделать его менее ясным, поэтому я оставлю его вам, если вы хотите, читать и использовать.

Вот вам, чтобы начать работу с Wikipedia - поддержка векторной машины (SVM)

Изменить: Кажется, что LibSVM (библиотека, с которой я работал в python) также доступна для C # из HomePage . Удачи.

    
ответ дан Neowizard 20.10.2010 в 12:52