2014-01-18 4 views
-1

Я пытаюсь выполнить предварительную обработку текста в твитах. Меня интересует совпадение токенов от текста твита до текста поисковой таблицы. Например, у меня есть таблица/словарь слов настроений, и я хочу проверить, содержит ли твит одно из этих слов.Как сопоставить токены текста из таблицы поиска?

Мой текст предварительной обработки на данный момент выглядит следующим образом:

  1. магазин текст чирикать в строку.
  2. Обозначить текст пробельными символами (String.split(" ")) и удалить все числовые и странные символы символов. Также я удаляю все упоминания и стоп-слова. Затем сохраните маркеры в массиве String.

Такой подход приводит к некоторым проблемам, а вот объяснение:

  • Один простой подход только для сравнения лексем со строками в таблице и проверить, если они совпадают. Это нормально, но это приводит к следующей проблеме.
  • Я также хочу проверить, содержит ли текст смайлики (которые также хранятся в словаре). Теперь, когда я уже удалил все странные символы токенов, я не могу просто выполнить предыдущий подход сравнения. Можно сказать, хорошо, тогда просто не удаляйте числовые и странные символы токенов, но это приводит к следующей проблеме.
  • Я также хочу скопировать текст, поэтому сохранение числовых токенов (или URL-адресов) не является вариантом, поскольку оно закручивает качество кластеризации.
  • Сохранение двух версий токенов имеет проблему с памятью, поскольку все дублируется.

Мне было интересно, есть ли способ сопоставить материал, который не требует дублирования материала. Может быть, с помощью regex?

ответ

-1

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

tweetstring.contains (LUT [I])

или лучше

tweetstring.toLowerCase(). Содержит (LUT [I] .toLowerCase())

Смежные вопросы