frontal bone h
frontal cortex |h
frontal cyclone h
frontal gyrus h
frontal lobe h
frontal sinus |h
frontal suture |h
frontality N
frontally v
frontbench |N
frontbencher |N
frontes p
frontier NA
frontier settlement |h
frontierless A
frontierlike A
frontiersman N
frontiersmen p
frontis N
frontispiece N
... voor het 'woord' gedeelte.
Voor degene die de C++ code zou willen kennen
#include
#include
#include
#include
typedef unsigned char uchar;
int main() {
string temp;
string word;
char t0[255];
char strip[256];
ifstream in0("cp437.dat");
getline(in0, temp);
getline(in0, temp);
int i = 0;
int j, j0, j1, j2, j3, j4, j5;
while (!in0.eof()) {
in0 >> j0 >> t0 >> j1 >> j2 >> j3 >> j4; // all ignored
in0 >> j;
strip[i] = (char)j;
in0 >> j5; //also ignored
++i;
}
map pos;
in0.close();
ifstream in1("/home/kevina/moby/mpos/mobyposi.i");
while (!in1.eof()) {
getline(in1, temp, '\r');
if (temp.size() == 0) break;
word = "";
unsigned int i;
for (i = 0; i != temp.size(); ++i) {
char c = (uchar)temp[i] < 0x80 ? temp[i] : strip[(uchar)temp[i]];
if (c == '\x91')
word += "ae";
else if (c == '\x9C' || c == '\x9D' || c == '\x9E')
word += '$';
else if (c == '\xBE')
word += '~';
else if (c == '\xD7')
break;
else
word += c;
}
++i;
string & t = pos[word];
for (; i < temp.size(); ++i) {
if (t.find(temp[i]) == string::npos)
t += temp[i];
}
}
in1.close();
in0.close();
in0.open("/aux/local/wordnet1.6/dict/noun.lst");
while(getline(in0, word)) {
string & t = pos[word];
if (t.size() == 0) t += '|';
char c = word.find_first_of(" ") == string::npos ? 'N' : 'h';
if (t.find(c) == string::npos)
t += c;
}
in0.close();
in0.open("/aux/local/wordnet1.6/dict/verb.lst");
while(getline(in0, word)) {
string & t = pos[word];
if (t.size() == 0) t += '|';
if (t.find('V') == string::npos)
t += 'V';
}
in0.close();
in0.open("/aux/local/wordnet1.6/dict/adj.lst");
while(getline(in0, word)) {
string & t = pos[word];
if (t.size() == 0) t += '|';
if (t.find('A') == string::npos)
t += 'A';
}
in0.close();
in0.open("/aux/local/wordnet1.6/dict/adv.lst");
while(getline(in0, word)) {
string & t = pos[word];
if (t.size() == 0) t += '|';
if (t.find('v') == string::npos)
t += 'v';
}
map::iterator p, end;
p = pos.begin();
end = pos.end();
while (p != end) {
cout << p->first << '\t' << p->second << endl;
++p;
}
}
Mijn parsing formule werkt niet voor de volle 100 %
Question
JeanWM
Ik heb een database met de volgende kenmerken:
854000 entries
The format of each entry is
Where the POS tag is one or more of the following:
N Noun
P Plural
h Noun Phrase
V Verb (usu participle)
t Verb (transitive)
i Verb (intransitive)
A Adjective
v Adverb
C Conjunction
P Preposition
! Interjection
r Pronoun
D Definite Article
I Indefinite Article
o Nominative
Wat is de gemakkelijkste manier om het geheel op een deftige manier in een FM bestand te krijgen ?
Een deel van de entries ziet er als volgt uit:
...voor een begin numeriek gedeelte en
... voor het 'woord' gedeelte.
Voor degene die de C++ code zou willen kennen
Mijn parsing formule werkt niet voor de volle 100 %
Link to comment
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.