4386 lines
78 KiB
C++
4386 lines
78 KiB
C++
// Matt Wells, copyright Jul 2001
|
||
|
||
#include "gb-include.h"
|
||
|
||
#include "StopWords.h"
|
||
#include "HashTableX.h"
|
||
#include "Speller.h"
|
||
#include "Loop.h"
|
||
#include "Posdb.h" // MAXLANGID
|
||
|
||
// . h is the lower ascii 64bit hash of a word
|
||
// . this returns true if h is the hash of an ENGLISH stop word
|
||
// . list taken from www.superjournal.ac.uk/sj/application/demo/stopword.htm
|
||
// . stop words with "mdw" next to them are ones I added
|
||
|
||
|
||
// . i shrunk this list a lot
|
||
// . see backups for the hold list
|
||
static char *s_stopWords[] = {
|
||
"a",
|
||
"b",
|
||
"c",
|
||
"d"
|
||
"e",
|
||
"f",
|
||
"g",
|
||
"h",
|
||
"i",
|
||
"j",
|
||
"k",
|
||
"l",
|
||
"m",
|
||
"n",
|
||
"o",
|
||
"p",
|
||
"q",
|
||
"r",
|
||
"s",
|
||
"t",
|
||
"u",
|
||
"v",
|
||
"w",
|
||
"x",
|
||
"y",
|
||
"z",
|
||
"0",
|
||
"1",
|
||
"2",
|
||
"3",
|
||
"4",
|
||
"5",
|
||
"6",
|
||
"7",
|
||
"8",
|
||
"9",
|
||
"an",
|
||
"as",
|
||
"at",
|
||
"be",
|
||
"by",
|
||
"of",
|
||
"on",
|
||
"or",
|
||
"do",
|
||
"he",
|
||
"if",
|
||
"is",
|
||
"it",
|
||
"in",
|
||
"me",
|
||
"my",
|
||
"re",
|
||
"so",
|
||
"to",
|
||
"us",
|
||
"vs",
|
||
"we",
|
||
"the",
|
||
"and",
|
||
"are",
|
||
"can",
|
||
"did",
|
||
"per",
|
||
"for",
|
||
// "get",
|
||
"had",
|
||
"has",
|
||
"her",
|
||
"him",
|
||
"its",
|
||
// "may", // like the month
|
||
// wikipedia has this in lower case in the title so we need
|
||
// not to be a stopword
|
||
"not", // fix 'to be or not to be'... no, revert
|
||
"our",
|
||
"she",
|
||
"you",
|
||
"also",
|
||
"been",
|
||
"from",
|
||
"have",
|
||
"here",
|
||
"hers",
|
||
// "mine", // land mine
|
||
"ours",
|
||
"that",
|
||
"them",
|
||
"then",
|
||
"they",
|
||
"this",
|
||
"were",
|
||
"will",
|
||
"with",
|
||
"your",
|
||
"about",
|
||
"above",
|
||
//"ain", // ain't
|
||
"could",
|
||
//"isn", // isn't
|
||
"their",
|
||
"there",
|
||
"these",
|
||
"those",
|
||
"through", // fix ceder.net "Mainstream thru A1 Dance" event title
|
||
"thru", // fix ceder.net "Mainstream thru A1 Dance" event title
|
||
"until", // fix event title for blackbirdbuvette.com
|
||
"under", // fix title for http://www.harwoodmuseum.org/press_detail.php?ID=44
|
||
"would",
|
||
"yours",
|
||
"theirs",
|
||
//"aren", // aren't
|
||
//"hadn", // hadn't
|
||
//"didn", // didn't
|
||
//"hasn", // hasn'y
|
||
//"ll", // they'll this'll that'll you'll
|
||
//"ve", // would've should've
|
||
//"should",
|
||
//"shouldn", // shouldn't
|
||
NULL
|
||
};
|
||
static HashTableX s_stopWordTable;
|
||
static bool s_stopWordsInitialized = false;
|
||
|
||
bool initWordTable( HashTableX *table, char *words[],
|
||
//int32_t size ,
|
||
char *label ) {
|
||
// count them
|
||
int32_t count; for ( count = 0 ; words[count] ; count++ );
|
||
// set up the hash table
|
||
if ( ! table->set ( 8,4,count * 2,NULL,0,false,0,label ) )
|
||
return log(LOG_INIT,"build: Could not init stop words "
|
||
"table." );
|
||
// now add in all the stop words
|
||
int32_t n = count;//(int32_t)size/ sizeof(char *);
|
||
for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
char *sw = words[i];
|
||
if ( ! sw ) break;
|
||
int32_t swlen = gbstrlen ( sw );
|
||
int64_t swh = hash64Lower_utf8 ( sw , swlen );
|
||
//log("ii: #%"INT32" %s",i,sw);
|
||
if ( ! table->addTerm (&swh,i+1) ) return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
bool isStopWord ( char *s , int32_t len , int64_t h ) {
|
||
if ( ! s_stopWordsInitialized ) {
|
||
s_stopWordsInitialized =
|
||
initWordTable(&s_stopWordTable, s_stopWords,
|
||
//sizeof(s_stopWords),
|
||
"stopwords");
|
||
if (!s_stopWordsInitialized) return false;
|
||
}
|
||
|
||
// . all 1 char letter words are stop words
|
||
// . good for initials and some contractions
|
||
if ( len == 1 && is_alpha_a(*s) ) return true;
|
||
|
||
// get from table
|
||
return s_stopWordTable.getScore ( &h );
|
||
}
|
||
|
||
bool isStopWord2 ( int64_t *h ) {
|
||
if ( ! s_stopWordsInitialized ) {
|
||
s_stopWordsInitialized =
|
||
initWordTable(&s_stopWordTable, s_stopWords,
|
||
//sizeof(s_stopWords)
|
||
"stopwrds2");
|
||
if (!s_stopWordsInitialized) return false;
|
||
}
|
||
|
||
// . all 1 char letter words are stop words
|
||
// . good for initials and some contractions
|
||
//if ( len == 1 && is_alpha_a(*s) ) return true;
|
||
|
||
// get from table
|
||
return s_stopWordTable.getScore ( h );
|
||
}
|
||
|
||
HashTableX s_table32;
|
||
static bool s_init32 = false;
|
||
|
||
// a 32-bit version
|
||
bool isStopWord32 ( int32_t h ) {
|
||
if ( ! s_init32 ) {
|
||
s_init32 = true;
|
||
int32_t size = sizeof(s_stopWords);
|
||
if ( ! s_table32.set ( 4,0,size * 2,NULL,0,false,0,"stb32" ) )
|
||
return log("build: Could not init 32-bit stop words");
|
||
// now add in all the stop words
|
||
int32_t n = (int32_t)size/ sizeof(char *);
|
||
for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
char *sw = s_stopWords[i];
|
||
int32_t swlen = gbstrlen ( sw );
|
||
int32_t swh = hash32Lower_utf8 ( sw , swlen );
|
||
if ( ! s_table32.addKey (&swh) ) {char *xx=NULL;*xx=0;}
|
||
}
|
||
}
|
||
return s_table32.isInTable ( &h );
|
||
}
|
||
|
||
// . damn i forgot to include these above
|
||
// . i need these so m_bitScores in IndexTable.cpp doesn't have to require
|
||
// them! Otherwise, it's like all queries have quotes around them again...
|
||
|
||
// . these have the stop words above plus some foreign stop words
|
||
// . these aren't
|
||
// . i shrunk this list a lot
|
||
// . see backups for the hold list
|
||
// . i shrunk this list a lot
|
||
// . see backups for the hold list
|
||
|
||
// langid 0 is for all languages, or when it lang is unknown, 'xx'
|
||
static char *s_queryStopWordsUnknown[] = {
|
||
"at",
|
||
//"be",
|
||
"by",
|
||
"of",
|
||
"on",
|
||
"or",
|
||
"over",
|
||
//"do",
|
||
//"he",
|
||
"if",
|
||
"is",
|
||
"it",
|
||
"in",
|
||
"into",
|
||
// "me", this is a real stop word!
|
||
// "my", this is a real stop word!
|
||
"re",
|
||
// "so", this is a real stop word!
|
||
"to",
|
||
// "us", this is a real stop word!
|
||
// "vs", this is a real stop word, but i took it off down here
|
||
//"we",
|
||
"the",
|
||
"and",
|
||
//"are",
|
||
// "can", this is a real stop word
|
||
//"did",
|
||
//"per", hurts 'cost per line of source code'
|
||
"for",
|
||
// "get",
|
||
//"had",
|
||
//"has",
|
||
//"her",
|
||
//"him",
|
||
//"its",
|
||
// "may", // like the month
|
||
// "not", // try taking this off the list
|
||
//"our",
|
||
//"she",
|
||
//"you",
|
||
"also",
|
||
//"been",
|
||
"from",
|
||
//"have",
|
||
//"here",
|
||
//"hers",
|
||
// "mine", // land mine
|
||
//"ours",
|
||
//"that",
|
||
//"them",
|
||
//"then",
|
||
//"they",
|
||
//"this",
|
||
//"were",
|
||
//"will",
|
||
"with",
|
||
//"your",
|
||
"about",
|
||
"above",
|
||
//"ain", // ain't
|
||
//"could",
|
||
//"isn", // isn't
|
||
"their",
|
||
//"there",
|
||
//"these",
|
||
//"those",
|
||
//"would",
|
||
//"yours",
|
||
//"theirs",
|
||
//"aren", // aren't
|
||
//"hadn", // hadn't
|
||
//"didn", // didn't
|
||
//"hasn", // hasn'y
|
||
//"ll", // they'll this'll that'll you'll
|
||
//"ve", // would've should've
|
||
//"should",
|
||
//"shouldn", // shouldn't
|
||
|
||
// . additional english stop words for queries
|
||
// . we don't want to require any of these words
|
||
// . 'second hand smoke and how it affects children'
|
||
// should essentially reduce to 5 words instead of 8
|
||
"i", // subject,
|
||
//"it", // subject
|
||
//"what",// what is the speed of sound needs this. hmmm. try removing
|
||
//"which", //
|
||
// 'who is lookup' is bad if we ignore this
|
||
// BUT now we should reconize it as a wikipedia phrase and require it!
|
||
//"who", // who is president of iraq needs this i guess
|
||
//"this", //
|
||
//"that", //
|
||
//"is", // -s
|
||
//"are", // present
|
||
//"was", // 1st
|
||
//"be", // infinitive
|
||
//"will", //
|
||
"a", //
|
||
"an", //
|
||
"the", //
|
||
"and", //
|
||
"or", //
|
||
"as", //
|
||
"of", //
|
||
"at", //
|
||
"by", //
|
||
"for", //
|
||
"with", //
|
||
"about", //
|
||
"to", //
|
||
"from", //
|
||
"in", //
|
||
"on", //
|
||
//"when", // when did martin luther king die?
|
||
//"where", // // hurts 'where do tsunami occur?'
|
||
// it was ignoring why for 'why you come to japan' and
|
||
// 'why is the sky blue', so take this out
|
||
//"why",
|
||
// . test 'how to make a lock pick set' if we ignore this!
|
||
// . it should still give bonus for trigram "howtomake"
|
||
//"how", // hurts 'how to tattoo' query!!
|
||
|
||
// danish stop words (in project/stopwords)
|
||
// cat danish.txt | awk '{print "\t\t\""$1"\",\t\t// "$3}'
|
||
"i", // in
|
||
"jeg", // I
|
||
//"det", // that
|
||
//"at", // that
|
||
"en", // a/an
|
||
//"den", // it
|
||
"til", // to/at/for/until/against/by/of/into,
|
||
//"er", // present
|
||
//"som", // who,
|
||
"p<EFBFBD>", // on/upon/in/on/at/to/after/of/with/for,
|
||
//"de", // they
|
||
//"med", // with/by/in,
|
||
//"han", // he
|
||
"af", // of/by/from/off/for/in/with/on,
|
||
"for", // at/for/to/from/by/of/ago,
|
||
"ikke", // not
|
||
//"der", // who/which,
|
||
//"var", // past
|
||
//"mig", // me/myself
|
||
//"sig", // oneself/himself/herself/itself/themselves
|
||
//"men", // but
|
||
//"et", // a/an/one,
|
||
//"har", // present
|
||
//"om", // round/about/for/in/a,
|
||
//"vi", // we
|
||
//"min", // my
|
||
//"havde", // past
|
||
//"ham", // him
|
||
//"hun", // she
|
||
//"nu", // now
|
||
//"over", // over/above/across/by/beyond/past/on/about,
|
||
//"da", // then,
|
||
"fra", // from/off/since,
|
||
//"du", // you
|
||
//"ud", // out
|
||
//"sin", // his/her/its/one's
|
||
//"dem", // them
|
||
//"os", // us/ourselves
|
||
//"op", // up
|
||
//"man", // you/one
|
||
//"hans", // his
|
||
//"hvor", // where
|
||
"eller", // or
|
||
//"hvad", // what
|
||
//"skal", // must/shall
|
||
//"selv", // myself/youself/herself/ourselves
|
||
//"her", // here
|
||
//"alle", // all/everyone/everybody
|
||
//"vil", // will
|
||
//"blev", // past
|
||
//"kunne", // could
|
||
//"ind", // in
|
||
//"n<>r", // when
|
||
//"v<>re", // present
|
||
//"dog", // however/yet/after
|
||
//"noget", // something
|
||
//"ville", // would
|
||
//"jo", // you
|
||
//"deres", // their/theirs
|
||
//"efter", // after/behind/according
|
||
//"ned", // down
|
||
//"skulle", // should
|
||
//"denne", // this
|
||
//"end", // than
|
||
//"dette", // this
|
||
//"mit", // my/mine
|
||
//"ogs<67>", // also
|
||
//"ogsa", // also
|
||
//"under", // under/beneath/below/during,
|
||
//"have", // have
|
||
//"dig", // you
|
||
//"anden", // other
|
||
//"hende", // her
|
||
//"mine", // my
|
||
//"alt", // everything
|
||
//"meget", // much/very,
|
||
//"sit", // his,
|
||
//"sine", // his,
|
||
//"vor", // our
|
||
//"mod", // against
|
||
//"disse", // these
|
||
//"hvis", // if
|
||
//"din", // your/yours
|
||
//"nogle", // some
|
||
"hos", // by/at
|
||
//"blive", // be/become
|
||
//"mange", // many
|
||
//"ad", // by/through
|
||
//"bliver", // present
|
||
//"hendes", // her/hers
|
||
//"v<>ret", // be
|
||
//"vaeret", // be
|
||
"thi", // for
|
||
//"jer", // you
|
||
//"s<>dan", // such,
|
||
|
||
// dutch stop words
|
||
"de", // the
|
||
"en", // and
|
||
//"van", // of,
|
||
"ik", // I,
|
||
"te", // (1)
|
||
//"dat", // that,
|
||
//"die", // that,
|
||
"in", // in,
|
||
"een", // a,
|
||
//"hij", // he
|
||
"het", // the,
|
||
//"niet", // not,
|
||
//"zijn", // (1)
|
||
//"is", // is
|
||
//"was", // (1)
|
||
//"op", // on,
|
||
"aan", // on,
|
||
//"met", // with,
|
||
//"als", // like,
|
||
//"voor", // (1)
|
||
//"had", // had,
|
||
//"er", // there
|
||
//"maar", // but,
|
||
//"om", // round,
|
||
//"hem", // him
|
||
//"dan", // then
|
||
//"zou", // should/would,
|
||
"of", // or,
|
||
//"wat", // what,
|
||
//"mijn", // possessive
|
||
//"men", // people,
|
||
//"dit", // this
|
||
//"zo", // so,
|
||
//"door", // through
|
||
//"over", // over,
|
||
//"ze", // she,
|
||
//"zich", // oneself
|
||
//"bij", // (1)
|
||
//"ook", // also,
|
||
//"tot", // till,
|
||
//"je", // you
|
||
//"mij", // me
|
||
//"uit", // out
|
||
//"der", // Old
|
||
//"daar", // (1)
|
||
//"haar", // (1)
|
||
//"naar", // (1)
|
||
//"heb", // present
|
||
//"hoe", // how,
|
||
//"heeft", // present
|
||
"hebben", // 'to
|
||
//"deze", // this
|
||
//"u", // you
|
||
//"want", // (1)
|
||
//"nog", // yet,
|
||
//"zal", // 'shall',
|
||
//"me", // me
|
||
//"zij", // she,
|
||
//"nu", // now
|
||
//"ge", // 'thou',
|
||
//"geen", // none
|
||
//"omdat", // because
|
||
//"iets", // something,
|
||
"worden", // to
|
||
//"toch", // yet,
|
||
//"al", // all,
|
||
//"waren", // (1)
|
||
//"veel", // much,
|
||
//"meer", // (1)
|
||
"doen", // to
|
||
//"toen", // then,
|
||
//"moet", // noun
|
||
//"ben", // (1)
|
||
//"zonder", // without
|
||
//"kan", // noun
|
||
//"hun", // their,
|
||
//"dus", // so,
|
||
//"alles", // all,
|
||
//"onder", // under,
|
||
//"ja", // yes,
|
||
//"eens", // once,
|
||
//"hier", // here
|
||
//"wie", // who
|
||
//"werd", // imperfect
|
||
//"altijd", // always
|
||
//"doch", // yet,
|
||
//"wordt", // present
|
||
//"wezen", // (1)
|
||
"kunnen", // to
|
||
//"ons", // us/our
|
||
//"zelf", // self
|
||
//"tegen", // against,
|
||
//"na", // after,
|
||
//"reeds", // already
|
||
//"wil", // (1)
|
||
//"kon", // could;
|
||
//"niets", // nothing
|
||
//"uw", // your
|
||
//"iemand", // somebody
|
||
//"geweest", // been;
|
||
//"andere", // other
|
||
|
||
|
||
// french stop words
|
||
//"au", // a
|
||
//"aux", // a
|
||
"avec", // with
|
||
//"ce", // this
|
||
//"ces", // these
|
||
"dans", // with
|
||
"de", // of
|
||
"des", // de
|
||
"du", // de
|
||
//"elle", // she
|
||
"en", // `of
|
||
//"et", // and
|
||
//"eux", // them
|
||
//"il", // he
|
||
"je", // I
|
||
//"la", // the
|
||
"le", // the
|
||
//"leur", // their
|
||
//"lui", // him
|
||
//"ma", // my
|
||
//"mais", // but
|
||
//"me", // me
|
||
//"m<>me", // same;
|
||
//"mes", // me
|
||
//"moi", // me
|
||
//"mon", // my
|
||
//"ne", // not
|
||
//"nos", // our
|
||
//"notre", // our
|
||
//"nous", // we
|
||
//"on", // one
|
||
//"ou", // where
|
||
//"par", // by
|
||
//"pas", // not
|
||
//"pour", // for
|
||
//"qu", // que
|
||
//"que", // that
|
||
//"qui", // who
|
||
//"sa", // his,
|
||
//"se", // oneself
|
||
//"ses", // his
|
||
//"son", // his,
|
||
"sur", // on
|
||
//"ta", // thy
|
||
//"te", // thee
|
||
//"tes", // thy
|
||
//"toi", // thee
|
||
//"ton", // thy
|
||
//"tu", // thou
|
||
//"un", // a
|
||
"une", // a
|
||
//"vos", // your
|
||
//"votre", // your
|
||
//"vous", // you
|
||
|
||
// german stop words
|
||
//"aber", // but
|
||
//"alle", // all
|
||
//"allem", //
|
||
//"allen", //
|
||
//"aller", //
|
||
//"alles", //
|
||
//"als", // than,
|
||
//"also", // so
|
||
"am", // an
|
||
"an", // at
|
||
//"ander", // other
|
||
//"andere", //
|
||
//"anderem", //
|
||
//"anderen", //
|
||
//"anderer", //
|
||
//"anderes", //
|
||
//"anderm", //
|
||
//"andern", //
|
||
//"anderr", //
|
||
//"anders", //
|
||
//"auch", // also
|
||
"auf", // on
|
||
//"aus", // out
|
||
"bei", // by
|
||
//"bin", // am
|
||
//"bis", // until
|
||
//"bist", // art
|
||
//"da", // there
|
||
"damit", // with
|
||
//"dann", // then
|
||
"der", // the
|
||
//"den", //
|
||
"des", //
|
||
//"dem", //
|
||
//"die", //
|
||
"das", //
|
||
//"da<64>", // that
|
||
"derselbe", // the
|
||
"derselben", //
|
||
"denselben", //
|
||
"desselben", //
|
||
"demselben", //
|
||
"dieselbe", //
|
||
"dieselben", //
|
||
"dasselbe", //
|
||
"dazu", // to
|
||
//"dein", // thy
|
||
//"deine", //
|
||
//"deinem", //
|
||
//"deinen", //
|
||
//"deiner", //
|
||
//"deines", //
|
||
//"denn", // because
|
||
"derer", // of
|
||
"dessen", // of
|
||
//"dich", // thee
|
||
//"dir", // to
|
||
//"du", // thou
|
||
//"dies", // this
|
||
//"diese", //
|
||
//"diesem", //
|
||
//"diesen", //
|
||
//"dieser", //
|
||
//"dieses", //
|
||
//"doch", // (several
|
||
//"dort", // (over)
|
||
//"durch", // through
|
||
"ein", // a
|
||
"eine", //
|
||
"einem", //
|
||
"einen", //
|
||
"einer", //
|
||
"eines", //
|
||
//"einig", // some
|
||
//"einige", //
|
||
//"einigem", //
|
||
//"einigen", //
|
||
//"einiger", //
|
||
//"einiges", //
|
||
//"einmal", // once
|
||
//"er", // he
|
||
//"ihn", // him
|
||
"ihm", // to
|
||
"es", // it
|
||
//"etwas", // something
|
||
//"euer", // your
|
||
//"eure", //
|
||
//"eurem", //
|
||
//"euren", //
|
||
//"eurer", //
|
||
//"eures", //
|
||
"f<EFBFBD>r", // for
|
||
//"gegen", // towards
|
||
//"gewesen", // p.p.
|
||
//"hab", // have
|
||
//"habe", // have
|
||
//"haben", // have
|
||
//"hat", // has
|
||
//"hatte", // had
|
||
//"hatten", // had
|
||
//"hier", // here
|
||
//"hin", // there
|
||
//"hinter", // behind
|
||
"ich", // I
|
||
//"mich", // me
|
||
"mir", // to
|
||
//"ihr", // you,
|
||
//"ihre", //
|
||
//"ihrem", //
|
||
//"ihren", //
|
||
//"ihrer", //
|
||
//"ihres", //
|
||
"euch", // to
|
||
//"im", // in
|
||
"in", // in
|
||
//"indem", // while
|
||
//"ins", // in
|
||
"ist", // is
|
||
//"jede", // each,
|
||
//"jedem", //
|
||
//"jeden", //
|
||
//"jeder", //
|
||
//"jedes", //
|
||
//"jene", // that
|
||
//"jenem", //
|
||
//"jenen", //
|
||
//"jener", //
|
||
//"jenes", //
|
||
//"jetzt", // now
|
||
//"kann", // can
|
||
//"kein", // no
|
||
//"keine", //
|
||
//"keinem", //
|
||
//"keinen", //
|
||
//"keiner", //
|
||
//"keines", //
|
||
//"k<>nnen", // can
|
||
//"k<>nnte", // could
|
||
//"machen", // do
|
||
//"man", // one
|
||
//"manche", // some,
|
||
//"manchem", //
|
||
//"manchen", //
|
||
//"mancher", //
|
||
//"manches", //
|
||
//"mein", // my
|
||
//"meine", //
|
||
//"meinem", //
|
||
//"meinen", //
|
||
//"meiner", //
|
||
//"meines", //
|
||
//"mit", // with
|
||
//"muss", // must
|
||
//"musste", // had
|
||
//"nach", // to(wards)
|
||
//"nicht", // not
|
||
//"nichts", // nothing
|
||
//"noch", // still,
|
||
//"nun", // now
|
||
//"nur", // only
|
||
//"ob", // whether
|
||
"oder", // or
|
||
//"ohne", // without
|
||
//"sehr", // very
|
||
//"sein", // his
|
||
//"seine", //
|
||
//"seinem", //
|
||
//"seinen", //
|
||
//"seiner", //
|
||
//"seines", //
|
||
//"selbst", // self
|
||
//"sich", // herself
|
||
//"sie", // they,
|
||
"ihnen", // to
|
||
//"sind", // are
|
||
//"so", // so
|
||
//"solche", // such
|
||
//"solchem", //
|
||
//"solchen", //
|
||
//"solcher", //
|
||
//"solches", //
|
||
//"soll", // shall
|
||
//"sollte", // should
|
||
//"sondern", // but
|
||
//"sonst", // else
|
||
//"<22>ber", // over
|
||
//"um", // about,
|
||
//"und", // and
|
||
//"uns", // us
|
||
//"unse", //
|
||
//"unsem", //
|
||
//"unsen", //
|
||
//"unser", //
|
||
//"unses", //
|
||
//"unter", // under
|
||
//"viel", // much
|
||
//"vom", // von
|
||
"von", // from
|
||
//"vor", // before
|
||
//"w<>hrend", // while
|
||
// "war", // was
|
||
//"waren", // were
|
||
//"warst", // wast
|
||
//"was", // what
|
||
//"weg", // away,
|
||
//"weil", // because
|
||
//"weiter", // further
|
||
//"welche", // which
|
||
//"welchem", //
|
||
//"welchen", //
|
||
//"welcher", //
|
||
//"welches", //
|
||
//"wenn", // when
|
||
//"werde", // will
|
||
//"werden", // will
|
||
//"wie", // how
|
||
//"wieder", // again
|
||
//"will", // want
|
||
//"wir", // we
|
||
//"wird", // will
|
||
//"wirst", // willst
|
||
//"wo", // where
|
||
//"wollen", // want
|
||
//"wollte", // wanted
|
||
//"w<>rde", // would
|
||
//"w<>rden", // would
|
||
"zu", // to
|
||
"zum", // zu
|
||
"zur", // zu
|
||
//"zwar", // indeed
|
||
//"zwischen", // between
|
||
|
||
// italian stop words
|
||
//"ad", // a
|
||
//"al", // a
|
||
//"allo", // a
|
||
//"ai", // a
|
||
//"agli", // a
|
||
//"all", // a
|
||
//"agl", // a
|
||
//"alla", // a
|
||
//"alle", // a
|
||
//"con", // with
|
||
"col", // con
|
||
"coi", // con
|
||
//"da", // from
|
||
"dal", // da
|
||
//"dallo", // da
|
||
"dai", // da
|
||
//"dagli", // da
|
||
//"dall", // da
|
||
//"dagl", // da
|
||
//"dalla", // da
|
||
//"dalle", // da
|
||
//"di", // of
|
||
"del", // di
|
||
//"dello", // di
|
||
"dei", // di
|
||
//"degli", // di
|
||
//"dell", // di
|
||
"degl", // di
|
||
//"della", // di
|
||
//"delle", // di
|
||
"in", // in
|
||
"nel", // in
|
||
//"nello", // in
|
||
"nei", // in
|
||
//"negli", // in
|
||
"nell", // in
|
||
//"negl", // in
|
||
//"nella", // in
|
||
//"nelle", // in
|
||
//"su", // on
|
||
//"sul", // su
|
||
//"sullo", // su
|
||
//"sui", // su
|
||
//"sugli", // su
|
||
//"sull", // su
|
||
//"sugl", // su
|
||
//"sulla", // su
|
||
//"sulle", // su
|
||
//"per", // through,
|
||
//"tra", // among
|
||
//"contro", // against
|
||
//"io", // I
|
||
//"tu", // thou
|
||
//"lui", // he
|
||
//"lei", // she
|
||
//"noi", // we
|
||
//"voi", // you
|
||
//"loro", // they
|
||
//"mio", // my
|
||
//"mia", //
|
||
//"miei", //
|
||
//"mie", //
|
||
//"tuo", //
|
||
//"tua", //
|
||
//"tuoi", // thy
|
||
//"tue", //
|
||
//"suo", //
|
||
//"sua", //
|
||
//"suoi", // his,
|
||
//"sue", //
|
||
//"nostro", // our
|
||
//"nostra", //
|
||
//"nostri", //
|
||
//"nostre", //
|
||
//"vostro", // your
|
||
//"vostra", //
|
||
//"vostri", //
|
||
//"vostre", //
|
||
//"mi", // me
|
||
//"ti", // thee
|
||
//"ci", // us,
|
||
//"vi", // you,
|
||
//"lo", // him,
|
||
//"la", // her,
|
||
//"li", // them
|
||
//"le", // them,
|
||
"gli", // to
|
||
"ne", // from
|
||
"il", // the
|
||
//"un", // a
|
||
//"uno", // a
|
||
//"una", // a
|
||
//"ma", // but
|
||
"ed", // and
|
||
//"se", // if
|
||
//"perch<63>", // why,
|
||
//"anche", // also
|
||
// "come", // how
|
||
//"dov", // where
|
||
//"dove", // where
|
||
//"che", // who,
|
||
//"chi", // who
|
||
//"cui", // whom
|
||
//"non", // not
|
||
//"pi<70>", // more
|
||
//"quale", // who,
|
||
//"quanto", // how
|
||
//"quanti", //
|
||
//"quanta", //
|
||
//"quante", //
|
||
//"quello", // that
|
||
//"quelli", //
|
||
//"quella", //
|
||
//"quelle", //
|
||
//"questo", // this
|
||
//"questi", //
|
||
//"questa", //
|
||
//"queste", //
|
||
//"si", // yes
|
||
//"tutto", // all
|
||
//"tutti", // all
|
||
"a", // at
|
||
//"c", // as
|
||
"e", // and
|
||
"i", // the
|
||
"l", // as
|
||
"o", // or
|
||
|
||
// norwegian stop words
|
||
"og", // and
|
||
"i", // in
|
||
"jeg", // I
|
||
//"det", // it/this/that
|
||
"at", // to
|
||
"en", // a
|
||
//"den", // it/this/that
|
||
"til", // to
|
||
//"er", // is
|
||
//"som", // who/that
|
||
"p<EFBFBD>", // on
|
||
//"de", // they
|
||
//"med", // with
|
||
//"han", // he
|
||
"av", // of
|
||
//"ikke", // not
|
||
//"inte", // not
|
||
//"der", // there
|
||
//"s<>", // so
|
||
//"var", // was
|
||
//"meg", // me
|
||
//"seg", // you
|
||
//"men", // but
|
||
"ett", // a
|
||
//"har", // have
|
||
//"om", // about
|
||
//"vi", // we
|
||
//"min", // my
|
||
//"mitt", // my
|
||
//"ha", // have
|
||
//"hade", // had
|
||
//"hu", // she
|
||
//"hun", // she
|
||
//"n<>", // now
|
||
//"over", // over
|
||
//"da", // when/as
|
||
//"ved", // by/know
|
||
//"fra", // from
|
||
//"du", // you
|
||
//"ut", // out
|
||
//"sin", // your
|
||
//"dem", // them
|
||
//"oss", // us
|
||
//"opp", // up
|
||
//"man", // you/one
|
||
//"kan", // can
|
||
//"hans", // his
|
||
//"hvor", // where
|
||
"eller", // or
|
||
//"hva", // what
|
||
//"skal", // shall/must
|
||
//"selv", // self
|
||
//"sj<73>l", // self
|
||
//"her", // here
|
||
//"alle", // all
|
||
//"vil", // will
|
||
//"bli", // become
|
||
//"ble", // became
|
||
//"blei", // became
|
||
//"blitt", // have
|
||
//"kunne", // could
|
||
//"inn", // in
|
||
//"n<>r", // when
|
||
//"v<>re", // be
|
||
//"kom", // come
|
||
//"noen", // some
|
||
//"noe", // some
|
||
//"ville", // would
|
||
//"dere", // you
|
||
//"de", // you
|
||
//"som", // who/which/that
|
||
//"deres", // their/theirs
|
||
//"kun", // only/just
|
||
//"ja", // yes
|
||
//"etter", // after
|
||
//"ned", // down
|
||
//"skulle", // should
|
||
//"denne", // this
|
||
"for", // for/because
|
||
//"deg", // you
|
||
//"si", // hers/his
|
||
//"sine", // hers/his
|
||
//"sitt", // hers/his
|
||
//"mot", // against
|
||
"<EFBFBD>", // to
|
||
//"meget", // much
|
||
//"hvorfor", // why
|
||
//"sia", // since
|
||
//"sidan", // since
|
||
//"dette", // this
|
||
//"desse", // these/those
|
||
//"disse", // these/those
|
||
//"uden", // uten
|
||
//"hvordan", // how
|
||
//"ingen", // noone
|
||
//"inga", // noone
|
||
//"din", // your
|
||
//"ditt", // your
|
||
//"blir", // become
|
||
//"samme", // same
|
||
//"hvilken", // which
|
||
//"hvilke", // which
|
||
//"s<>nn", // such
|
||
//"inni", // inside/within
|
||
//"mellom", // between
|
||
//"v<>r", // our
|
||
//"hver", // each
|
||
//"hvem", // who
|
||
//"vors", // us/ours
|
||
//"dere", // their
|
||
//"deres", // theirs
|
||
//"hvis", // whose
|
||
//"b<>de", // both
|
||
//"b<>e", // both
|
||
//"begge", // both
|
||
//"siden", // since
|
||
//"dykk", // your
|
||
//"dykkar", // yours
|
||
//"dei", // they
|
||
//"deira", // them
|
||
//"deires", // theirs
|
||
//"deim", // them
|
||
//"di", // your
|
||
//"d<>", // as/when
|
||
"eg", // I
|
||
"ein", // a/an
|
||
"ei", // a/an
|
||
"eit", // a/an
|
||
"eitt", // a/an
|
||
"elles", // or
|
||
//"honom", // he
|
||
"hj<EFBFBD>", // at
|
||
//"ho", // she
|
||
//"hoe", // she
|
||
//"henne", // her
|
||
//"hennar", // her/hers
|
||
//"hennes", // hers
|
||
//"hoss", // how
|
||
//"hossen", // how
|
||
//"ikkje", // not
|
||
//"ingi", // noone
|
||
//"inkje", // noone
|
||
//"korleis", // how
|
||
//"korso", // how
|
||
//"kva", // what/which
|
||
//"kvar", // where
|
||
//"kvarhelst", // where
|
||
//"kven", // who/whom
|
||
//"kvi", // why
|
||
//"kvifor", // why
|
||
//"me", // we
|
||
//"medan", // while
|
||
//"mi", // my
|
||
//"mine", // my
|
||
//"mykje", // much
|
||
//"no", // now
|
||
//"nokon", // some
|
||
//"noka", // some
|
||
//"nokor", // some
|
||
//"noko", // some
|
||
//"nokre", // some
|
||
//"si", // his/hers
|
||
//"sia", // since
|
||
//"sidan", // since
|
||
//"so", // so
|
||
//"somt", // some
|
||
//"somme", // some
|
||
//"um", // about*
|
||
//"upp", // up
|
||
//"vere", // be
|
||
//"er", // am
|
||
//"var", // was
|
||
//"vore", // was
|
||
//"verte", // become
|
||
//"vort", // become
|
||
//"varte", // became
|
||
//"vart", // became
|
||
//"er", // am
|
||
"v<EFBFBD>re", // to
|
||
//"var", // was
|
||
"<EFBFBD>", // on
|
||
|
||
|
||
// portuguese stop words
|
||
"de", // of,
|
||
"a", // the;
|
||
"o", // the;
|
||
//"que", // who,
|
||
"e", // and
|
||
"do", // de
|
||
//"da", // de 'In da club lyrics'
|
||
"em", // in
|
||
//"um", // a
|
||
"para", // for
|
||
"com", // with
|
||
//"n<>o", // not,
|
||
"uma", // a
|
||
//"os", // the;
|
||
//"no", // em "hurts us too much in queries"
|
||
//"se", // himself
|
||
//"na", // em
|
||
"por", // for
|
||
//"mais", // more
|
||
"as", // the;
|
||
"dos", // de
|
||
//"como", // how,as
|
||
//"mas", // but
|
||
"ao", // a
|
||
//"ele", // he
|
||
"das", // de
|
||
//"<22>", // a
|
||
//"seu", // his
|
||
//"sua", // her
|
||
//"ou", // or
|
||
//"quando", // when
|
||
//"muito", // much
|
||
"nos", // em
|
||
//"j<>", // already,
|
||
//"eu", // I
|
||
//"tamb<6D>m", // also
|
||
//"s<>", // only,
|
||
//"pelo", // per
|
||
//"pela", // per
|
||
//"at<61>", // up
|
||
//"isso", // that
|
||
//"ela", // he
|
||
//"entre", // between
|
||
//"depois", // after
|
||
//"sem", // without
|
||
//"mesmo", // same
|
||
"aos", // a
|
||
//"seus", // his
|
||
//"quem", // whom
|
||
"nas", // em
|
||
//"me", // me
|
||
//"esse", // that
|
||
//"eles", // they
|
||
//"voc<6F>", // you
|
||
//"essa", // that
|
||
"num", // em
|
||
//"nem", // nor
|
||
//"suas", // her
|
||
//"meu", // my
|
||
"<EFBFBD>s", // a
|
||
//"minha", // my
|
||
"numa", // em
|
||
//"pelos", // per
|
||
//"elas", // they
|
||
//"qual", // which
|
||
//"n<>s", // we
|
||
"lhe", // to
|
||
//"deles", // of them
|
||
//"essas", // those
|
||
//"esses", // those
|
||
//"pelas", // per
|
||
//"este", // this
|
||
"dele", // of
|
||
//"tu", // thou
|
||
//"te", // thee
|
||
//"voc<6F>s", // you
|
||
//"vos", // you
|
||
"lhes", // to
|
||
//"meus", // my
|
||
//"minhas", //
|
||
//"teu", // thy
|
||
//"tua", //
|
||
//"teus", //
|
||
//"tuas", //
|
||
//"nosso", // our
|
||
//"nossa", //
|
||
//"nossos", //
|
||
//"nossas", //
|
||
"dela", // of
|
||
"delas", // of
|
||
//"esta", // this
|
||
//"estes", // these
|
||
//"estas", // these
|
||
//"aquele", // that
|
||
//"aquela", // that
|
||
//"aqueles", // those
|
||
//"aquelas", // those
|
||
//"isto", // this
|
||
//"aquilo", // that
|
||
//"estou", //
|
||
//"est<73>", //
|
||
//"estamos", //
|
||
//"est<73>o", //
|
||
//"estive", //
|
||
//"esteve", //
|
||
//"estivemos", //
|
||
//"estiveram", //
|
||
//"estava", //
|
||
//"est<73>vamos", //
|
||
//"estavam", //
|
||
//"estivera", //
|
||
//"estiv<69>ramos", //
|
||
//"esteja", //
|
||
//"estejamos", //
|
||
//"estejam", //
|
||
//"estivesse", //
|
||
//"estiv<69>ssemos", //
|
||
//"estivessem", //
|
||
//"estiver", //
|
||
//"estivermos", //
|
||
//"estiverem", //
|
||
|
||
// russian stop words
|
||
"<EFBFBD>", // and
|
||
"<EFBFBD>", // in/into
|
||
"<EFBFBD><EFBFBD>", // alternative
|
||
//"<22><>", // not
|
||
//"<22><><EFBFBD>", // what/that
|
||
//"<22><>", // he
|
||
"<EFBFBD><EFBFBD>", // on/onto
|
||
"<EFBFBD>", // i
|
||
"<EFBFBD>", // from
|
||
"<EFBFBD><EFBFBD>", // alternative
|
||
//"<22><><EFBFBD>", // how
|
||
//"<22>", // milder
|
||
"<EFBFBD><EFBFBD>", // conjunction
|
||
//"<22><><EFBFBD>", // all
|
||
//"<22><><EFBFBD>", // she
|
||
//"<22><><EFBFBD>", // so,
|
||
//"<22><><EFBFBD>", // him
|
||
//"<22><>", // but
|
||
//"<22><>", // yes/and
|
||
//"<22><>", // thou
|
||
"<EFBFBD>", // towards,
|
||
"<EFBFBD>", // around,
|
||
//"<22><>", // intensifier
|
||
//"<22><>", // you
|
||
//"<22><>", // beyond,
|
||
//"<22><>", // conditional/subj.
|
||
//"<22><>", // up
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // only
|
||
//"<22><>", // her
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // it
|
||
//"<22><><EFBFBD>", // here
|
||
//"<22><>", // away
|
||
//"<22><><EFBFBD><EFBFBD>", // me
|
||
//"<22><><EFBFBD>", // still,
|
||
//"<22><><EFBFBD>", // no,
|
||
"<EFBFBD>", // about
|
||
//"<22><>", // out
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // now
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // when
|
||
//"<22><><EFBFBD><EFBFBD>", // even
|
||
//"<22><>", // so,
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // suddenly
|
||
//"<22><>", // interrogative
|
||
//"<22><><EFBFBD><EFBFBD>", // if
|
||
//"<22><><EFBFBD>", // already,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // or
|
||
//"<22><>", // neither
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD>", // he
|
||
//"<22><><EFBFBD><EFBFBD>", // prepositional
|
||
//"<22><>", // up
|
||
//"<22><><EFBFBD>", // you
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // indef.
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // again
|
||
//"<22><>", // already,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // he
|
||
//"<22><><EFBFBD><EFBFBD>", // particle
|
||
//"<22><><EFBFBD>", // there
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // then
|
||
//"<22><><EFBFBD><EFBFBD>", // oneself
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // nothing
|
||
"<EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // usually
|
||
//"<22><><EFBFBD>", // they
|
||
//"<22><><EFBFBD>", // here
|
||
//"<22><><EFBFBD>", // where
|
||
//"<22><><EFBFBD><EFBFBD>", // there
|
||
//"<22><><EFBFBD><EFBFBD>", // got
|
||
//"<22><><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // for
|
||
//"<22><>", // we
|
||
//"<22><><EFBFBD><EFBFBD>", // thee
|
||
//"<22><>", // them,
|
||
//"<22><><EFBFBD>", // than
|
||
//"<22><><EFBFBD><EFBFBD>", // she
|
||
//"<22><><EFBFBD>", // self
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
//"<22><><EFBFBD>", // without
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // as
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // man,
|
||
//"<22><><EFBFBD><EFBFBD>", // genitive
|
||
//"<22><><EFBFBD>", // once
|
||
//"<22><><EFBFBD><EFBFBD>", // also
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD>", // beneath
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // life
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // will
|
||
//"<22>", // int16_t
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // then
|
||
//"<22><><EFBFBD>", // who
|
||
//"<22><><EFBFBD><EFBFBD>", // this
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // was
|
||
//"<22><><EFBFBD><EFBFBD>", // genitive
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // for
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // genitive
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // which
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // altogether
|
||
//"<22><><EFBFBD>", // prepositional
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // here
|
||
//"<22><><EFBFBD><EFBFBD>", // prepositional
|
||
//"<22><><EFBFBD><EFBFBD>", // one
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // almost
|
||
//"<22><><EFBFBD>", // my
|
||
//"<22><><EFBFBD>", // instrumental/dative
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // full
|
||
//"<22><><EFBFBD>", // her
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // it
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // now
|
||
//"<22><><EFBFBD><EFBFBD>", // they
|
||
//"<22><><EFBFBD><EFBFBD>", // where
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // why
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD><EFBFBD>", // all
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // never
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // today
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // possible,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // by
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // finally
|
||
//"<22><><EFBFBD>", // two
|
||
//"<22><>", // alternative
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // another
|
||
//"<22><><EFBFBD><EFBFBD>", // even
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // after
|
||
//"<22><><EFBFBD>", // above
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // more
|
||
//"<22><><EFBFBD>", // that
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // across,
|
||
//"<22><><EFBFBD>", // these
|
||
//"<22><><EFBFBD>", // us
|
||
//"<22><><EFBFBD>", // about
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
//"<22><><EFBFBD>", // prepositional
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // which,
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // lots
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // interrogative
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // she
|
||
//"<22><><EFBFBD>", // three
|
||
//"<22><><EFBFBD>", // this,
|
||
//"<22><><EFBFBD>", // my,
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // moreover,
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // good
|
||
//"<22><><EFBFBD><EFBFBD>", // ones
|
||
//"<22><><EFBFBD><EFBFBD>", // oblique
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // sometimes
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // better
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // a
|
||
//"<22><><EFBFBD>", // preposn.
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // one
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // such
|
||
"<EFBFBD><EFBFBD>", // to
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // more
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // always
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // of
|
||
//"<22><><EFBFBD>", // acc.
|
||
//"<22><><EFBFBD><EFBFBD><EFBFBD>", // between
|
||
|
||
// spanish stop words
|
||
"de", // from,
|
||
//"la", // the,
|
||
//"que", // who,
|
||
"el", // the
|
||
"en", // in
|
||
"y", // and
|
||
"a", // to
|
||
"los", // the,
|
||
"del", // de
|
||
//"se", // himself,
|
||
"las", // the,
|
||
"por", // for,
|
||
//"un", // a
|
||
"para", // for
|
||
//"con", // with
|
||
//"no", // no
|
||
//"una", // a
|
||
//"su", // his,
|
||
//"al", // a
|
||
//"lo", // him
|
||
//"como", // how
|
||
//"m<>s", // more
|
||
//"pero", // pero
|
||
//"sus", // su
|
||
"le", // to
|
||
//"ya", // already
|
||
"o", // or
|
||
//"este", // this
|
||
//"s<>", // himself
|
||
//"porque", // because
|
||
//"esta", // this
|
||
//"entre", // between
|
||
//"cuando", // when
|
||
//"muy", // very
|
||
//"sin", // without
|
||
//"sobre", // on
|
||
//"tambi<62>n", // also
|
||
//"me", // me
|
||
//"hasta", // until
|
||
//"hay", // there
|
||
//"donde", // where
|
||
//"quien", // whom,
|
||
"desde", // from
|
||
//"todo", // all
|
||
//"nos", // us
|
||
//"durante", // during
|
||
//"todos", // all
|
||
//"uno", // a
|
||
"les", // to
|
||
//"ni", // nor
|
||
//"contra", // against
|
||
//"otros", // other
|
||
"ese", // that
|
||
"eso", // that
|
||
//"ante", // before
|
||
//"ellos", // they
|
||
"e", // and
|
||
//"esto", // this
|
||
//"m<>", // me
|
||
//"antes", // before
|
||
//"algunos", // some
|
||
//"qu<71>", // what?
|
||
"unos", // a
|
||
"yo", // I
|
||
//"otro", // other
|
||
//"otras", // other
|
||
//"otra", // other
|
||
//"<22>l", // he
|
||
//"tanto", // so
|
||
//"esa", // that
|
||
//"estos", // these
|
||
//"mucho", // much,
|
||
//"quienes", // who
|
||
//"nada", // nothing
|
||
//"muchos", // many
|
||
//"cual", // who
|
||
//"poco", // few
|
||
//"ella", // she
|
||
"estar", // to
|
||
//"estas", // these
|
||
//"algunas", // some
|
||
//"algo", // something
|
||
//"nosotros", // we
|
||
//"mi", // me
|
||
//"mis", // mi
|
||
//"t<>", // thou
|
||
//"te", // thee
|
||
//"ti", // thee
|
||
//"tu", // thy
|
||
//"tus", // tu
|
||
//"ellas", // they
|
||
//"nosotras", // we
|
||
//"vosostros", // you
|
||
//"vosostras", // you
|
||
//"os", // you
|
||
//"m<>o", // mine
|
||
//"m<>a", //
|
||
//"m<>os", //
|
||
//"m<>as", //
|
||
//"tuyo", // thine
|
||
//"tuya", //
|
||
//"tuyos", //
|
||
//"tuyas", //
|
||
//"suyo", // his,
|
||
//"suya", //
|
||
//"suyos", //
|
||
//"suyas", //
|
||
//"nuestro", // ours
|
||
//"nuestra", //
|
||
//"nuestros", //
|
||
//"nuestras", //
|
||
//"vuestro", // yours
|
||
//"vuestra", //
|
||
//"vuestros", //
|
||
//"vuestras", //
|
||
//"esos", // those
|
||
//"esas", // those
|
||
//"estoy", //
|
||
//"est<73>s", //
|
||
//"est<73>", //
|
||
//"estamos", //
|
||
//"est<73>is", //
|
||
//"est<73>n", //
|
||
//"est<73>", //
|
||
//"est<73>s", //
|
||
//"estemos", //
|
||
//"est<73>is", //
|
||
//"est<73>n", //
|
||
//"estar<61>", //
|
||
//"estar<61>s", //
|
||
//"estar<61>", //
|
||
//"estaremos", //
|
||
//"estar<61>is", //
|
||
//"estar<61>n", //
|
||
//"estar<61>a", //
|
||
//"estar<61>as", //
|
||
//"estar<61>amos", //
|
||
//"estar<61>ais", //
|
||
//"estar<61>an", //
|
||
//"estaba", //
|
||
//"estabas", //
|
||
//"est<73>bamos", //
|
||
//"estabais", //
|
||
//"estaban", //
|
||
//"estuve", //
|
||
//"estuviste", //
|
||
//"estuvo", //
|
||
//"estuvimos", //
|
||
//"estuvisteis", //
|
||
//"estuvieron", //
|
||
//"estuviera", //
|
||
//"estuvieras", //
|
||
//"estuvi<76>ramos", //
|
||
//"estuvierais", //
|
||
//"estuvieran", //
|
||
//"estuviese", //
|
||
//"estuvieses", //
|
||
//"estuvi<76>semos", //
|
||
//"estuvieseis", //
|
||
//"estuviesen", //
|
||
//"estando", //
|
||
//"estado", //
|
||
//"estada", //
|
||
//"estados", //
|
||
//"estadas", //
|
||
//"estad", //
|
||
|
||
// swedish stop words
|
||
"och", // and
|
||
//"det", // it,
|
||
//"att", // to
|
||
"i", // in,
|
||
"en", // a
|
||
//"jag", // I
|
||
//"hon", // she
|
||
//"som", // who,
|
||
//"han", // he
|
||
"p<EFBFBD>", // on
|
||
//"den", // it,
|
||
//"med", // with
|
||
//"var", // where,
|
||
//"sig", // him(self)
|
||
//"f<>r", // for (valgrind does not like, bad utf8?)
|
||
//"s<>", // so
|
||
"till", // to
|
||
"<EFBFBD>r", // is
|
||
//"men", // but
|
||
"ett", // a
|
||
//"om", // if;
|
||
//"hade", // had
|
||
//"de", // they,
|
||
//"av", // of
|
||
//"icke", // not,
|
||
//"mig", // me
|
||
//"du", // you
|
||
//"henne", // her
|
||
//"d<>", // then,
|
||
//"sin", // his
|
||
//"nu", // now
|
||
//"har", // have
|
||
//"inte", // inte
|
||
//"hans", // his
|
||
//"honom", // him
|
||
//"skulle", // 'sake'
|
||
//"hennes", // her
|
||
//"d<>r", // there
|
||
//"min", // my
|
||
//"man", // one
|
||
//"ej", // nor
|
||
"vid", // at,
|
||
//"kunde", // could
|
||
//"n<>got", // some
|
||
"fr<EFBFBD>n", // from,
|
||
//"ut", // out
|
||
//"n<>r", // when
|
||
//"efter", // after,
|
||
//"upp", // up
|
||
//"vi", // we
|
||
//"dem", // them
|
||
//"vara", // be
|
||
//"vad", // what
|
||
//"<22>ver", // over
|
||
//"<22>n", // than
|
||
//"dig", // you
|
||
//"kan", // can
|
||
//"sina", // his
|
||
//"h<>r", // here
|
||
//"ha", // have
|
||
//"mot", // towards
|
||
//"alla", // all
|
||
//"under", // under
|
||
//"n<>gon", // some
|
||
"eller", // or
|
||
//"allt", // all
|
||
//"mycket", // much
|
||
//"sedan", // since
|
||
//"ju", // why
|
||
//"denna", // this/that
|
||
//"sj<73>lv", // myself,
|
||
//"detta", // this/that
|
||
"<EFBFBD>t", // to
|
||
//"utan", // without
|
||
//"varit", // was
|
||
//"hur", // how
|
||
//"ingen", // no
|
||
//"mitt", // my
|
||
//"ni", // you
|
||
"bli", // to
|
||
"blev", // from
|
||
//"oss", // us
|
||
//"din", // thy
|
||
//"dessa", // these/those
|
||
//"n<>gra", // some
|
||
//"deras", // their
|
||
"blir", // from
|
||
//"mina", // my
|
||
"samma", // (the)
|
||
//"vilken", // who,
|
||
//"er", // you,
|
||
//"s<>dan", // such
|
||
//"v<>r", // our
|
||
"blivit", // from
|
||
//"dess", // its
|
||
//"inom", // within
|
||
//"mellan", // between
|
||
//"s<>dant", // such
|
||
//"varf<72>r", // why (valgrind does not like, bad utf8?)
|
||
//"varje", // each
|
||
//"vilka", // who,
|
||
//"ditt", // thy
|
||
//"vem", // who
|
||
//"vilket", // who,
|
||
//"sitta", // his
|
||
//"s<>dana", // such
|
||
//"vart", // each
|
||
//"dina", // thy
|
||
//"vars", // whose
|
||
//"v<>rt", // our
|
||
//"v<>ra", // our
|
||
//"ert", // your
|
||
//"era", // your
|
||
//"vilkas", // whose
|
||
|
||
// internet stop words
|
||
//"www",
|
||
//"com"
|
||
|
||
// additional stop words
|
||
//"san" // like san francisco
|
||
NULL
|
||
};
|
||
|
||
|
||
// english is 1
|
||
static char *s_queryStopWordsEnglish[] = {
|
||
"at",
|
||
"by",
|
||
"of",
|
||
"on",
|
||
"or",
|
||
"over",
|
||
"if",
|
||
"is",
|
||
"it",
|
||
"in",
|
||
"into",
|
||
"re",
|
||
"to",
|
||
"the",
|
||
"and",
|
||
"for",
|
||
"also",
|
||
"from",
|
||
"with",
|
||
"about",
|
||
"above",
|
||
"their",
|
||
"i",
|
||
"a",
|
||
"an",
|
||
"the",
|
||
"and",
|
||
"or",
|
||
"as",
|
||
"of",
|
||
"at",
|
||
"by",
|
||
"for",
|
||
"with",
|
||
"about",
|
||
"to",
|
||
"from",
|
||
"in",
|
||
"on",
|
||
NULL
|
||
};
|
||
|
||
|
||
static char *s_queryStopWordsGerman[] = {
|
||
// german stop words
|
||
//"aber", // but
|
||
//"alle", // all
|
||
//"allem", //
|
||
//"allen", //
|
||
//"aller", //
|
||
//"alles", //
|
||
//"als", // than,
|
||
//"also", // so
|
||
"am", // an
|
||
"an", // at
|
||
//"ander", // other
|
||
//"andere", //
|
||
//"anderem", //
|
||
//"anderen", //
|
||
//"anderer", //
|
||
//"anderes", //
|
||
//"anderm", //
|
||
//"andern", //
|
||
//"anderr", //
|
||
//"anders", //
|
||
//"auch", // also
|
||
"auf", // on
|
||
//"aus", // out
|
||
"bei", // by
|
||
//"bin", // am
|
||
//"bis", // until
|
||
//"bist", // art
|
||
//"da", // there
|
||
"damit", // with
|
||
//"dann", // then
|
||
"der", // the
|
||
"den", //
|
||
"des", //
|
||
"dem", //
|
||
"die", //
|
||
"das", //
|
||
//"da<64>", // that
|
||
"derselbe", // the
|
||
"derselben", //
|
||
"denselben", //
|
||
"desselben", //
|
||
"demselben", //
|
||
"dieselbe", //
|
||
"dieselben", //
|
||
"dasselbe", //
|
||
"dazu", // to
|
||
//"dein", // thy
|
||
//"deine", //
|
||
//"deinem", //
|
||
//"deinen", //
|
||
//"deiner", //
|
||
//"deines", //
|
||
//"denn", // because
|
||
"derer", // of
|
||
"dessen", // of
|
||
//"dich", // thee
|
||
//"dir", // to
|
||
//"du", // thou
|
||
//"dies", // this
|
||
//"diese", //
|
||
//"diesem", //
|
||
//"diesen", //
|
||
//"dieser", //
|
||
//"dieses", //
|
||
//"doch", // (several
|
||
//"dort", // (over)
|
||
//"durch", // through
|
||
"ein", // a
|
||
"eine", //
|
||
"einem", //
|
||
"einen", //
|
||
"einer", //
|
||
"eines", //
|
||
//"einig", // some
|
||
//"einige", //
|
||
//"einigem", //
|
||
//"einigen", //
|
||
//"einiger", //
|
||
//"einiges", //
|
||
//"einmal", // once
|
||
//"er", // he
|
||
//"ihn", // him
|
||
"ihm", // to
|
||
"es", // it
|
||
//"etwas", // something
|
||
//"euer", // your
|
||
//"eure", //
|
||
//"eurem", //
|
||
//"euren", //
|
||
//"eurer", //
|
||
//"eures", //
|
||
"f<EFBFBD>r", // for
|
||
//"gegen", // towards
|
||
//"gewesen", // p.p.
|
||
//"hab", // have
|
||
//"habe", // have
|
||
//"haben", // have
|
||
//"hat", // has
|
||
//"hatte", // had
|
||
//"hatten", // had
|
||
//"hier", // here
|
||
//"hin", // there
|
||
//"hinter", // behind
|
||
"ich", // I
|
||
//"mich", // me
|
||
"mir", // to
|
||
//"ihr", // you,
|
||
//"ihre", //
|
||
//"ihrem", //
|
||
//"ihren", //
|
||
//"ihrer", //
|
||
//"ihres", //
|
||
"euch", // to
|
||
"im", // in
|
||
"in", // in
|
||
//"indem", // while
|
||
"ins", // in
|
||
"ist", // is
|
||
//"jede", // each,
|
||
//"jedem", //
|
||
//"jeden", //
|
||
//"jeder", //
|
||
//"jedes", //
|
||
//"jene", // that
|
||
//"jenem", //
|
||
//"jenen", //
|
||
//"jener", //
|
||
//"jenes", //
|
||
//"jetzt", // now
|
||
//"kann", // can
|
||
//"kein", // no
|
||
//"keine", //
|
||
//"keinem", //
|
||
//"keinen", //
|
||
//"keiner", //
|
||
//"keines", //
|
||
//"k<>nnen", // can
|
||
//"k<>nnte", // could
|
||
//"machen", // do
|
||
//"man", // one
|
||
//"manche", // some,
|
||
//"manchem", //
|
||
//"manchen", //
|
||
//"mancher", //
|
||
//"manches", //
|
||
//"mein", // my
|
||
//"meine", //
|
||
//"meinem", //
|
||
//"meinen", //
|
||
//"meiner", //
|
||
//"meines", //
|
||
"mit", // with
|
||
//"muss", // must
|
||
//"musste", // had
|
||
//"nach", // to(wards)
|
||
//"nicht", // not
|
||
//"nichts", // nothing
|
||
//"noch", // still,
|
||
//"nun", // now
|
||
//"nur", // only
|
||
//"ob", // whether
|
||
"oder", // or
|
||
//"ohne", // without
|
||
//"sehr", // very
|
||
//"sein", // his
|
||
//"seine", //
|
||
//"seinem", //
|
||
//"seinen", //
|
||
//"seiner", //
|
||
//"seines", //
|
||
//"selbst", // self
|
||
//"sich", // herself
|
||
//"sie", // they,
|
||
"ihnen", // to
|
||
//"sind", // are
|
||
//"so", // so
|
||
//"solche", // such
|
||
//"solchem", //
|
||
//"solchen", //
|
||
//"solcher", //
|
||
//"solches", //
|
||
//"soll", // shall
|
||
//"sollte", // should
|
||
//"sondern", // but
|
||
//"sonst", // else
|
||
"<EFBFBD>ber", // over
|
||
//"um", // about,
|
||
"und", // and
|
||
//"uns", // us
|
||
//"unse", //
|
||
//"unsem", //
|
||
//"unsen", //
|
||
//"unser", //
|
||
//"unses", //
|
||
//"unter", // under
|
||
//"viel", // much
|
||
//"vom", // von
|
||
"von", // from
|
||
//"vor", // before
|
||
//"w<>hrend", // while
|
||
//"war", // was
|
||
//"waren", // were
|
||
//"warst", // wast
|
||
//"was", // what
|
||
//"weg", // away,
|
||
//"weil", // because
|
||
//"weiter", // further
|
||
//"welche", // which
|
||
//"welchem", //
|
||
//"welchen", //
|
||
//"welcher", //
|
||
//"welches", //
|
||
//"wenn", // when
|
||
//"werde", // will
|
||
//"werden", // will
|
||
//"wie", // how
|
||
//"wieder", // again
|
||
//"will", // want
|
||
//"wir", // we
|
||
//"wird", // will
|
||
//"wirst", // willst
|
||
//"wo", // where
|
||
//"wollen", // want
|
||
//"wollte", // wanted
|
||
//"w<>rde", // would
|
||
//"w<>rden", // would
|
||
"zu", // to
|
||
"zum", // zu
|
||
"zur", // zu
|
||
//"zwar", // indeed
|
||
//"zwischen", // between
|
||
NULL
|
||
};
|
||
|
||
|
||
static HashTableX s_queryStopWordTables[MAXLANGID+1];
|
||
static bool s_queryStopWordsInitialized = false;
|
||
|
||
static char **s_queryStopWords2[MAXLANGID+1];
|
||
|
||
bool isQueryStopWord ( char *s , int32_t len , int64_t h , int32_t langId ) {
|
||
|
||
// include a bunch of foreign prepositions so they don't get required
|
||
// by the bitScores in IndexTable.cpp
|
||
if ( ! s_queryStopWordsInitialized ) {
|
||
// reset these
|
||
for ( int32_t i = 0 ; i <= MAXLANGID ; i++ )
|
||
s_queryStopWords2[i] = NULL;
|
||
// now set to what we got
|
||
s_queryStopWords2[langUnknown] = s_queryStopWordsUnknown;
|
||
s_queryStopWords2[langEnglish] = s_queryStopWordsEnglish;
|
||
s_queryStopWords2[langGerman ] = s_queryStopWordsGerman;
|
||
// set up the hash table
|
||
// if ( ! s_queryStopWordTable.set ( sizeof(s_queryStopWords) * 2 ) )
|
||
// return log(LOG_INIT,"query: Could not init query "
|
||
// "stop words table.");
|
||
// // now add in all the stop words
|
||
// int32_t n = (int32_t)sizeof(s_queryStopWords)/ sizeof(char *);
|
||
// for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
// char *sw = s_queryStopWords[i];
|
||
// int32_t swlen = gbstrlen ( sw );
|
||
// int64_t swh = hash64Lower ( sw , swlen );
|
||
// s_queryStopWordTable.addTerm (swh,i+1,i+1,true);
|
||
// // . add w/o accent marks too!
|
||
// // . skip "f<>r" though because fur is an eng. word
|
||
// //if ( *sw=='f' && *(sw+1)=='<27>' &&
|
||
// // *(sw+2)=='r' && swlen == 3 ) continue;
|
||
// //swh = hash64AsciiLower ( sw , swlen );
|
||
// //s_queryStopWordTable.addTerm (swh,i+1,i+1,true);
|
||
// }
|
||
for ( int32_t i = 0 ; i <= MAXLANGID ; i++ ) {
|
||
HashTableX *ht = &s_queryStopWordTables[i];
|
||
char **words = s_queryStopWords2[i];
|
||
if ( ! words ) continue;
|
||
if ( ! initWordTable ( ht,//&s_queryStopWordTable,
|
||
words,
|
||
//sizeof(words),
|
||
"qrystops") )
|
||
return false;
|
||
}
|
||
s_queryStopWordsInitialized = true;
|
||
}
|
||
|
||
// . all 1 char letter words are stop words
|
||
// . good for initials and some contractions
|
||
// . fix for 'j. w. eagan' .. return FALSE now
|
||
// . let 'a' remain a query stop word i guess... (mdw 7/16/12)
|
||
//if ( len == 1 && is_alpha_a(*s) ) return false;
|
||
|
||
if ( langId < 0 ) langId = langUnknown;
|
||
if ( langId > MAXLANGID ) langId = langUnknown;
|
||
|
||
// if empty, use default table
|
||
if ( ! s_queryStopWords2[langId] ) langId = langUnknown;
|
||
|
||
// get from table
|
||
return s_queryStopWordTables[langId].getScore ( &h );
|
||
}
|
||
|
||
// is it a stop word?
|
||
// . these have the stop words above plus some foreign stop words
|
||
// . these aren't
|
||
// . i shrunk this list a lot
|
||
// . see backups for the hold list
|
||
// . i shrunk this list a lot
|
||
// . see backups for the hold list
|
||
static char *s_commonWords[] = {
|
||
"to", // score = 1
|
||
"and", // score = 2
|
||
"of", // score = 3
|
||
"the", // score = 4
|
||
"this", // score = 5
|
||
"between",
|
||
"onto",
|
||
"now",
|
||
"during",
|
||
"after",
|
||
"before",
|
||
"since",
|
||
"his",
|
||
"more",
|
||
"all",
|
||
"most",
|
||
"each",
|
||
"other",
|
||
"others",
|
||
"same",
|
||
"throughout",
|
||
"through",
|
||
"part",
|
||
"being",
|
||
"any",
|
||
"many",
|
||
"than",
|
||
"within",
|
||
"without",
|
||
"since",
|
||
"because",
|
||
"whether",
|
||
"both",
|
||
"able",
|
||
"prior",
|
||
"under",
|
||
"beneath",
|
||
"shall",
|
||
"around",
|
||
"while",
|
||
"must",
|
||
"inside",
|
||
"just",
|
||
"until",
|
||
"behind",
|
||
"my",
|
||
"inc", // incorporated
|
||
"one",
|
||
"two",
|
||
"three",
|
||
"four",
|
||
"1",
|
||
"2",
|
||
"3",
|
||
"4",
|
||
"et",
|
||
"est",
|
||
"against",
|
||
"mr",
|
||
"mrs",
|
||
"miss",
|
||
"out",
|
||
"outside",
|
||
"well",
|
||
"only",
|
||
"some",
|
||
"even",
|
||
"may",
|
||
"still",
|
||
"such",
|
||
"much",
|
||
"ever",
|
||
"every",
|
||
"become",
|
||
"along",
|
||
|
||
"tion", // broken words
|
||
"ture", // broken words
|
||
|
||
"use",
|
||
"used",
|
||
"using",
|
||
"following", // the following
|
||
"home" ,
|
||
"copyright",
|
||
"tm", // trademark
|
||
"information",
|
||
"info",
|
||
"number", // number of
|
||
"welcome",
|
||
"online",
|
||
//"contact",
|
||
"today",
|
||
"said",
|
||
"says",
|
||
"say",
|
||
"told",
|
||
"became",
|
||
"again",
|
||
"later",
|
||
"began",
|
||
"gotta",
|
||
"yet",
|
||
"maybe",
|
||
"someone",
|
||
"something",
|
||
"oh",
|
||
"thanks",
|
||
"co.uk",
|
||
"first",
|
||
"takes",
|
||
"rest",
|
||
"might",
|
||
"never",
|
||
"ever",
|
||
"ok",
|
||
"himself",
|
||
"herself",
|
||
"southern",
|
||
"northern",
|
||
"beyond",
|
||
"saw",
|
||
"truly",
|
||
"turns",
|
||
"tonight",
|
||
"took",
|
||
"came",
|
||
"seeing",
|
||
"expect",
|
||
"arrives",
|
||
"arrive",
|
||
"starts",
|
||
"recently",
|
||
"land",
|
||
"born",
|
||
"ah",
|
||
"attack",
|
||
"kill",
|
||
"states",
|
||
"down",
|
||
"up",
|
||
"shit",
|
||
"fuck",
|
||
"damn",
|
||
"wait",
|
||
"leave",
|
||
"exit",
|
||
"sleep",
|
||
"anymore",
|
||
"presents",
|
||
"shares",
|
||
"wrote",
|
||
"pleasure",
|
||
"mention",
|
||
"gets",
|
||
"get",
|
||
"feels",
|
||
"feeling",
|
||
"across",
|
||
"entirely",
|
||
"really",
|
||
// until we add the rule to allow month/day names only
|
||
// if adjacent to an alpha word with only a space between
|
||
// let's get this out of there
|
||
"jan",
|
||
"feb",
|
||
"mar",
|
||
"apr",
|
||
"may",
|
||
"jun",
|
||
"jul",
|
||
"aug",
|
||
"sep",
|
||
"oct",
|
||
"nov",
|
||
"dec",
|
||
"january",
|
||
"february",
|
||
"march",
|
||
"april",
|
||
"may",
|
||
"june",
|
||
"july",
|
||
"august",
|
||
"september",
|
||
"october",
|
||
"november",
|
||
"december",
|
||
"sun",
|
||
"mon",
|
||
"tue",
|
||
"wed",
|
||
"thu",
|
||
"fri",
|
||
"sat",
|
||
"sunday",
|
||
"monday",
|
||
"tuesday",
|
||
"wednesday",
|
||
"thursday",
|
||
"friday",
|
||
"saturday",
|
||
// metaLINCS' meta from tags often end in email
|
||
// address ending in .com/.org and gigabits were not getting it
|
||
// unfortunately com is portuguese for with.
|
||
//"org",
|
||
//"com",
|
||
//"central",
|
||
//"click", chops off pay per click
|
||
//"website",
|
||
//"site",
|
||
//"place",
|
||
//"web",
|
||
"best",
|
||
"does",
|
||
"see",
|
||
"2003",
|
||
"2004",
|
||
"2005",
|
||
"2006",
|
||
"2007",
|
||
"2008",
|
||
"2009",
|
||
"2010",
|
||
"2011",
|
||
"2012",
|
||
"2013",
|
||
"2014",
|
||
"2015",
|
||
|
||
"at",
|
||
"be",
|
||
"by",
|
||
"on",
|
||
"or",
|
||
"do",
|
||
"he",
|
||
"if",
|
||
"is",
|
||
"it",
|
||
"it's",
|
||
"don't",
|
||
"doesn't",
|
||
"can't",
|
||
"won't,"
|
||
"shouldn't",
|
||
"wouldn't",
|
||
"couldn't",
|
||
"should've",
|
||
"would've",
|
||
"could've",
|
||
"wasn't",
|
||
"hasn't",
|
||
"hadn't",
|
||
"like", // in too many gigabits
|
||
"know", // in too many gigabits
|
||
"you'd",
|
||
"we'd",
|
||
"i'd",
|
||
"haven't",
|
||
"he'd",
|
||
"she'd",
|
||
"they'd",
|
||
"dont",
|
||
"won't",
|
||
"you're",
|
||
"very",
|
||
"seem",
|
||
"seems",
|
||
"thats",
|
||
"aren't",
|
||
"arent",
|
||
"let's",
|
||
"let",
|
||
"you've",
|
||
"they're",
|
||
"you'll",
|
||
"didn't",
|
||
"i've",
|
||
"we've",
|
||
"they've",
|
||
"we'll",
|
||
"they'll",
|
||
"i'll",
|
||
"he'll",
|
||
"she'll",
|
||
"he's",
|
||
"she's",
|
||
"we're",
|
||
"i'm",
|
||
"though",
|
||
"isn't",
|
||
"in",
|
||
"into",
|
||
"me",
|
||
"my",
|
||
"re",
|
||
"so",
|
||
"us",
|
||
"vs",
|
||
"we",
|
||
"are",
|
||
"but",
|
||
"over",
|
||
"can",
|
||
"did",
|
||
"per",
|
||
"for",
|
||
"get",
|
||
"had",
|
||
"has",
|
||
"her",
|
||
"him",
|
||
"its",
|
||
"may",
|
||
// "not",
|
||
"our",
|
||
"she",
|
||
"you",
|
||
"also",
|
||
"been",
|
||
"from",
|
||
"have",
|
||
"here",
|
||
"here's",
|
||
"there's",
|
||
"that's",
|
||
"hers",
|
||
//"mine",
|
||
"ours",
|
||
"that",
|
||
"them",
|
||
"then",
|
||
"they",
|
||
"were",
|
||
"will",
|
||
"with",
|
||
"your",
|
||
"about",
|
||
"above",
|
||
"ain", // ain't
|
||
"could",
|
||
"isn", // isn't
|
||
"their",
|
||
"there",
|
||
"these",
|
||
"those",
|
||
"would",
|
||
"yours",
|
||
"theirs",
|
||
"aren", // aren't
|
||
"hadn", // hadn't
|
||
"didn", // didn't
|
||
"hasn", // hasn'y
|
||
"ll", // they'll this'll that'll you'll
|
||
"ve", // would've should've
|
||
"should",
|
||
"shouldn", // shouldn't
|
||
|
||
// . additional english stop words for queries
|
||
// . we don't want to require any of these words
|
||
// . 'second hand smoke and how it affects children'
|
||
// should essentially reduce to 5 words instead of 8
|
||
"i", // subject,
|
||
"it", // subject
|
||
"what", //
|
||
"what's",
|
||
"which", //
|
||
"who", // common word
|
||
"that", //
|
||
"is", // -s
|
||
"are", // present
|
||
"was", // 1st
|
||
"be", // infinitive
|
||
"will", //
|
||
"a", //
|
||
"an", //
|
||
"or", //
|
||
"as", //
|
||
"at", //
|
||
"by", //
|
||
"for", //
|
||
"with", //
|
||
"about", //
|
||
"from", //
|
||
"in", //
|
||
"on", //
|
||
"when", //
|
||
"where", //
|
||
"why", // common word
|
||
"how", //
|
||
|
||
"finally",
|
||
"own",
|
||
|
||
// danish stop words (in project/stopwords)
|
||
// cat danish.txt | awk '{print "\t\t\""$1"\",\t\t// "$3}'
|
||
"i", // in
|
||
"jeg", // I
|
||
"det", // that
|
||
"at", // that
|
||
"en", // a/an
|
||
"den", // it
|
||
"til", // to/at/for/until/against/by/of/into,
|
||
"er", // present
|
||
"som", // who,
|
||
"p<EFBFBD>", // on/upon/in/on/at/to/after/of/with/for,
|
||
"de", // they
|
||
"med", // with/by/in,
|
||
"han", // he
|
||
"af", // of/by/from/off/for/in/with/on,
|
||
"for", // at/for/to/from/by/of/ago,
|
||
"ikke", // not
|
||
"der", // who/which,
|
||
"var", // past
|
||
"mig", // me/myself
|
||
"sig", // oneself/himself/herself/itself/themselves
|
||
"men", // but
|
||
"et", // a/an/one,
|
||
"har", // present
|
||
"om", // round/about/for/in/a,
|
||
"vi", // we
|
||
"min", // my
|
||
"havde", // past
|
||
"ham", // him
|
||
"hun", // she
|
||
"nu", // now
|
||
"over", // over/above/across/by/beyond/past/on/about,
|
||
"da", // then,
|
||
"fra", // from/off/since,
|
||
"du", // you
|
||
"ud", // out
|
||
"sin", // his/her/its/one's
|
||
"dem", // them
|
||
"os", // us/ourselves
|
||
"op", // up
|
||
"man", // you/one
|
||
"hans", // his
|
||
"hvor", // where
|
||
"eller", // or
|
||
"hvad", // what
|
||
"skal", // must/shall
|
||
"selv", // myself/youself/herself/ourselves
|
||
"her", // here
|
||
"alle", // all/everyone/everybody
|
||
"vil", // will
|
||
"blev", // past
|
||
"kunne", // could
|
||
"ind", // in
|
||
"n<EFBFBD>r", // when
|
||
"v<EFBFBD>re", // present
|
||
"dog", // however/yet/after
|
||
"noget", // something
|
||
"ville", // would
|
||
"jo", // you
|
||
"deres", // their/theirs
|
||
"efter", // after/behind/according
|
||
"ned", // down
|
||
"skulle", // should
|
||
"denne", // this
|
||
"end", // than
|
||
"dette", // this
|
||
"mit", // my/mine
|
||
"ogs<EFBFBD>", // also
|
||
"ogsa", // also
|
||
"under", // under/beneath/below/during,
|
||
"have", // have
|
||
"dig", // you
|
||
"anden", // other
|
||
"hende", // her
|
||
"mine", // my
|
||
"alt", // everything
|
||
"meget", // much/very,
|
||
"sit", // his,
|
||
"sine", // his,
|
||
"vor", // our
|
||
"mod", // against
|
||
"disse", // these
|
||
"hvis", // if
|
||
"din", // your/yours
|
||
"nogle", // some
|
||
"hos", // by/at
|
||
"blive", // be/become
|
||
"mange", // many
|
||
"ad", // by/through
|
||
"bliver", // present
|
||
"hendes", // her/hers
|
||
"v<EFBFBD>ret", // be
|
||
"vaeret", // be
|
||
"thi", // for
|
||
"jer", // you
|
||
"s<EFBFBD>dan", // such,
|
||
|
||
// dutch stop words
|
||
"de", // the
|
||
"en", // and
|
||
"van", // of,
|
||
"ik", // I,
|
||
"te", // (1)
|
||
"dat", // that,
|
||
"die", // that,
|
||
"in", // in,
|
||
"een", // a,
|
||
"hij", // he
|
||
"het", // the,
|
||
"niet", // not,
|
||
"zijn", // (1)
|
||
"is", // is
|
||
"was", // (1)
|
||
"op", // on,
|
||
"aan", // on,
|
||
"met", // with,
|
||
"als", // like,
|
||
"voor", // (1)
|
||
"had", // had,
|
||
"er", // there
|
||
"maar", // but,
|
||
"om", // round,
|
||
"hem", // him
|
||
"dan", // then
|
||
"zou", // should/would,
|
||
"wat", // what,
|
||
"mijn", // possessive
|
||
"men", // people,
|
||
"dit", // this
|
||
"zo", // so,
|
||
"door", // through
|
||
"over", // over,
|
||
"ze", // she,
|
||
"zich", // oneself
|
||
"bij", // (1)
|
||
"ook", // also,
|
||
"tot", // till,
|
||
"je", // you
|
||
"mij", // me
|
||
"uit", // out
|
||
"der", // Old
|
||
"daar", // (1)
|
||
"haar", // (1)
|
||
"naar", // (1)
|
||
"heb", // present
|
||
"hoe", // how,
|
||
"heeft", // present
|
||
"hebben", // 'to
|
||
"deze", // this
|
||
"u", // you
|
||
"want", // (1)
|
||
"nog", // yet,
|
||
"zal", // 'shall',
|
||
"me", // me
|
||
"zij", // she,
|
||
"nu", // now
|
||
"ge", // 'thou',
|
||
"geen", // none
|
||
"omdat", // because
|
||
"iets", // something,
|
||
"worden", // to
|
||
"toch", // yet,
|
||
"al", // all,
|
||
"waren", // (1)
|
||
"veel", // much,
|
||
"meer", // (1)
|
||
"doen", // to
|
||
"toen", // then,
|
||
"moet", // noun
|
||
"ben", // (1)
|
||
"zonder", // without
|
||
"kan", // noun
|
||
"hun", // their,
|
||
"dus", // so,
|
||
"alles", // all,
|
||
"onder", // under,
|
||
"ja", // yes,
|
||
"eens", // once,
|
||
"hier", // here
|
||
"wie", // who
|
||
"werd", // imperfect
|
||
"altijd", // always
|
||
"doch", // yet,
|
||
"wordt", // present
|
||
"wezen", // (1)
|
||
"kunnen", // to
|
||
"ons", // us/our
|
||
"zelf", // self
|
||
"tegen", // against,
|
||
"na", // after,
|
||
"reeds", // already
|
||
"wil", // (1)
|
||
"kon", // could;
|
||
"niets", // nothing
|
||
"uw", // your
|
||
"iemand", // somebody
|
||
"geweest", // been;
|
||
"andere", // other
|
||
|
||
|
||
// french stop words
|
||
"au", // a
|
||
"aux", // a
|
||
"avec", // with
|
||
"ce", // this
|
||
"ces", // these
|
||
"dans", // with
|
||
"de", // of
|
||
"des", // de
|
||
"du", // de
|
||
"elle", // she
|
||
"en", // `of
|
||
"et", // and
|
||
"eux", // them
|
||
"il", // he
|
||
"je", // I
|
||
"la", // the
|
||
"le", // the
|
||
"leur", // their
|
||
"lui", // him
|
||
"ma", // my
|
||
"mais", // but
|
||
"me", // me
|
||
"m<EFBFBD>me", // same;
|
||
"mes", // me
|
||
"moi", // me
|
||
"mon", // my
|
||
"ne", // not
|
||
"nos", // our
|
||
"notre", // our
|
||
"nous", // we
|
||
"on", // one
|
||
"ou", // where
|
||
"par", // by
|
||
"pas", // not
|
||
"pour", // for
|
||
"qu", // que
|
||
"que", // that
|
||
"qui", // who
|
||
"sa", // his,
|
||
"se", // oneself
|
||
"ses", // his
|
||
"son", // his,
|
||
"sur", // on
|
||
"ta", // thy
|
||
"te", // thee
|
||
"tes", // thy
|
||
"toi", // thee
|
||
"ton", // thy
|
||
"tu", // thou
|
||
"un", // a
|
||
"une", // a
|
||
"vos", // your
|
||
"votre", // your
|
||
"vous", // you
|
||
|
||
// german stop words
|
||
"aber", // but
|
||
"alle", // all
|
||
"allem", //
|
||
"allen", //
|
||
"aller", //
|
||
"alles", //
|
||
"als", // than,
|
||
"also", // so
|
||
"am", // an
|
||
"an", // at
|
||
"ander", // other
|
||
"andere", //
|
||
"anderem", //
|
||
"anderen", //
|
||
"anderer", //
|
||
"anderes", //
|
||
"anderm", //
|
||
"andern", //
|
||
"anderr", //
|
||
"anders", //
|
||
"auch", // also
|
||
"auf", // on
|
||
"aus", // out
|
||
"bei", // by
|
||
"bin", // am
|
||
"bis", // until
|
||
"bist", // art
|
||
"da", // there
|
||
"damit", // with
|
||
"dann", // then
|
||
"der", // the
|
||
"den", //
|
||
"des", //
|
||
"dem", //
|
||
"die", //
|
||
"das", //
|
||
"da<EFBFBD>", // that
|
||
"derselbe", // the
|
||
"derselben", //
|
||
"denselben", //
|
||
"desselben", //
|
||
"demselben", //
|
||
"dieselbe", //
|
||
"dieselben", //
|
||
"dasselbe", //
|
||
"dazu", // to
|
||
"dein", // thy
|
||
"deine", //
|
||
"deinem", //
|
||
"deinen", //
|
||
"deiner", //
|
||
"deines", //
|
||
"denn", // because
|
||
"derer", // of
|
||
"dessen", // of
|
||
"dich", // thee
|
||
"dir", // to
|
||
"du", // thou
|
||
"dies", // this
|
||
"diese", //
|
||
"diesem", //
|
||
"diesen", //
|
||
"dieser", //
|
||
"dieses", //
|
||
"doch", // (several
|
||
"dort", // (over)
|
||
"durch", // through
|
||
"ein", // a
|
||
"eine", //
|
||
"einem", //
|
||
"einen", //
|
||
"einer", //
|
||
"eines", //
|
||
"einig", // some
|
||
"einige", //
|
||
"einigem", //
|
||
"einigen", //
|
||
"einiger", //
|
||
"einiges", //
|
||
"einmal", // once
|
||
"er", // he
|
||
"ihn", // him
|
||
"ihm", // to
|
||
"es", // it
|
||
"etwas", // something
|
||
"euer", // your
|
||
"eure", //
|
||
"eurem", //
|
||
"euren", //
|
||
"eurer", //
|
||
"eures", //
|
||
"f<EFBFBD>r", // for
|
||
"gegen", // towards
|
||
"gewesen", // p.p.
|
||
"hab", // have
|
||
"habe", // have
|
||
"haben", // have
|
||
"hat", // has
|
||
"hatte", // had
|
||
"hatten", // had
|
||
"hier", // here
|
||
"hin", // there
|
||
"hinter", // behind
|
||
"ich", // I
|
||
"mich", // me
|
||
"mir", // to
|
||
"ihr", // you,
|
||
"ihre", //
|
||
"ihrem", //
|
||
"ihren", //
|
||
"ihrer", //
|
||
"ihres", //
|
||
"euch", // to
|
||
"im", // in
|
||
"in", // in
|
||
"indem", // while
|
||
"ins", // in
|
||
"ist", // is
|
||
"jede", // each,
|
||
"jedem", //
|
||
"jeden", //
|
||
"jeder", //
|
||
"jedes", //
|
||
"jene", // that
|
||
"jenem", //
|
||
"jenen", //
|
||
"jener", //
|
||
"jenes", //
|
||
"jetzt", // now
|
||
"kann", // can
|
||
"kein", // no
|
||
"keine", //
|
||
"keinem", //
|
||
"keinen", //
|
||
"keiner", //
|
||
"keines", //
|
||
"k<EFBFBD>nnen", // can
|
||
"k<EFBFBD>nnte", // could
|
||
"machen", // do
|
||
"man", // one
|
||
"manche", // some,
|
||
"manchem", //
|
||
"manchen", //
|
||
"mancher", //
|
||
"manches", //
|
||
"mein", // my
|
||
"meine", //
|
||
"meinem", //
|
||
"meinen", //
|
||
"meiner", //
|
||
"meines", //
|
||
"mit", // with
|
||
"muss", // must
|
||
"musste", // had
|
||
"nach", // to(wards)
|
||
"nicht", // not
|
||
"nichts", // nothing
|
||
"noch", // still,
|
||
"nun", // now
|
||
"nur", // only
|
||
"ob", // whether
|
||
"oder", // or
|
||
"ohne", // without
|
||
"sehr", // very
|
||
"sein", // his
|
||
"seine", //
|
||
"seinem", //
|
||
"seinen", //
|
||
"seiner", //
|
||
"seines", //
|
||
"selbst", // self
|
||
"sich", // herself
|
||
"sie", // they,
|
||
"ihnen", // to
|
||
"sind", // are
|
||
"so", // so
|
||
"solche", // such
|
||
"solchem", //
|
||
"solchen", //
|
||
"solcher", //
|
||
"solches", //
|
||
"soll", // shall
|
||
"sollte", // should
|
||
"sondern", // but
|
||
"sonst", // else
|
||
"<EFBFBD>ber", // over
|
||
"um", // about,
|
||
"und", // and
|
||
"uns", // us
|
||
"unse", //
|
||
"unsem", //
|
||
"unsen", //
|
||
"unser", //
|
||
"unses", //
|
||
"unter", // under
|
||
"viel", // much
|
||
"vom", // von
|
||
"von", // from
|
||
"vor", // before
|
||
"w<EFBFBD>hrend", // while
|
||
// "war", // was
|
||
"waren", // were
|
||
"warst", // wast
|
||
"was", // what
|
||
"weg", // away,
|
||
"weil", // because
|
||
"weiter", // further
|
||
"welche", // which
|
||
"welchem", //
|
||
"welchen", //
|
||
"welcher", //
|
||
"welches", //
|
||
"wenn", // when
|
||
"werde", // will
|
||
"werden", // will
|
||
"wie", // how
|
||
"wieder", // again
|
||
"will", // want
|
||
"wir", // we
|
||
"wird", // will
|
||
"wirst", // willst
|
||
"wo", // where
|
||
"wollen", // want
|
||
"wollte", // wanted
|
||
"w<EFBFBD>rde", // would
|
||
"w<EFBFBD>rden", // would
|
||
"zu", // to
|
||
"zum", // zu
|
||
"zur", // zu
|
||
"zwar", // indeed
|
||
"zwischen", // between
|
||
|
||
// italian stop words
|
||
"ad", // a
|
||
"al", // a
|
||
"allo", // a
|
||
"ai", // a
|
||
"agli", // a
|
||
"all", // a
|
||
"agl", // a
|
||
"alla", // a
|
||
"alle", // a
|
||
"con", // with
|
||
"col", // con
|
||
"coi", // con
|
||
"da", // from
|
||
"dal", // da
|
||
"dallo", // da
|
||
"dai", // da
|
||
"dagli", // da
|
||
"dall", // da
|
||
"dagl", // da
|
||
"dalla", // da
|
||
"dalle", // da
|
||
"di", // of
|
||
"del", // di
|
||
"dello", // di
|
||
"dei", // di
|
||
"degli", // di
|
||
//"dell", // di
|
||
"degl", // di
|
||
"della", // di
|
||
"delle", // di
|
||
"in", // in
|
||
"nel", // in
|
||
"nello", // in
|
||
"nei", // in
|
||
"negli", // in
|
||
"nell", // in
|
||
"negl", // in
|
||
"nella", // in
|
||
"nelle", // in
|
||
"su", // on
|
||
"sul", // su
|
||
"sullo", // su
|
||
"sui", // su
|
||
"sugli", // su
|
||
"sull", // su
|
||
"sugl", // su
|
||
"sulla", // su
|
||
"sulle", // su
|
||
"per", // through,
|
||
"tra", // among
|
||
"contro", // against
|
||
"io", // I
|
||
"tu", // thou
|
||
"lui", // he
|
||
"lei", // she
|
||
"noi", // we
|
||
"voi", // you
|
||
"loro", // they
|
||
"mio", // my
|
||
"mia", //
|
||
"miei", //
|
||
"mie", //
|
||
"tuo", //
|
||
"tua", //
|
||
"tuoi", // thy
|
||
"tue", //
|
||
"suo", //
|
||
"sua", //
|
||
"suoi", // his,
|
||
"sue", //
|
||
"nostro", // our
|
||
"nostra", //
|
||
"nostri", //
|
||
"nostre", //
|
||
"vostro", // your
|
||
"vostra", //
|
||
"vostri", //
|
||
"vostre", //
|
||
"mi", // me
|
||
"ti", // thee
|
||
"ci", // us,
|
||
"vi", // you,
|
||
"lo", // him,
|
||
"la", // her,
|
||
"li", // them
|
||
"le", // them,
|
||
"gli", // to
|
||
"ne", // from
|
||
"il", // the
|
||
"un", // a
|
||
"uno", // a
|
||
"una", // a
|
||
"ma", // but
|
||
"ed", // and
|
||
"se", // if
|
||
"perch<EFBFBD>", // why,
|
||
"anche", // also
|
||
// "come", // how
|
||
"dov", // where
|
||
"dove", // where
|
||
"che", // who,
|
||
"chi", // who
|
||
"cui", // whom
|
||
"non", // not
|
||
"pi<EFBFBD>", // more
|
||
"quale", // who,
|
||
"quanto", // how
|
||
"quanti", //
|
||
"quanta", //
|
||
"quante", //
|
||
"quello", // that
|
||
"quelli", //
|
||
"quella", //
|
||
"quelle", //
|
||
"questo", // this
|
||
"questi", //
|
||
"questa", //
|
||
"queste", //
|
||
"si", // yes
|
||
"tutto", // all
|
||
"tutti", // all
|
||
"a", // at
|
||
"c", // as
|
||
"e", // and
|
||
"i", // the
|
||
"l", // as
|
||
"o", // or
|
||
|
||
// norwegian stop words
|
||
"og", // and
|
||
"i", // in
|
||
"jeg", // I
|
||
"det", // it/this/that
|
||
"at", // to
|
||
"en", // a
|
||
"den", // it/this/that
|
||
"til", // to
|
||
"er", // is
|
||
"som", // who/that
|
||
"p<EFBFBD>", // on
|
||
"de", // they
|
||
"med", // with
|
||
"han", // he
|
||
"av", // of
|
||
"ikke", // not
|
||
"inte", // not
|
||
"der", // there
|
||
"s<EFBFBD>", // so
|
||
"var", // was
|
||
"meg", // me
|
||
"seg", // you
|
||
"men", // but
|
||
"ett", // a
|
||
"har", // have
|
||
"om", // about
|
||
"vi", // we
|
||
"min", // my
|
||
"mitt", // my
|
||
"ha", // have
|
||
"hade", // had
|
||
"hu", // she
|
||
"hun", // she
|
||
"n<EFBFBD>", // now
|
||
"over", // over
|
||
"da", // when/as
|
||
"ved", // by/know
|
||
"fra", // from
|
||
"du", // you
|
||
"ut", // out
|
||
"sin", // your
|
||
"dem", // them
|
||
"oss", // us
|
||
"opp", // up
|
||
"man", // you/one
|
||
"kan", // can
|
||
"hans", // his
|
||
"hvor", // where
|
||
"eller", // or
|
||
"hva", // what
|
||
"skal", // shall/must
|
||
"selv", // self
|
||
"sj<EFBFBD>l", // self
|
||
"her", // here
|
||
"alle", // all
|
||
"vil", // will
|
||
"bli", // become
|
||
"ble", // became
|
||
"blei", // became
|
||
"blitt", // have
|
||
"kunne", // could
|
||
"inn", // in
|
||
"n<EFBFBD>r", // when
|
||
"v<EFBFBD>re", // be
|
||
"kom", // come
|
||
"noen", // some
|
||
"noe", // some
|
||
"ville", // would
|
||
"dere", // you
|
||
"de", // you
|
||
"som", // who/which/that
|
||
"deres", // their/theirs
|
||
"kun", // only/just
|
||
"ja", // yes
|
||
"etter", // after
|
||
"ned", // down
|
||
"skulle", // should
|
||
"denne", // this
|
||
"for", // for/because
|
||
"deg", // you
|
||
"si", // hers/his
|
||
"sine", // hers/his
|
||
"sitt", // hers/his
|
||
"mot", // against
|
||
"<EFBFBD>", // to
|
||
"meget", // much
|
||
"hvorfor", // why
|
||
"sia", // since
|
||
"sidan", // since
|
||
"dette", // this
|
||
"desse", // these/those
|
||
"disse", // these/those
|
||
"uden", // uten
|
||
"hvordan", // how
|
||
"ingen", // noone
|
||
"inga", // noone
|
||
"din", // your
|
||
"ditt", // your
|
||
"blir", // become
|
||
"samme", // same
|
||
"hvilken", // which
|
||
"hvilke", // which
|
||
"s<EFBFBD>nn", // such
|
||
"inni", // inside/within
|
||
"mellom", // between
|
||
"v<EFBFBD>r", // our
|
||
"hver", // each
|
||
"hvem", // who
|
||
"vors", // us/ours
|
||
"dere", // their
|
||
"deres", // theirs
|
||
"hvis", // whose
|
||
"b<EFBFBD>de", // both
|
||
"b<EFBFBD>e", // both
|
||
"begge", // both
|
||
"siden", // since
|
||
"dykk", // your
|
||
"dykkar", // yours
|
||
"dei", // they
|
||
"deira", // them
|
||
"deires", // theirs
|
||
"deim", // them
|
||
"di", // your
|
||
"d<EFBFBD>", // as/when
|
||
"eg", // I
|
||
"ein", // a/an
|
||
"ei", // a/an
|
||
"eit", // a/an
|
||
"eitt", // a/an
|
||
"elles", // or
|
||
"honom", // he
|
||
"hj<EFBFBD>", // at
|
||
"ho", // she
|
||
"hoe", // she
|
||
"henne", // her
|
||
"hennar", // her/hers
|
||
"hennes", // hers
|
||
"hoss", // how
|
||
"hossen", // how
|
||
"ikkje", // not
|
||
"ingi", // noone
|
||
"inkje", // noone
|
||
"korleis", // how
|
||
"korso", // how
|
||
"kva", // what/which
|
||
"kvar", // where
|
||
"kvarhelst", // where
|
||
"kven", // who/whom
|
||
"kvi", // why
|
||
"kvifor", // why
|
||
"me", // we
|
||
"medan", // while
|
||
"mi", // my
|
||
"mine", // my
|
||
"mykje", // much
|
||
"no", // now
|
||
"nokon", // some
|
||
"noka", // some
|
||
"nokor", // some
|
||
"noko", // some
|
||
"nokre", // some
|
||
"si", // his/hers
|
||
"sia", // since
|
||
"sidan", // since
|
||
"so", // so
|
||
"somt", // some
|
||
"somme", // some
|
||
"um", // about*
|
||
"upp", // up
|
||
"vere", // be
|
||
"er", // am
|
||
"var", // was
|
||
"vore", // was
|
||
"verte", // become
|
||
"vort", // become
|
||
"varte", // became
|
||
"vart", // became
|
||
"er", // am
|
||
"v<EFBFBD>re", // to
|
||
"var", // was
|
||
"<EFBFBD>", // on
|
||
|
||
|
||
// portuguese stop words
|
||
"de", // of,
|
||
"a", // the;
|
||
"o", // the;
|
||
"que", // who,
|
||
"e", // and
|
||
"do", // de
|
||
"da", // de
|
||
"em", // in
|
||
"um", // a
|
||
"para", // for
|
||
//"com", // with
|
||
"n<EFBFBD>o", // not,
|
||
"uma", // a
|
||
"os", // the;
|
||
"no", // em
|
||
"se", // himself
|
||
"na", // em
|
||
"por", // for
|
||
"mais", // more
|
||
"as", // the;
|
||
"dos", // de
|
||
"como", // how,as
|
||
"mas", // but
|
||
"ao", // a
|
||
"ele", // he
|
||
"das", // de
|
||
//"<22>", // a
|
||
"seu", // his
|
||
"sua", // her
|
||
"ou", // or
|
||
"quando", // when
|
||
"muito", // much
|
||
"nos", // em
|
||
"j<EFBFBD>", // already,
|
||
"eu", // I
|
||
"tamb<EFBFBD>m", // also
|
||
"s<EFBFBD>", // only,
|
||
"pelo", // per
|
||
"pela", // per
|
||
"at<EFBFBD>", // up
|
||
"isso", // that
|
||
"ela", // he
|
||
"entre", // between
|
||
"depois", // after
|
||
"sem", // without
|
||
"mesmo", // same
|
||
"aos", // a
|
||
"seus", // his
|
||
"quem", // whom
|
||
"nas", // em
|
||
"me", // me
|
||
"esse", // that
|
||
"eles", // they
|
||
"voc<EFBFBD>", // you
|
||
"essa", // that
|
||
"num", // em
|
||
"nem", // nor
|
||
"suas", // her
|
||
"meu", // my
|
||
"<EFBFBD>s", // a
|
||
"minha", // my
|
||
"numa", // em
|
||
"pelos", // per
|
||
"elas", // they
|
||
"qual", // which
|
||
"n<EFBFBD>s", // we
|
||
"lhe", // to
|
||
"deles", // of them
|
||
"essas", // those
|
||
"esses", // those
|
||
"pelas", // per
|
||
"este", // this
|
||
"dele", // of
|
||
"tu", // thou
|
||
"te", // thee
|
||
"voc<EFBFBD>s", // you
|
||
"vos", // you
|
||
"lhes", // to
|
||
"meus", // my
|
||
"minhas", //
|
||
"teu", // thy
|
||
"tua", //
|
||
"teus", //
|
||
"tuas", //
|
||
"nosso", // our
|
||
"nossa", //
|
||
"nossos", //
|
||
"nossas", //
|
||
"dela", // of
|
||
"delas", // of
|
||
"esta", // this
|
||
"estes", // these
|
||
"estas", // these
|
||
"aquele", // that
|
||
"aquela", // that
|
||
"aqueles", // those
|
||
"aquelas", // those
|
||
"isto", // this
|
||
"aquilo", // that
|
||
"estou", //
|
||
"est<EFBFBD>", //
|
||
"estamos", //
|
||
"est<EFBFBD>o", //
|
||
"estive", //
|
||
"esteve", //
|
||
"estivemos", //
|
||
"estiveram", //
|
||
"estava", //
|
||
"est<EFBFBD>vamos", //
|
||
"estavam", //
|
||
"estivera", //
|
||
"estiv<EFBFBD>ramos", //
|
||
"esteja", //
|
||
"estejamos", //
|
||
"estejam", //
|
||
"estivesse", //
|
||
"estiv<EFBFBD>ssemos", //
|
||
"estivessem", //
|
||
"estiver", //
|
||
"estivermos", //
|
||
"estiverem", //
|
||
|
||
// russian stop words
|
||
"<EFBFBD>", // and
|
||
"<EFBFBD>", // in/into
|
||
"<EFBFBD><EFBFBD>", // alternative
|
||
"<EFBFBD><EFBFBD>", // not
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // what/that
|
||
"<EFBFBD><EFBFBD>", // he
|
||
"<EFBFBD><EFBFBD>", // on/onto
|
||
"<EFBFBD>", // i
|
||
"<EFBFBD>", // from
|
||
"<EFBFBD><EFBFBD>", // alternative
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // how
|
||
"<EFBFBD>", // milder
|
||
"<EFBFBD><EFBFBD>", // conjunction
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // all
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // she
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // so,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // him
|
||
"<EFBFBD><EFBFBD>", // but
|
||
"<EFBFBD><EFBFBD>", // yes/and
|
||
"<EFBFBD><EFBFBD>", // thou
|
||
"<EFBFBD>", // towards,
|
||
"<EFBFBD>", // around,
|
||
"<EFBFBD><EFBFBD>", // intensifier
|
||
"<EFBFBD><EFBFBD>", // you
|
||
"<EFBFBD><EFBFBD>", // beyond,
|
||
"<EFBFBD><EFBFBD>", // conditional/subj.
|
||
"<EFBFBD><EFBFBD>", // up
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // only
|
||
"<EFBFBD><EFBFBD>", // her
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // it
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // here
|
||
"<EFBFBD><EFBFBD>", // away
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // me
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // still,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // no,
|
||
"<EFBFBD>", // about
|
||
"<EFBFBD><EFBFBD>", // out
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // now
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // when
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // even
|
||
"<EFBFBD><EFBFBD>", // so,
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // suddenly
|
||
"<EFBFBD><EFBFBD>", // interrogative
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // if
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // already,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // or
|
||
"<EFBFBD><EFBFBD>", // neither
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // he
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD>", // up
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // you
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // indef.
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // again
|
||
"<EFBFBD><EFBFBD>", // already,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // he
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // particle
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // there
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // then
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // oneself
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // nothing
|
||
"<EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // usually
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // they
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // here
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // where
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // there
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // got
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // for
|
||
"<EFBFBD><EFBFBD>", // we
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // thee
|
||
"<EFBFBD><EFBFBD>", // them,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // than
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // she
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // self
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // without
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // as
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // man,
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // genitive
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // once
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // also
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // beneath
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // life
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // will
|
||
"<EFBFBD>", // int16_t
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // then
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // who
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // this
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // was
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // genitive
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // for
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // genitive
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // which
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // altogether
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // here
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // one
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // almost
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // my
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // instrumental/dative
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // full
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // her
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // it
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // now
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // they
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // where
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // why
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // all
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // never
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // today
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // possible,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // by
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // finally
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // two
|
||
"<EFBFBD><EFBFBD>", // alternative
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // another
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // even
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // after
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // above
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // more
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // that
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // across,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // these
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // us
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // about
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // prepositional
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // which,
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // lots
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // interrogative
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // she
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // three
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // this,
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // my,
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // moreover,
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // good
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // ones
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // oblique
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // in
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // sometimes
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // better
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // a
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // preposn.
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // one
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // such
|
||
"<EFBFBD><EFBFBD>", // to
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // more
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // always
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // of
|
||
"<EFBFBD><EFBFBD><EFBFBD>", // acc.
|
||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", // between
|
||
|
||
// spanish stop words
|
||
"de", // from,
|
||
"la", // the,
|
||
"que", // who,
|
||
"el", // the
|
||
"en", // in
|
||
"y", // and
|
||
"a", // to
|
||
//"los", // the,
|
||
"del", // de
|
||
"se", // himself,
|
||
"las", // the,
|
||
"por", // for,
|
||
"un", // a
|
||
"para", // for
|
||
"con", // with
|
||
"no", // no
|
||
"una", // a
|
||
"su", // his,
|
||
"al", // a
|
||
"lo", // him
|
||
"como", // how
|
||
"m<EFBFBD>s", // more
|
||
"pero", // pero
|
||
"sus", // su
|
||
"le", // to
|
||
"ya", // already
|
||
"o", // or
|
||
"este", // this
|
||
"s<EFBFBD>", // himself
|
||
"porque", // because
|
||
"esta", // this
|
||
"entre", // between
|
||
"cuando", // when
|
||
"muy", // very
|
||
"sin", // without
|
||
"sobre", // on
|
||
"tambi<EFBFBD>n", // also
|
||
"me", // me
|
||
"hasta", // until
|
||
"hay", // there
|
||
"donde", // where
|
||
"quien", // whom,
|
||
"desde", // from
|
||
"todo", // all
|
||
"nos", // us
|
||
"durante", // during
|
||
"todos", // all
|
||
"uno", // a
|
||
"les", // to
|
||
"ni", // nor
|
||
"contra", // against
|
||
"otros", // other
|
||
"ese", // that
|
||
"eso", // that
|
||
"ante", // before
|
||
"ellos", // they
|
||
"e", // and
|
||
"esto", // this
|
||
"m<EFBFBD>", // me
|
||
"antes", // before
|
||
"algunos", // some
|
||
"qu<EFBFBD>", // what?
|
||
"unos", // a
|
||
"yo", // I
|
||
"otro", // other
|
||
"otras", // other
|
||
"otra", // other
|
||
"<EFBFBD>l", // he
|
||
"tanto", // so
|
||
"esa", // that
|
||
"estos", // these
|
||
"mucho", // much,
|
||
"quienes", // who
|
||
"nada", // nothing
|
||
"muchos", // many
|
||
"cual", // who
|
||
"poco", // few
|
||
"ella", // she
|
||
"estar", // to
|
||
"estas", // these
|
||
"algunas", // some
|
||
"algo", // something
|
||
"nosotros", // we
|
||
"mi", // me
|
||
"mis", // mi
|
||
"t<EFBFBD>", // thou
|
||
"te", // thee
|
||
"ti", // thee
|
||
"tu", // thy
|
||
"tus", // tu
|
||
"ellas", // they
|
||
"nosotras", // we
|
||
"vosostros", // you
|
||
"vosostras", // you
|
||
"os", // you
|
||
"m<EFBFBD>o", // mine
|
||
"m<EFBFBD>a", //
|
||
"m<EFBFBD>os", //
|
||
"m<EFBFBD>as", //
|
||
"tuyo", // thine
|
||
"tuya", //
|
||
"tuyos", //
|
||
"tuyas", //
|
||
"suyo", // his,
|
||
"suya", //
|
||
"suyos", //
|
||
"suyas", //
|
||
"nuestro", // ours
|
||
"nuestra", //
|
||
"nuestros", //
|
||
"nuestras", //
|
||
"vuestro", // yours
|
||
"vuestra", //
|
||
"vuestros", //
|
||
"vuestras", //
|
||
"esos", // those
|
||
"esas", // those
|
||
"estoy", //
|
||
"est<EFBFBD>s", //
|
||
"est<EFBFBD>", //
|
||
"estamos", //
|
||
"est<EFBFBD>is", //
|
||
"est<EFBFBD>n", //
|
||
"est<EFBFBD>", //
|
||
"est<EFBFBD>s", //
|
||
"estemos", //
|
||
"est<EFBFBD>is", //
|
||
"est<EFBFBD>n", //
|
||
"estar<EFBFBD>", //
|
||
"estar<EFBFBD>s", //
|
||
"estar<EFBFBD>", //
|
||
"estaremos", //
|
||
"estar<EFBFBD>is", //
|
||
"estar<EFBFBD>n", //
|
||
"estar<EFBFBD>a", //
|
||
"estar<EFBFBD>as", //
|
||
"estar<EFBFBD>amos", //
|
||
"estar<EFBFBD>ais", //
|
||
"estar<EFBFBD>an", //
|
||
"estaba", //
|
||
"estabas", //
|
||
"est<EFBFBD>bamos", //
|
||
"estabais", //
|
||
"estaban", //
|
||
"estuve", //
|
||
"estuviste", //
|
||
"estuvo", //
|
||
"estuvimos", //
|
||
"estuvisteis", //
|
||
"estuvieron", //
|
||
"estuviera", //
|
||
"estuvieras", //
|
||
"estuvi<EFBFBD>ramos", //
|
||
"estuvierais", //
|
||
"estuvieran", //
|
||
"estuviese", //
|
||
"estuvieses", //
|
||
"estuvi<EFBFBD>semos", //
|
||
"estuvieseis", //
|
||
"estuviesen", //
|
||
"estando", //
|
||
"estado", //
|
||
"estada", //
|
||
"estados", //
|
||
"estadas", //
|
||
"estad", //
|
||
|
||
// swedish stop words
|
||
"och", // and
|
||
"det", // it,
|
||
"att", // to
|
||
"i", // in,
|
||
"en", // a
|
||
"jag", // I
|
||
"hon", // she
|
||
"som", // who,
|
||
"han", // he
|
||
"p<EFBFBD>", // on
|
||
"den", // it,
|
||
"med", // with
|
||
"var", // where,
|
||
"sig", // him(self)
|
||
//"f<>r", // for
|
||
"s<EFBFBD>", // so
|
||
"till", // to
|
||
"<EFBFBD>r", // is
|
||
"men", // but
|
||
"ett", // a
|
||
"om", // if;
|
||
"hade", // had
|
||
"de", // they,
|
||
"av", // of
|
||
"icke", // not,
|
||
"mig", // me
|
||
"du", // you
|
||
"henne", // her
|
||
"d<EFBFBD>", // then,
|
||
"sin", // his
|
||
"nu", // now
|
||
"har", // have
|
||
"inte", // inte
|
||
"hans", // his
|
||
"honom", // him
|
||
"skulle", // 'sake'
|
||
"hennes", // her
|
||
"d<EFBFBD>r", // there
|
||
"min", // my
|
||
"man", // one
|
||
"ej", // nor
|
||
"vid", // at,
|
||
"kunde", // could
|
||
"n<EFBFBD>got", // some
|
||
"fr<EFBFBD>n", // from,
|
||
"ut", // out
|
||
"n<EFBFBD>r", // when
|
||
"efter", // after,
|
||
"upp", // up
|
||
"vi", // we
|
||
"dem", // them
|
||
"vara", // be
|
||
"vad", // what
|
||
"<EFBFBD>ver", // over
|
||
"<EFBFBD>n", // than
|
||
"dig", // you
|
||
"kan", // can
|
||
"sina", // his
|
||
"h<EFBFBD>r", // here
|
||
"ha", // have
|
||
"mot", // towards
|
||
"alla", // all
|
||
"under", // under
|
||
"n<EFBFBD>gon", // some
|
||
"eller", // or
|
||
"allt", // all
|
||
"mycket", // much
|
||
"sedan", // since
|
||
"ju", // why
|
||
"denna", // this/that
|
||
"sj<EFBFBD>lv", // myself,
|
||
"detta", // this/that
|
||
"<EFBFBD>t", // to
|
||
"utan", // without
|
||
"varit", // was
|
||
"hur", // how
|
||
"ingen", // no
|
||
"mitt", // my
|
||
"ni", // you
|
||
"bli", // to
|
||
"blev", // from
|
||
"oss", // us
|
||
"din", // thy
|
||
"dessa", // these/those
|
||
"n<EFBFBD>gra", // some
|
||
"deras", // their
|
||
"blir", // from
|
||
"mina", // my
|
||
"samma", // (the)
|
||
"vilken", // who,
|
||
"er", // you,
|
||
"s<EFBFBD>dan", // such
|
||
"v<EFBFBD>r", // our
|
||
"blivit", // from
|
||
"dess", // its
|
||
"inom", // within
|
||
"mellan", // between
|
||
"s<EFBFBD>dant", // such
|
||
//"varf<72>r", // why
|
||
"varje", // each
|
||
"vilka", // who,
|
||
"ditt", // thy
|
||
"vem", // who
|
||
"vilket", // who,
|
||
"sitta", // his
|
||
"s<EFBFBD>dana", // such
|
||
"vart", // each
|
||
"dina", // thy
|
||
"vars", // whose
|
||
"v<EFBFBD>rt", // our
|
||
"v<EFBFBD>ra", // our
|
||
"ert", // your
|
||
"era", // your
|
||
"vilkas", // whose
|
||
|
||
// internet stop words
|
||
"www",
|
||
//"com",
|
||
|
||
// additional stop words
|
||
//"san" // like san francisco
|
||
};
|
||
static HashTableX s_commonWordTable;
|
||
static bool s_commonWordsInitialized = false;
|
||
|
||
static HashTableX s_commonQueryWordTable;
|
||
static bool s_commonQueryWordsInitialized = false;
|
||
|
||
|
||
// for Process.cpp::resetAll() to call when exiting to free all mem
|
||
void resetStopWordTables() {
|
||
s_stopWordTable.reset();
|
||
for ( int i = 0 ; i <= MAXLANGID ; i++ )
|
||
s_queryStopWordTables[i].reset();
|
||
s_commonWordTable.reset();
|
||
s_commonQueryWordTable.reset();
|
||
}
|
||
|
||
// used by Msg24.cpp for gigabits generation
|
||
int32_t isCommonWord ( int64_t h ) {
|
||
|
||
// include a bunch of foreign prepositions so they don't get required
|
||
// by the bitScores in IndexTable.cpp
|
||
if ( ! s_commonWordsInitialized ) {
|
||
// set up the hash table
|
||
if ( ! s_commonWordTable.set (8,4,sizeof(s_commonWords)*2,
|
||
NULL,0,false,0,"commonwrds") )
|
||
return log(LOG_INIT,
|
||
"query: Could not init common words "
|
||
"table.");
|
||
// now add in all the stop words
|
||
int32_t n = (int32_t)sizeof(s_commonWords)/ sizeof(char *);
|
||
for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
char *sw = s_commonWords[i];
|
||
int32_t swlen = gbstrlen ( sw );
|
||
//int32_t swh = g_speller.hash32d ( sw , swlen );
|
||
// use the same algo that Words.cpp computeWordIds does
|
||
int64_t swh = hash64Lower_utf8 ( sw , swlen );
|
||
if ( ! s_commonWordTable.addTerm ( &swh,i+1 ) )
|
||
return false;
|
||
// . add w/o accent marks too!
|
||
// . skip "f<>r" though because fur is an eng. word
|
||
//if ( *sw=='f' && *(sw+1)=='<27>' &&
|
||
// *(sw+2)=='r' && swlen == 3 ) continue;
|
||
//swh = hash64AsciiLower ( sw , swlen );
|
||
//s_commonWordTable.addTerm (swh,i+1,i+1,true);
|
||
}
|
||
s_commonWordsInitialized = true;
|
||
}
|
||
|
||
// . all 1 char letter words are stop words
|
||
// . good for initials and some contractions
|
||
//if ( len == 1 && is_alpha_a(*s) ) return true;
|
||
|
||
// get from table
|
||
return s_commonWordTable.getScore ( &h );
|
||
}
|
||
|
||
static char *s_verbs[] = {
|
||
"runs",
|
||
"run",
|
||
"go",
|
||
"goes",
|
||
"going"
|
||
};
|
||
|
||
static HashTableX s_verbTable;
|
||
static bool s_verbsInitialized = false;
|
||
|
||
// used by Msg24.cpp for gigabits generation
|
||
bool isVerb ( int64_t *hp ) {
|
||
// include a bunch of foreign prepositions so they don't get required
|
||
// by the bitScores in IndexTable.cpp
|
||
if ( ! s_verbsInitialized ) {
|
||
// set up the hash table
|
||
if ( ! s_verbTable.set (8,0,sizeof(s_verbs)*2,
|
||
NULL,0,false,0,"verbs") )
|
||
return log(LOG_INIT,
|
||
"query: Could not init verbs table.");
|
||
// now add in all the stop words
|
||
int32_t n = (int32_t)sizeof(s_verbs)/ sizeof(char *);
|
||
for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
char *sw = s_verbs[i];
|
||
int32_t swlen = gbstrlen ( sw );
|
||
// use the same algo that Words.cpp computeWordIds does
|
||
int64_t swh = hash64Lower_utf8 ( sw , swlen );
|
||
if ( ! s_verbTable.addKey ( &swh ) ) {
|
||
char *xx=NULL;*xx=0; }
|
||
}
|
||
s_verbsInitialized = true;
|
||
}
|
||
|
||
// get from table
|
||
return (bool)s_verbTable.isInTable ( hp );
|
||
}
|
||
|
||
void resetStopWords ( ) {
|
||
s_stopWordTable.reset();
|
||
for ( int i = 0 ; i <= MAXLANGID ; i++ )
|
||
s_queryStopWordTables[i].reset();
|
||
s_commonWordTable.reset();
|
||
s_verbTable.reset();
|
||
s_commonQueryWordTable.reset();
|
||
}
|
||
|
||
|
||
static char *s_commonQueryWords[] = {
|
||
"to",
|
||
"and",
|
||
"ands",
|
||
"anding",
|
||
"anded",
|
||
"be", // "be fine" for fatboyshouseofbbq.com matching queries
|
||
"thereof",
|
||
"of",
|
||
"the",
|
||
"this",
|
||
"between",
|
||
"onto",
|
||
"too",
|
||
|
||
"every",
|
||
"always",
|
||
"more", // fix "more more" bringing up whitehouse.gov
|
||
|
||
"of",
|
||
"the",
|
||
"this",
|
||
"one",
|
||
"two",
|
||
"three",
|
||
"four",
|
||
|
||
"01",
|
||
"02",
|
||
"03",
|
||
"04",
|
||
"05",
|
||
"06",
|
||
"07",
|
||
"08",
|
||
"09",
|
||
|
||
"1",
|
||
"2",
|
||
"3",
|
||
"4",
|
||
"5",
|
||
"6",
|
||
"7",
|
||
"8",
|
||
"9",
|
||
"10",
|
||
"11",
|
||
"12",
|
||
"13",
|
||
"14",
|
||
"15",
|
||
"16",
|
||
"17",
|
||
"18",
|
||
"19",
|
||
"20",
|
||
"21",
|
||
"22",
|
||
"23",
|
||
"24",
|
||
"25",
|
||
"26",
|
||
"27",
|
||
"28",
|
||
"29",
|
||
"30",
|
||
"31",
|
||
|
||
"i","ii","iii","iv","vi","vii","viii","ix","x","xi",
|
||
"xii","xiii","xiv","xv","xvi","xvii","xviii","xix",
|
||
"xx","xxi","xxii","xxiii","xxiv","xxv","xxvi","xxvii",
|
||
"xxviii","xxix","xxx","xxxi",
|
||
|
||
"january",
|
||
"february",
|
||
"march",
|
||
"april",
|
||
"may",
|
||
"june",
|
||
"july",
|
||
"august",
|
||
"september",
|
||
"october",
|
||
"november",
|
||
"december",
|
||
|
||
"jan",
|
||
"feb",
|
||
"mar",
|
||
"apr",
|
||
"may",
|
||
"jun",
|
||
"jul",
|
||
"aug",
|
||
"sep",
|
||
"oct",
|
||
"nov",
|
||
"dec",
|
||
|
||
"2010",
|
||
"2011",
|
||
"2012",
|
||
"2013",
|
||
"2014",
|
||
"2015",
|
||
|
||
"a",
|
||
|
||
"over", // fix 'over site' for www.espn.com comeptitor pages
|
||
|
||
"am", // 'am so' for voyageofattraction.com
|
||
"be",
|
||
"being",
|
||
"been",
|
||
"so",
|
||
"soh",
|
||
|
||
"moar",
|
||
"more",
|
||
"most",
|
||
"than",
|
||
"much",
|
||
|
||
"los", // fix 'los dos y com' for www.espn.com comeptitor pages
|
||
"dos",
|
||
|
||
"view", // fix for jezebelgallery.com 'view homepage'
|
||
"viewed",
|
||
"views",
|
||
"viewing",
|
||
"homepage",
|
||
"homepages",
|
||
"webpage",
|
||
"webpages",
|
||
"home",
|
||
"homed",
|
||
"homing",
|
||
"wit", // wtf?
|
||
"homes",
|
||
"house",
|
||
"houses",
|
||
"housed",
|
||
"housing",
|
||
"page",
|
||
// fix getting 'green web' and 'green pages' for gigablast.com
|
||
// as two independent queries for a competitor
|
||
"pages",
|
||
// damn, paged is a synonym of pages
|
||
"paged",
|
||
"paging",
|
||
"info",
|
||
"infos",
|
||
"informative",
|
||
"information", // 'the information' for wcnews.com
|
||
"site",
|
||
"sites",
|
||
"sited",
|
||
"siting",
|
||
|
||
"is", // fix 'is website'
|
||
|
||
"welcome", // whitehouse.gov fix
|
||
"online",
|
||
|
||
"am", // 'am web' query
|
||
|
||
"y", // spanish for "and"
|
||
|
||
"at",
|
||
"be",
|
||
"by",
|
||
"on",
|
||
"or",
|
||
"do",
|
||
"doesn't",
|
||
"in",
|
||
"into",
|
||
|
||
"i",
|
||
"an",
|
||
"or",
|
||
"as",
|
||
"at",
|
||
"by",
|
||
"for",
|
||
"with",
|
||
"about",
|
||
"from",
|
||
|
||
"any", // stop 'any web' for diffbot.com
|
||
|
||
// german is messing us up so that two queries that should
|
||
// be basically the same "dos code" and "codes" are not! they
|
||
// should have the same synbasehash64! fix for cheatcc.com
|
||
// competitor pages from getting legal sites.
|
||
// because it matches "dos codes"
|
||
"dos",
|
||
"de",
|
||
"die",
|
||
"del",
|
||
"via",
|
||
"e",
|
||
|
||
// spanish. messing up ibm.com competitor pages.
|
||
// because it matches "es international"
|
||
"es",
|
||
|
||
// fix newser.com 'more of you' 'know you' 'know more'
|
||
"you", // "where do you" "you but" "but you"
|
||
"your",
|
||
"what",
|
||
"wat",
|
||
"where", // "and where you"
|
||
"who",
|
||
"when",
|
||
"what's",
|
||
"where's",
|
||
"who's", // 'who's who' for www.fudwatch.co.uk
|
||
"when's",
|
||
"which",
|
||
"wich",
|
||
"but", // "and but"
|
||
|
||
"ver", // fix ver ver related query everyone matches for some reason
|
||
"click", // click here is so popular!
|
||
"clicked",
|
||
"clicks",
|
||
"clicking",
|
||
"klick",
|
||
"klicked"
|
||
"klicks",
|
||
"klicking",
|
||
"here",
|
||
"per",
|
||
|
||
"a",
|
||
"b",
|
||
"c",
|
||
"d",
|
||
"e",
|
||
"f",
|
||
"g",
|
||
"h",
|
||
"i",
|
||
"j",
|
||
"k",
|
||
"l",
|
||
"m",
|
||
"n",
|
||
"o",
|
||
"p",
|
||
"q",
|
||
"r",
|
||
"s",
|
||
"t",
|
||
"u",
|
||
"v",
|
||
"w",
|
||
"x",
|
||
"y",
|
||
"z",
|
||
|
||
"innen", // wtf is this?
|
||
|
||
|
||
// fix matching queries for yahoo.com:
|
||
"inc",
|
||
"go",
|
||
"goes",
|
||
"going",
|
||
"gone",
|
||
"went",
|
||
"link",
|
||
"links",
|
||
"linked",
|
||
"hyperlinking",
|
||
"hyperlink",
|
||
"hyperlinks",
|
||
"hyperlinked",
|
||
"hyperlinking",
|
||
"exit",
|
||
"ing", // wtf?
|
||
"ed", // wtf?
|
||
"om",
|
||
"por",
|
||
|
||
"their",
|
||
"theirs",
|
||
"doh", // syn of do!
|
||
"do",
|
||
"don't",
|
||
"doesn't",
|
||
"did",
|
||
"does",
|
||
"done",
|
||
"do's",
|
||
"doing",
|
||
"hame", // wtf?
|
||
"were",
|
||
"was",
|
||
"can",
|
||
"cans",
|
||
"canning",
|
||
"canned",
|
||
"are",
|
||
"if",
|
||
"his",
|
||
"hers",
|
||
"him",
|
||
"her",
|
||
"fand", // wtf?
|
||
"s's",
|
||
"a's",
|
||
"he",
|
||
"she",
|
||
"that",
|
||
"en", // spanish?
|
||
"le", // french?
|
||
"will",
|
||
"willy",
|
||
|
||
|
||
"www",
|
||
"w3", // synonym for www
|
||
"com",
|
||
"coms", // synonym for com
|
||
"org",
|
||
"orgs",
|
||
"net", // .net
|
||
"nets",
|
||
"edu",
|
||
"gov",
|
||
|
||
"no", // fix 'no no' missing term for army-list.com
|
||
"my", // fix 'my' missing term for army-list.com
|
||
|
||
//"no", // 'no http' seems common. because we were ignoring "no"
|
||
// because it was a query stop word in portuguese!!
|
||
|
||
"it", // this hurts I.T. i guess...
|
||
|
||
"http",
|
||
"https",
|
||
"web",
|
||
"webs",
|
||
"below",
|
||
"site",
|
||
"website",
|
||
"sites",
|
||
"websites",
|
||
|
||
// until we fix it right! this shows up so much
|
||
"lincoln",
|
||
"lincolns"
|
||
};
|
||
|
||
// . used by Msg24.cpp for gigabits generation
|
||
// . h is the full wordid, not 48-bit termid
|
||
// . you can now pass in a 32-bit word hash instead of 64 and it should
|
||
// still work!!!
|
||
int32_t isCommonQueryWordInEnglish ( int64_t h64 ) {
|
||
|
||
// include a bunch of foreign prepositions so they don't get required
|
||
// by the bitScores in IndexTable.cpp
|
||
if ( ! s_commonQueryWordsInitialized ) {
|
||
// set up the hash table
|
||
int32_t ss = sizeof(s_commonQueryWords);
|
||
if ( ! s_commonQueryWordTable.set (8,4,ss*2,
|
||
NULL,0,false,0,
|
||
"commonwrds") )
|
||
return log(LOG_INIT,
|
||
"query: Could not init common words "
|
||
"table.");
|
||
// now add in all the stop words
|
||
int32_t n = (int32_t)sizeof(s_commonQueryWords)/ sizeof(char *);
|
||
for ( int32_t i = 0 ; i < n ; i++ ) {
|
||
char *sw = s_commonQueryWords[i];
|
||
int32_t swlen = gbstrlen ( sw );
|
||
//int32_t swh = g_speller.hash32d ( sw , swlen );
|
||
// use the same algo that Words.cpp computeWordIds does
|
||
int64_t swh64 = hash64Lower_utf8 ( sw , swlen );
|
||
if ( ! s_commonQueryWordTable.addTerm ( &swh64,i+1 ) )
|
||
return false;
|
||
// if you pass in a 32-bit "h64" from hash32n()
|
||
// you must make sure it is UNSIGNED so the top
|
||
// 32 bits of the h64 are not set to 0xffffffff
|
||
// two's complement
|
||
swh64 &= 0x00000000ffffffffLL;
|
||
if ( ! s_commonQueryWordTable.addTerm ( &swh64,i+1 ) )
|
||
return false;
|
||
swh64 |= 0xffffffff00000000LL;
|
||
if ( ! s_commonQueryWordTable.addTerm ( &swh64,i+1 ) )
|
||
return false;
|
||
// . add w/o accent marks too!
|
||
// . skip "f<>r" though because fur is an eng. word
|
||
//if ( *sw=='f' && *(sw+1)=='<27>' &&
|
||
// *(sw+2)=='r' && swlen == 3 ) continue;
|
||
//swh = hash64AsciiLower ( sw , swlen );
|
||
//s_commonQueryWordTable.addTerm (swh,i+1,i+1,true);
|
||
}
|
||
s_commonQueryWordsInitialized = true;
|
||
// sanity test
|
||
int32_t tid32 = hash32n("on");
|
||
if ( !isCommonQueryWordInEnglish(tid32)){char *xx=NULL;*xx=0;}
|
||
tid32 = hash32n("web");
|
||
if ( !isCommonQueryWordInEnglish(tid32)){char *xx=NULL;*xx=0;}
|
||
}
|
||
|
||
// . all 1 char letter words are stop words
|
||
// . good for initials and some contractions
|
||
//if ( len == 1 && is_alpha_a(*s) ) return true;
|
||
|
||
// get from table
|
||
return (int32_t)s_commonQueryWordTable.getScore ( &h64 );
|
||
}
|
||
|