Как найти «лексический файл» в Wordnet? - PullRequest
5 голосов
/ 13 июля 2011

Если вы посмотрите на оригинальный поиск в Wordnet и выберете «Параметры отображения: Показать информацию о лексическом файле», вы увидите чрезвычайно полезную классификацию слов под названием лексический файл .Например, для «заполнения» имеем:

   <noun.substance>S: (n) filling, fill (any material that fills a space or container)
   <noun.process>S: (n) filling (flow into something (as a container))
   <noun.food>S: (n) filling (a food mixture used to fill pastry or sandwiches etc.)
   <noun.artifact>S: (n) woof, weft, filling, pick (the yarn woven across the warp yarn in weaving)
   <noun.artifact>S: (n) filling ((dentistry) a dental appliance consisting of ...)
   <noun.act>S: (n) filling (the act of filling something) 

Первое, что в скобках - это «лексический файл».К сожалению, мне не удалось найти конечную точку SPARQL, которая предоставляет эту информацию

Вопрос: существует ли общедоступный API запросов Wordnet или база данных, предоставляющая информацию лексический файл ?

Ответы [ 5 ]

4 голосов
/ 08 июля 2014

Использование интерфейса Python NLTK:

from nltk.corpus import wordnet as wn

for synset in wn.synsets('can'):
    print  synset.lexname
4 голосов
/ 06 февраля 2012

Я не думаю, что вы можете найти это в RDF / OWL-представлении WordNet.Хотя это в дистрибутиве WordNet: dict/lexnames.Вот содержимое файла на WordNet 3.0:

00      adj.all 3
01      adj.pert        3 
02      adv.all 4
03      noun.Tops       1  
04      noun.act        1
05      noun.animal     1
06      noun.artifact   1
07      noun.attribute  1
08      noun.body       1
09      noun.cognition  1
10      noun.communication      1
11      noun.event      1
12      noun.feeling    1
13      noun.food       1
14      noun.group      1
15      noun.location   1
16      noun.motive     1
17      noun.object     1
18      noun.person     1
19      noun.phenomenon 1
20      noun.plant      1
21      noun.possession 1
22      noun.process    1
23      noun.quantity   1
24      noun.relation   1
25      noun.shape      1
26      noun.state      1
27      noun.substance  1
28      noun.time       1
29      verb.body       2
30      verb.change     2
31      verb.cognition  2
32      verb.communication      2
33      verb.competition        2
34      verb.consumption        2
35      verb.contact    2
36      verb.creation   2
37      verb.emotion    2
38      verb.motion     2
39      verb.perception 2
40      verb.possession 2
41      verb.social     2
42      verb.stative    2
43      verb.weather    2
44      adj.ppl 3

Для каждой записи dict / data. * Второе число - это лексическая информация о файле.Например, эта заполняющая запись содержит число 13, то есть noun.food.

07883031 13 n 01 filling 0 002 @ 07882497 n 0000 ~ 07883156 n 0000 | a food mixture used to fill pastry or sandwiches etc.
2 голосов
/ 01 сентября 2013

Вот что у меня сработало,

Synset[] synsets = database.getSynsets(wordStr);

ReferenceSynset referenceSynset = (ReferenceSynset) synsets[i];

int lexicalCode =referenceSynset.getLexicalFileNumber();

Затем используйте приведенную выше таблицу для вывода "lexnames", например. время существительное

2 голосов
/ 10 апреля 2013

Это можно сделать через MIT JWI (MIT Java Wordnet Interface) Java API для запроса Wordnet.В есть ссылка , показывающая, как реализовать класс Java для доступа к лексикографическому

0 голосов
/ 02 июля 2019

Если вы работаете в Windows, скорее всего, это в ваших appdata, в локальном каталоге.Чтобы попасть туда, вам нужно открыть браузер файлов, перейти наверх и ввести% appdata%

Затем нажмите роуминг, а затем найдите каталог nltk_data.Там у вас будет ваш корпоративный файл.Полный путь выглядит примерно так: C: \ Users \ yourname \ AppData \ Roaming \ nltk_data \ corpora

, а имена имен будут представлены в C: \ Users \ yourname \ AppData \ Roaming \ nltk_data \ corpora \ wordnet.

...