2011-10-27 2 views
0

Я пытаюсь найти тип слов, соответствующих им во многих категориях (дата, год, время, имена, знаки препинания, электронная почта и т. Д.). Я создавал свой собственный код для обнаружения этого (и работал), но я нашел библиотеки, такие как ANTLR и JavaCC.Какую библиотеку я могу использовать для разбора слов в Java?

Что я хочу сделать для этих библиотек? Если да, то что я должен использовать, если нет, есть что-то, что я могу использовать для этого?

Каковы рекомендации? JavaCC, ANTRL, есть еще несколько? Я вижу, что JavaCC генерирует некоторые классы, но есть вещи, которые я не хочу, чтобы это делалось как токенизация.

+0

ну, если у вас есть возможность использовать Jython, я думаю, вы можете использовать NLTK через это (и, следовательно, использовать его в своем проекте java) –

ответ

2

Зависит от мощного анализатора, который вам нужен. Если вам нужно что-то очень мощное (например, JavaCC или ANTLR), идите с ними и не тратите слишком много времени, пытаясь сделать свой собственный.

Если вам нужно что-то простое, то вы можете создать простой поисковый синтаксический словарь с чуть более regular expressions in Java или даже StringTokenizer (если ваш пример очень упрощен).

+0

Да, мне кажется, что мне нужно что-то мощное, я буду заниматься естественным языком. Я смогу обнаружить такие вещи, как примеры, которые я даю в вопросе? –

+0

Ну, обработка естественного языка - это более глубокая тема, чем просто поиск дат, имен и т. Д. НЛП также связана не только с элементами языка, но и с смыслом и смыслом языка. Для NLP вы, вероятно, захотите найти API/библиотеки, предназначенные для решения этой проблемы. – jefflunt

+0

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