Идеи для проекта Обработки естественного языка? [закрытый]

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

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

17
задан Bill the Lizard 15 September 2012 в 23:15
поделиться

9 ответов

  1. Obnoxious language filtering - I think this will reduce down to a process very similar to spam email filtering. That is, counting the frequency of a set of more-or-less 'obnoxious' words. It doesn't sound like you will get the scope to do anything particularly clever, unless you also use other sources of information (e.g. the structure of the social links shared between the sender and recipient, perhaps). On the other hand, online bullying is a very serious thing and you can bet Facebook/Myspace and the other social networking sites care a lot about tackling it.

  2. Stylistic Analysis - There has been some work done on this in various forms, often under the name authorship analysis. Shlomo Argamon does a lot of work in this area and you could probably discover a lot more from the references in his papers. One of the best ways to profile an author is to learn the distribution of their usage of a set of stopwords (a.k.a functional words), such as 'and' ,'but', 'if', etc. I think there's a lot more scope to do something new and interesting in this area - authorship analysis on internet data is a hard problem - but also a lot more scope to fail.

  3. Chat bot - You're right, this is a pretty standard project. It's also quite hard to measure success/failure. I think the project would be more compelling if it was a chat-bot with some kind of purpose, like answering questions in a limited domain, but that's something that's very difficult to do well.

The rest are really too vague to make any comments on, sorry.

There aren't any NLP libraries that I know of in OCaml, it's just not a particularly popular programming language. However, I do know of a machine learning library in Ocaml, called MEGAM, written by Hal Daume, who is a very good NLP researcher, which has been used for NLP tasks. I get a feeling that figuring out MEGAM and using it to do some NLP task might be too big a project to take on, however.

Some other ideas:

  • Sentiment Analysis - A very trendy area of research. You could make this task as easy or hard as you like, from scoring a document as positive/negative to extracting specific topics and generating a sentiment score for each one.
  • Coreference/Anaphora resolution - A difficult task but a very important one. Some approaches use a graph representation (each mention is a node with edges between them if they co-refer) to enforce things like transitivity.
  • Document Classification - You could try and learn a system on the StackOverflow data set to suggest tags for a given question. It's a fairly well known problem with some established techniques, but an it's interesting data set and has an obvious and useful application to the real world . You could also see if you can find specific features of a question (word choice, length, formatting, punctuation, etc.) that cause them to be voted highly.
  • Haiku Generation - Kind of a silly one, but I always thought it was an interesting idea. Syllable counting could be done with the CMU pronouncing dictionary. Should be a lot of fun, if not particularly useful.
16
ответ дан 30 November 2019 в 13:27
поделиться

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

Что касается языка, я думаю, вам следует выбрать тот, который вам удобнее. Я не знаком с библиотеками, но видел много NLP вещей , выполненных на Python и Java.

3
ответ дан 30 November 2019 в 13:27
поделиться

Используйте API-интерфейс twitter, чтобы получить все твиты из социальных сетей. беседу и объедините \ обобщите \ опубликуйте контент в виде эссе \ статьи \ блога \ и т. д., который кто-то может прочитать целиком. Сопоставляйте концепции и идеи, расширяйте ссылки, улучшайте грамматику. Что-то вроде bettween.com , но с добавлением НЛП.

2
ответ дан 30 November 2019 в 13:27
поделиться

1a. script that scans facebook... How do you plan on defining 'obnoxious'. that sounds pretty difficult.

2a. similarity. syntax and semantics, and other 'linguisticy' stuff sounds difficult. people have done this sort of thing with other more numerical methods with great success though, for example using the singular value decomposition. i think that this method has also been incorporated into software used to check for plagiarism. this method is also often referred to as latent semantic analysis or latent semantic mapping.

svdlibc: http://tedlab.mit.edu/~dr/svdlibc/

1b. фсм прочее. Я не уверен, что вы имеете в виду под «доказательством того, что преобразователь минимален». это довольно стандартная операция, которая включена практически в любой инструментарий, с которым вы можете столкнуться. Если вас интересуют fsms, взгляните на инструментарий

AT&T: http://www2.research.att.com/~fsmtools/fsm/

или Инструментарий OpenFST: http://www.openfst.org/

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

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

0
ответ дан 30 November 2019 в 13:27
поделиться

1 - Для меня было бы здорово, когда вы просматриваете академические статьи, и мне нужно знать, какая часть работы: -полностью оригинал -что чисто копировать / вставлять -что такое чистый пересказ -Что говорит прямо противоположное предыдущей ссылке. В идеале, он должен был бы проверять ссылки внутри статьи + все предыдущие работы авторов (и может проверять цитирующий, чтобы найти ссылки, которые были потенциально опущены -добровольно-). Это было бы действительно полезно.

2- Мне нужен инструмент, проверяющий все вопросы в SO, ищущий такие же вопросы с кучей ответов и генерирующий ответ, который может быть адекватным.

2
ответ дан 30 November 2019 в 13:27
поделиться

Могу я предложить вам изучить язык программирования Prolog. Это язык программирования с декларативной логикой, одной из первых целей которого является обработка естественного языка. Примерно на полпути вниз эта страница Wiki является примером того, как вы можете использовать ее в качестве синтаксического анализатора языка. Вы можете легко создать тысячи грамматически правильных предложений и фраз. Это очень мощный инструмент. Я думаю, что пользоваться им было бы очень интересно.

0
ответ дан 30 November 2019 в 13:27
поделиться

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

Что-то более подходящее для описанный вами учебный план может заключаться в создании морфологического анализатора для иностранного языка, который вы '

0
ответ дан 30 November 2019 в 13:27
поделиться

Я не рекомендую использовать Java, если нет библиотеки, которая вам остро нужна. Однажды я выполнил заключительный проект НЛП на Java и обнаружил, что ему не хватает гибкости, которая часто требуется (строгая система типов, отсутствие анонимных функций и т. Д.). К сожалению, я не знаю OCaml, но, если вы знаете Python, для этого доступно множество библиотек NLP, например, очень всеобъемлющий и активно разрабатываемый NLTK.

0
ответ дан 30 November 2019 в 13:27
поделиться

1) Возьмите основной текст и преобразуйте все упоминания «ее» в «он» или «его». По сути, это вопрос SO , который кажется отличным проектом.

2) Я предполагаю, что вы изучили подход трансформационной грамматики к деревьям (теория X-бара и т. Д.) представляет собой вся эта другая синтаксическая теория, называемая грамматикой структуры фраз, управляемой головой (HPSG), которая не предполагает использование «иерархии» для описания синтаксиса, но также использует матрицы значений атрибутов.

Одним из преимуществ использования этой системы является что вы можете описывать синтаксис как ориентированные ациклические графы, а не как деревья. Ваш проф может указать вам на дополнительные / лучшие ресурсы, но эта страница (неопределенно) объясняет идею. К сожалению, Мой опыт показывает, что ресурсов HPSG в сети очень не хватает.

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

Может быть, вы могли бы создать преобразователь из дерева в граф HPSG? (Вы должны знать, как такие вещи, как «повышение», «контроль», «пассивизация» и т. Д. Будут преобразованы в «SLASH», «REL» HPSG и т. Д.)

Может быть, вы могли бы создать преобразователь из дерева в граф HPSG? (Вы должны знать, как такие вещи, как «повышение», «контроль», «пассивизация» и т. Д. Будут преобразованы в «SLASH», «REL» HPSG и т. Д.)

Может быть, вы могли бы создать преобразователь из дерева в граф HPSG? (Вы должны знать, как такие вещи, как «повышение», «контроль», «пассивизация» и т. Д. Будут преобразованы в «SLASH», «REL» HPSG и т. Д.)

0
ответ дан 30 November 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: