Как реализовать маркировку текста на основе категорий с помощью WordNet или связанных с Wordnet?
Как пометить текст, используя Wordnet по категории слова (Java в качестве интерфейса)?
пример
Рассмотрим предложения:
1) Для работы компьютера нужны клавиатура, монитор, процессор.
2) В автомобиле используются шестерни и сцепление.
Теперь моя цель состоит в том, чтобы примеры предложений были помечены как
Компьютер / электронная
клавиатура / электронная
CPU / электронный
Автомобильный / механический
шестерни / механические
сцепление / механическое
«Сцепление и передача контролируются с помощью микрочипа» -> сцепление / механическое, зубчатое / механическое, микрочип / электронное
«программное обеспечение, используемое здесь для контроля уровня водорода» -> программное обеспечение / компьютер, водород / химия ..
Я хочу реализовать вышеупомянутую цель в Java, то есть пометить существительные соответствующей категорией, такой как техническая, механическая, электрическая и т. Д.
Как это сделать с помощью Wordnet.
Мои предыдущие работы
Чтобы достичь своей цели, я создал индекс терминов в текстовых файлах для каждой категории и сопоставил его с заголовком. Если он содержит слово в текстовых файлах, тогда заголовок классифицируется.
Например
Automobile.txt
имеютcar , gear , wheel , clutch
.networking.txt
имеютserver,IP Address,TCP , RIP
Это Алгоритм:
String Classify (String title)
{
String area;
if (compareWordsFrom ("Automobile.txt",title) == true ) area = "Auto";
if (compareWordsFrom ("Netoworking.txt",title) == true ) area = "Networking";
if (compareWordsFrom ("metels.txt",title) == true ) area = "Metallurgy";
return area;
}
очень сложно найти похожие слова для построения индекса. То есть полевой автомобиль имеет 1000 связанных терминов, которые трудно найти.
Чтобы быть точным, создание индекса терминов вручную является душераздирающим процессом
Я уже использовал Stanford NLP, Open NLP, но они помечают POS, но не удовлетворяют потребности.
Моя потребность
Мне нужен автоматизированный способ для моей работы. Делать методы обработки естественного языка в состоянии сделать это. ?
Некоторые предлагают использовать библиотеку wordnet, но как я могу использовать ее, так как она похожа на словарь, но я хочу как ...
механический = {редуктор, турбина, двигатель ....) электронный = {микрочип, RAM, ROM, ...)
Есть ли какая-либо база данных слов, как в вышеупомянутой структуре ..
ИЛИ Есть ли в наличии готовая библиотека?