Я думаю что рано или поздно использование каких либо сторонних решений однозначно будет, это лишь вопрос времени, пока что еще рано говорить об этом шаге. Некоторые вещи хочется реализовать самостоятельно просто для повышения экспы и, быть может, в дальнейшем, такие части будут просто заменены на сторонние аналоги.
Вы во многом правы, однако пока что выбран путь именно создание в некотором роде «велосипеда». В дальнейшем вполне вероятно начну работать над совместимостью или интеграцией с другими решениями.
Просто эта функция пока просто обозначена, как только доведу до желаемого качества тему и ранжирование веса слов и анализ словоформ то займусь сразу же поиском персон в тексте. К сожалению реализованный, пока что, подход поиска персон действительно оставляет желать лучшего.
Если на уровне FrameWork-а то эта функция у TextMF уже работает и можно использовать для, практически любого языка, и русского в том числе. А если вопрос о UI то данная функция будет реализована в следующей версии. Так же если речь идет о UI то могу порекомендовать мою программу Web Private Detective. Она старая, написана на Qt и под Windows не самая актуальная версия. Зато умеет строить отчеты в HTML и искать не просто персоны в тексте но и связи между ними. Переписанный алгоритм сейчас я портирую в свой TextMF и, как уже сказал, частично оно готово.
Я думаю мне нужно все это опробовать что бы корректно прокомментировать ситуацию. У меня одна из проблем эта метод определения равенства при поиске терма. Быть может Вы знаете, это можно кастомизировать в Solar? Спасибо
Мне как человеку который часто реализует разные идеи очень полезны указанные Вами WEAK/Gate/MinorThird, я сейчас как раз смотрю на Gate. Сам же использую Python NLTK для апробации идей на практике.
Но (может я еще не рассмотрел хорошо эти библиотеки и ошибаюсь), в том виде в котором они есть, они подходя мне, как тому кто реализует идею, но не тому кому нужна именно готовая идея и реализация. TextMF это FrameWork где будет конкретная реализация одной-двух идей, что, само собой делает его куда менее гибким, но ведь и и цель не такая. TextMF позволяет программисту которому нужно готовое решение, а не инструмент создания этого решения.
Практически все что делает solr мне нужно будет кастомизировть, за исключением полнотекстного поиска (который я и не делаю у себя). А это значит что прироста КПД будет мало (если вообще будет), так как алгоритм останется тот же по большей части. Хотя я сегодня попробую более пристально взглянуть на solr, быть может я сейчас ошибаюсь
К слову сказать изначально разработка была на Qt (C++) но именно из-за того что на С++ приходилось много времени уделять оптимизации ресурсов было решено перейти на более высокий язык где больше внимания можно уделить оптимизации именно алгоритмов.
Хочу на практике реализовать некоторые идеи которые у меня есть только в теории, пока. Т.е. это для меня не просто реализация библиотеки а получение данных для моей кандидатской. Более того, наличие других подобных FrameWork-ов дает возможность провести качественное сравнение после того как реализация моего TextMF достигнет финала
Огромное спасибо, с Exception in thread «main» java.lang.ArithmeticException: / by zero сейчас разбираюсь как раз. model.NoContentException действительно часто падает когда нарывается на слово которое он не может (не должен) обработать
Потому что вес слова зависит от текста в котором оно используется, если текстов несколько и в дальнейшем будет долгосрочная память то и слово может быть использовано в нескольких текстах. Метод показывает вес слова в конкретном тексте а не вообще абстрактный вес слова
Если коротко то берется два слова с максимальным весом которые не имеют прямой связи и идет поиск пути с максимальным значением специальной функции. Т.е. есть функция которая принимает на вход маршрут по графу связей и возвращает его вес для данного текста, задача лишь найти экстремумы этой функции. Само собой эта задача не решаемая в реальном времени ибо требует полного перебора всех маршрутов, так что применяю разные эвристики.
Поиск персон довольно банален, пока что. Ищу слова которые имеют большую первую букву. Само собой с поправкой на первые слова в предложение и на вероятность опечатки (последние пока не вошло в публичный релиз).
Но (может я еще не рассмотрел хорошо эти библиотеки и ошибаюсь), в том виде в котором они есть, они подходя мне, как тому кто реализует идею, но не тому кому нужна именно готовая идея и реализация. TextMF это FrameWork где будет конкретная реализация одной-двух идей, что, само собой делает его куда менее гибким, но ведь и и цель не такая. TextMF позволяет программисту которому нужно готовое решение, а не инструмент создания этого решения.