Распознавание именованных объектов на основе словаря с нулевым расстоянием редактирования: LingPipe, Lucene или что? - PullRequest
2 голосов
/ 28 сентября 2010

Я пытаюсь выполнить NER на основе словаря для некоторых документов.Мой словарь, независимо от типа данных, состоит из пар ключ-значение строк.Я хочу найти все ключи в документе и возвращать соответствующее значение для этого ключа при каждом совпадении.

Проблема в том, что мой словарь довольно большой: ~ 7 миллионов значений ключей - средняя длинаиз ключей: 8 и средняя длина значений: 20 символов.

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

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

пс.Я уже пробовал разбивать данные на несколько словарей и записывать их на диск, но это относительно медленно.

Спасибо за любую помощь.

Приветствия, Парса

1 Ответ

1 голос
/ 28 сентября 2010

Полагаю, что если вы хотите повторно использовать ExactDictionaryChunker LingPipe для создания NER, вы можете переопределить их MapDictionary для хранения и извлечения из выбранной вами базы данных ключ / значение вместо их ObjectToSet (кстати, это расширяет HashMap).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...