Intereting Posts

Вызов wordnet из php (класс Wordnet или API для PHP)

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

Я видел на форуме, что кто-то сказал (Spudley), он вызвал wordnet из php (используя функцию shell_exec ()), Thesaurus class или API для PHP [отредактировал]

Мне бы очень хотелось знать метод, используемый или какой-то примерный код, возможно, для начала использования wordnet с php.

большое спасибо

    Расширение PHP, связанное с сайтом WordNet, очень устарело и устарело – оно утверждает, что работает с PHP4, поэтому я не думаю, что это просматривалось годами.

    Для WordNet-> PHP нет других API-интерфейсов, поэтому я выполнил собственное решение.

    WordNet можно запускать из командной строки, поэтому shell_exec() PHP может читать результат.

    Если вы запустите WordNet из командной строки (cd в каталог Wordnet, а затем просто wn ) без каких-либо параметров, он покажет вам список возможных функций, поддерживаемых Wordnet.

    Все еще в командной строке, если вы затем попробуете одну или некоторые из этих функций, вы увидите, как Wordnet выводит свои результаты. Например, если вы хотите синонимы слова «звезда», вы можете попробовать функцию -synsn :

     wn star -synsn 

    Это даст результат, который выглядит примерно так:

    Синонимы / Гипернымы (упорядочены по оценочной частоте) существительной звезды

    8 чувств звезды

    Чувство 1 звезда => небесное тело, небесное тело

    Sense 2 ace, адепт, чемпион, сенсация, maven, mavin, виртуоз, гений, hotshot, звезда, суперзвезда, whiz, whiz, wizard, wiz => expert

    Чувство 3 звезды => небесное тело, небесное тело

    Чувство 4 звезды => плоская фигура, двумерная фигура

    Чувство 5 звезд, главное, лидерство => актер, исполнитель, игрок, теплик, ролевой игрок

    Чувство 6 хедлайнеров, звезда => исполнитель, исполнитель

    Sense 7 звездочка, звезда => символ, графема, графический символ

    Sense 8-звездная топология, звезда => топология, сетевая топология

    В PHP вы можете прочитать этот же вывод с помощью функции shell_exec() .

     $result = shell_exec('/path/to/wn '.$word.' -synsn'); 

    Теперь $result должен содержать блок текста, приведенный выше.

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

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

    Важно отметить, что различные варианты поиска представляют их результаты несколько иначе. И некоторые результаты, которые возвращаются, могут быть несколько эзотерическими. Я закончил писать систему взвешивания, чтобы забить результаты, но это было довольно специфично для моих потребностей, поэтому вам нужно поэкспериментировать с ним, чтобы придумать свою собственную систему.

    Надеюсь, это поможет вам. 🙂