Code Monkey home page Code Monkey logo

pos-js's Introduction

ABOUT:

pos-js is a Javascript port of Mark Watson's FastTag Part of Speech Tagger which was itself based on Eric Brill's trained rule set and English lexicon.

pos-js also includes a basic lexer that can be used to extract words and other tokens from text strings.

pos-js was written by Percy Wegmann and is available on Google code. This fork adds node.js and npm support.

LICENSE:

jspos is licensed under the GNU LGPLv3

INSTALL:

$ npm install pos

USAGE:

var pos = require('pos');
var words = new pos.Lexer().lex('This is some sample text. This text can contain multiple sentences.');
var tagger = new pos.Tagger();
var taggedWords = tagger.tag(words);
for (i in taggedWords) {
    var taggedWord = taggedWords[i];
    var word = taggedWord[0];
    var tag = taggedWord[1];
    console.log(word + " /" + tag);
}

// extend the lexicon
tagger.extendLexicon({'Obama': ['NNP']});
tagger.tag(['Mr', 'Obama']);
// --> [[ 'Mr', 'NNP' ], [ 'Obama', 'NNP' ]]

ACKNOWLEDGEMENTS:

Thanks to Mark Watson for writing FastTag, which served as the basis for jspos.

TAGS:

CC Coord Conjuncn           and,but,or
CD Cardinal number          one,two
DT Determiner               the,some
EX Existential there        there
FW Foreign Word             mon dieu
IN Preposition              of,in,by
JJ Adjective                big
JJR Adj., comparative       bigger
JJS Adj., superlative       biggest
LS List item marker         1,One
MD Modal                    can,should
NN Noun, sing. or mass      dog
NNP Proper noun, sing.      Edinburgh
NNPS Proper noun, plural    Smiths
NNS Noun, plural            dogs
POS Possessive ending       's
PDT Predeterminer           all, both
PRP$ Possessive pronoun     my,one's
PRP Personal pronoun        I,you,she
RB Adverb                   quickly
RBR Adverb, comparative     faster
RBS Adverb, superlative     fastest
RP Particle                 up,off
SYM Symbol                  +,%,&
TO 'to'                     to
UH Interjection             oh, oops
VB verb, base form          eat
VBD verb, past tense        ate
VBG verb, gerund            eating
VBN verb, past part         eaten
VBP Verb, present           eat
VBZ Verb, present           eats
WDT Wh-determiner           which,that
WP Wh pronoun               who,what
WP$ Possessive-Wh           whose
WRB Wh-adverb               how,where
, Comma                     ,
. Sent-final punct          . ! ?
: Mid-sent punct.           : ; ร‘
$ Dollar sign               $
# Pound sign                #
" quote                     "
( Left paren                (
) Right paren               )

pos-js's People

Contributors

apboon avatar benedictchen avatar dariusk avatar darkliquid avatar hugo-ter-doest avatar khilnani avatar kof avatar levjj avatar markbirbeck avatar saidelimam avatar silentrob avatar wooorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pos-js's Issues

Lexer fails with contractions?

It seems like it's not parsing contractions properly. it breaks "wouldn't" into wouldn ' t

For example, this snippet: "Your good, sensible head wouldn't let you do..." gives the following output:

{"word":"Your","tag":"PRP$"}
{"word":"good","tag":"JJ"}
{"word":",","tag":","}
{"word":"sensible","tag":"JJ"}
{"word":"head","tag":"NN"}
{"word":"wouldn","tag":"NN"}
{"word":"'","tag":"\""}
{"word":"t","tag":"NN"}
{"word":"let","tag":"VB"}
{"word":"you","tag":"PRP"}
{"word":"do","tag":"VBP"}

This seems like a pretty big deal, since contractions are fairly common in English.

Thanks for your work on this lib!

Feature: tag whitespace

Ideally there should be a way to exactly reconstruct the original sentence from the parsed tokens.

Multiple Language

Does it works with thai language ... Can i tag thai words with this library

Punctuation tags listed are not detected in lexer

When tagging, punctuation such as '(' and '$' should get their own tags. Some of them do, but it depends on whether the punctuation character in question has been added to the punctuation list in the lexer.

If the character hasn't been added then it depends on other matches whether the character will make it through. For example, neither of these will get special tokens:

"I made $some today..."
"The E.M.T.'s were on time (but only barely)."

However, the dollar sign will show up in this situation:

"I made $5.42 today..."

because the number gets parsed out, leaving the dollar to stand on its own.

The problem arose for me with parentheses, but on investigation I realised that other punctuation characters were also have an issue.

Fail: 'I' -> NN and not PRP

I tried this script:

var words = new pos.Lexer().lex('I love NodeJS');
var tagger = new pos.Tagger();
var taggedWords = tagger.tag(words);
for (i in taggedWords) {
    var taggedWord = taggedWords[i];
    var word = taggedWord[0];
    var tag = taggedWord[1];
    console.log(word + " /" + tag);
}

This is the log:

I /NN
love /NN
NodeJS /NN
undefined /undefined
undefined /undefined

It fails with the pronoun 'I'.
I don't know why it print two undefined elements, no words remaining.

Error: "Cannot call method IndexOf of undefined" in tag() with a dash.

I'm lexing and tagging a sentence like "Android - constructor". It's failing with an error:

TypeError: Cannot call method 'indexOf' of undefined
    at startsWith (/Users/harth/repos/glossary/node_modules/pos/POSTagger.js:21:18)
    at POSTagger.tag (/Users/harth/repos/glossary/node_modules/pos/POSTagger.js:75:13)

It would be awesome if it would just skip over it.

Multiple tag options for a word not working

The word "drive" can be both a verb and noun.

I drive the drive so hard that it fails.

The default lexicon lists drive as a noun first, and if I tag this sentence, drive is marked as a noun for both occurrences. If I overwrite the the lexicon so it's a verb first

"drive" : ["VB", "VBP", "NN"],

then drive then becomes a verb for both occurrences. How does this library know when to distinguish, for example, between a verb case and noun case based on sentence position relative to other words? It doesn't seem to take the preceding pronoun or article into account here.

Abbreviations

The word AI in this sentence is abbreviation but it is recognized as VBP (present verb)

A16Z AI Playbook http://aiplaybook.a16z.com/

Can something be done for abbreviations except extending lexicon?

Didn't detect CD and LS

var pos = require('pos');
var words = new pos.Lexer().lex('Twenty gardening tips from six experts for a fruitful summer');
var tagger = new pos.Tagger();
var taggedWords = tagger.tag(words);

console.log(taggedWords);

Gave results:

[ [ 'Twenty', 'NN' ],
  [ 'gardening', 'VBG' ],
  [ 'tips', 'NNS' ],
  [ 'from', 'IN' ],
  [ 'six', 'NN' ],
  [ 'experts', 'NNS' ],
  [ 'for', 'IN' ],
  [ 'a', 'DT' ],
  [ 'fruitful', 'JJ' ],
  [ 'summer', 'NN' ] ]

"Twenty" and "Six" must be CD. Am I wrong?

Rule 2 bails on __proto__

This was kinda edgy, but trying to tag __proto__ returns undefined and crashes. This should probably return Noun or try/catch.

POSTAGGER for brazilian portuguese

Hi there,

I'm working in a brazilian portuguese chatbot project, and I was wondering if it's possible to translate the tagger training to tag brazilian portuguese sentences...

Tagger identifies the name Fred as a VBN

It turn the NNP "Fred" into a VBN. I think it is because it ends in "ed"

var pos = require('pos');
var words = new pos.Lexer().lex('My name is Fred Jenkins');
var tagger = new pos.Tagger();
var taggedWords = tagger.tag(words);

expected:

[
  ['My', 'PRP$'],
  ['name', 'NN'],
  ['is', 'VBZ'],
  ['Fred', 'VBN'],
  ['Jenkins', 'NNP']
]

actual:

[
  ['My', 'PRP$'],
  ['name', 'NN'],
  ['is', 'VBZ'],
  ['Fred', 'NNP'],
  ['Jenkins', 'NNP']
]

Dealing with apostrophes

Hi,

I have a number of sentences I am running through pos which have words that contain apostrophes. When the results come back it seems that these words have been split at the apostrophe and analysed.

For example the word it's is returned as

It,Personal pronoun,
',quote,
s,Personal pronoun

What is the correct way to prevent this?

default tag

instead of setting unknown words to a NN tag, add an option to Tagger({ defaultTag: '??' })

Hanging lexer

I have a usecase where lexer is just hanging and blocks the process. I don't get any errors thrown. The text I pass there is not quite one supposed to be, but its out of control in my case. It should not behave like this anyways.

Code to reproduce

var pos = require("pos")
var text = require('fs').readFileSync(__dirname + '/data.txt', 'utf-8')
new pos.Lexer().lex(text)

Text

{ "positions": [ { "html": "<iframe src=\"//de.adserver.yahoo.com/a?f=2145373665&p=desports&l=N&c=h&site-country=de&at=N%3D728x90%20content%3Dno_expandable&rs=guid:SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY%3Bspid:2146233460%3Bypos:LDRB&t=1405635860.923886\" width=728 height=90 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe><!--http://clicks.beap.bc.yahoo.com/yc/YnY9MS4wLjAmYnM9KDE3ODB1cHZ2cChnaWQkU1htRmdqRTRPQzRZaGNwRHJBSG9KZ0dvT0RVdU1WUElUUlRfc1hMWSxzdCQxNDA1NjM1ODYwODg0NjI3LHNpJDQ0NTc1NTEsc3AkMjE0NjIzMzQ2MCxjciQzNzczNzIzNTUxLHYkMi4wLGFpZCR3b0xIMFFySUV1Zy0sY3QkMjUseWJ4JGZaaks1dGVaVnd1d3B5enhBUGo1SncsYmkkMTk3NDQ1ODU1MSxtbWUkODMwNTU1MjE0MTg3ODU1OTk0NixyJDAseW9vJDEsYWdwJDI5ODcyNTEwNTEsYXAkTERSQikp/0/*--><!--QYZ 1974458551,3773723551,10.200.18.60;;LDRB;2146233460;1;-->", "id": "LDRB", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['woLH0QrIEug-']='(as$12rof3mg4,aid$woLH0QrIEug-,bi$1974458551,cr$3773723551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LDRB)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rof3mg4,aid$woLH0QrIEug-,bi$1974458551,cr$3773723551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LDRB)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rof3mg4,aid$woLH0QrIEug-,bi$1974458551,cr$3773723551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LDRB)", "impID": "woLH0QrIEug-", "supp_ugc": "0", "placementID": "2987251051", "creativeID": "3773723551", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "8305552141878559946", "matchID": "999999.999999.999999.999999", "err": "", "hasExternal": 0, "size": "728x90", "bookID": "1974458551", "serveType": "-1", "slotID": "1", "fdb": "{ \"fdb_url\": \"http:\\\/\\\/af.beap.bc.yahoo.com\\\/af?bv=1.0.0&bs=(16575qr09(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,srv$1,si$4457551,adv$25362945021,ct$25,li$2978386551,exp$1405643060884627,cr$3773723551,dmn$action.aarp.org,pbid$20459933223,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1405643060884\" }" } } },{ "html": "<!-- SpaceID=2146233460 loc=LN2 noad --><!-- fac-gd2-noad --><!-- gd2-status-2 --><!--QYZ CMS_NONE_AVAIL,,10.200.18.60;;LN2;2146233460;2;-->", "id": "LN2", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['TfXH0QrIEug-']='(as$125juvrg9,aid$TfXH0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LN2)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125juvrg9,aid$TfXH0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LN2)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125juvrg9,aid$TfXH0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LN2)", "impID": "TfXH0QrIEug-", "supp_ugc": "0", "placementID": "-1", "creativeID": "-1", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "#2", "matchID": "#2", "err": "invalid_space", "hasExternal": 0, "size": "", "bookID": "CMS_NONE_AVAIL", "serveType": "-1", "slotID": "2", "fdb": "{ \"fdb_url\": \"http:\\/\\/gd1457.adx.gq1.yahoo.com\\/af?bv=1.0.0&bs=(15ir45r6b(gid$jmTVQDk4LjHHbFsHU5jMkgKkMTAuNwAAAACljpkK,st$1402537233026922,srv$1,si$13303551,adv$25941429036,ct$25,li$3239250051,exp$1402544433026922,cr$4154984551,pbid$25372728133,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1402544433026\" }" } } },{ "html": "<iframe src=\"//de.adserver.yahoo.com/a?f=2145373665&p=desports&l=LREC&c=h&site-country=de&at=LREC%3D300x250%20content%3Dno_expandable&rs=guid:SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY%3Bspid:2146233460%3Bypos:LREC&t=1405635860.924934\" width=300 height=250 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe><!--http://clicks.beap.bc.yahoo.com/yc/YnY9MS4wLjAmYnM9KDE3OG52ZzV1ZChnaWQkU1htRmdqRTRPQzRZaGNwRHJBSG9KZ0dvT0RVdU1WUElUUlRfc1hMWSxzdCQxNDA1NjM1ODYwODg0NjI3LHNpJDQ0NTc1NTEsc3AkMjE0NjIzMzQ2MCxjciQzNzczNzI0NTUxLHYkMi4wLGFpZCQyR2ZJMFFySUV1Zy0sY3QkMjUseWJ4JGZaaks1dGVaVnd1d3B5enhBUGo1SncsYmkkMTk3NDQ0NDU1MSxtbWUkODMwNTUxOTkyOTYyMzgzOTk0OCxyJDAseW9vJDEsYWdwJDI5ODcyNTIwNTEsYXAkTFJFQykp/0/*--><!--QYZ 1974444551,3773724551,10.200.18.60;;LREC;2146233460;1;-->", "id": "LREC", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['2GfI0QrIEug-']='(as$12rdkb308,aid$2GfI0QrIEug-,bi$1974444551,cr$3773724551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rdkb308,aid$2GfI0QrIEug-,bi$1974444551,cr$3773724551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rdkb308,aid$2GfI0QrIEug-,bi$1974444551,cr$3773724551,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC)", "impID": "2GfI0QrIEug-", "supp_ugc": "0", "placementID": "2987252051", "creativeID": "3773724551", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "8305519929623839948", "matchID": "999999.999999.999999.999999", "err": "", "hasExternal": 0, "size": "300x250", "bookID": "1974444551", "serveType": "-1", "slotID": "3", "fdb": "{ \"fdb_url\": \"http:\\\/\\\/af.beap.bc.yahoo.com\\\/af?bv=1.0.0&bs=(15hhr5h82(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,srv$1,si$4457551,adv$25362945021,ct$25,li$2978387551,exp$1405643060884627,cr$3773724551,pbid$20459933223,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1405643060884\" }" } } },{ "html": "<iframe src=\"//de.adserver.yahoo.com/a?f=2145373665&p=desports&l=LREC2&c=h&site-country=de&at=LREC2%3D300x250%20content%3Dno_expandable&rs=guid:SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY%3Bspid:2146233460%3Bypos:LREC2&t=1405635860.925474\" width=300 height=250 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe><!--http://clicks.beap.bc.yahoo.com/yc/YnY9MS4wLjAmYnM9KDE3OWtvdGZ1bShnaWQkU1htRmdqRTRPQzRZaGNwRHJBSG9KZ0dvT0RVdU1WUElUUlRfc1hMWSxzdCQxNDA1NjM1ODYwODg0NjI3LHNpJDQ0NTc1NTEsc3AkMjE0NjIzMzQ2MCxjciQzNzczNjc5MDUxLHYkMi4wLGFpZCRZOXJJMFFySUV1Zy0sY3QkMjUseWJ4JGZaaks1dGVaVnd1d3B5enhBUGo1SncsYmkkMTk3NDUxODU1MSxtbWUkODMwNTgzNTYwOTcyMDA5NTkxNixyJDAseW9vJDEsYWdwJDI5ODcxOTY1NTEsYXAkTFJFQzIpKQ/2/*--><!--QYZ 1974518551,3773679051,10.200.18.60;;LREC2;2146233460;1;-->", "id": "LREC2", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['Y9rI0QrIEug-']='(as$12rrlp8d5,aid$Y9rI0QrIEug-,bi$1974518551,cr$3773679051,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC2)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rrlp8d5,aid$Y9rI0QrIEug-,bi$1974518551,cr$3773679051,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC2)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$12rrlp8d5,aid$Y9rI0QrIEug-,bi$1974518551,cr$3773679051,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC2)", "impID": "Y9rI0QrIEug-", "supp_ugc": "0", "placementID": "2987196551", "creativeID": "3773679051", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "8305835609720095916", "matchID": "999999.999999.999999.999999", "err": "", "hasExternal": 0, "size": "300x250", "bookID": "1974518551", "serveType": "-1", "slotID": "4", "fdb": "{ \"fdb_url\": \"http:\\\/\\\/af.beap.bc.yahoo.com\\\/af?bv=1.0.0&bs=(15hntq3nj(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,srv$1,si$4457551,adv$25362945021,ct$25,li$2978352051,exp$1405643060884627,cr$3773679051,pbid$20459933223,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1405643060884\" }" } } },{ "html": "<!-- SpaceID=2146233460 loc=LREC3 noad --><!-- fac-gd2-noad --><!-- gd2-status-2 --><!--QYZ CMS_NONE_SELECTED,,10.200.18.60;;LREC3;2146233460;2;-->", "id": "LREC3", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['7kzJ0QrIEug-']='(as$125023lqu,aid$7kzJ0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC3)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125023lqu,aid$7kzJ0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC3)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125023lqu,aid$7kzJ0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=LREC3)", "impID": "7kzJ0QrIEug-", "supp_ugc": "0", "placementID": "-1", "creativeID": "-1", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "#2", "matchID": "#2", "err": "invalid_space", "hasExternal": 0, "size": "", "bookID": "CMS_NONE_SELECTED", "serveType": "-1", "slotID": "5", "fdb": "{ \"fdb_url\": \"http:\\/\\/gd1457.adx.gq1.yahoo.com\\/af?bv=1.0.0&bs=(15ir45r6b(gid$jmTVQDk4LjHHbFsHU5jMkgKkMTAuNwAAAACljpkK,st$1402537233026922,srv$1,si$13303551,adv$25941429036,ct$25,li$3239250051,exp$1402544433026922,cr$4154984551,pbid$25372728133,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1402544433026\" }" } } },{ "html": "<!-- SpaceID=2146233460 loc=MAST noad --><!-- fac-gd2-noad --><!-- gd2-status-2 --><!--QYZ CMS_NONE_AVAIL,,10.200.18.60;;MAST;2146233460;2;-->", "id": "MAST", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['eb_J0QrIEug-']='(as$125j9ogi7,aid$eb_J0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=MAST)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125j9ogi7,aid$eb_J0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=MAST)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125j9ogi7,aid$eb_J0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=MAST)", "impID": "eb_J0QrIEug-", "supp_ugc": "0", "placementID": "-1", "creativeID": "-1", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "#2", "matchID": "#2", "err": "invalid_space", "hasExternal": 0, "size": "", "bookID": "CMS_NONE_AVAIL", "serveType": "-1", "slotID": "6", "fdb": "{ \"fdb_url\": \"http:\\/\\/gd1457.adx.gq1.yahoo.com\\/af?bv=1.0.0&bs=(15ir45r6b(gid$jmTVQDk4LjHHbFsHU5jMkgKkMTAuNwAAAACljpkK,st$1402537233026922,srv$1,si$13303551,adv$25941429036,ct$25,li$3239250051,exp$1402544433026922,cr$4154984551,pbid$25372728133,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1402544433026\" }" } } },{ "html": "<!-- SpaceID=2146233460 loc=SPLGS noad --><!-- fac-gd2-noad --><!-- gd2-status-2 --><!--QYZ CMS_NONE_AVAIL,,10.200.18.60;;SPLGS;2146233460;2;-->", "id": "SPLGS", "meta": { "y": { "cscHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['BDLK0QrIEug-']='(as$125m25pce,aid$BDLK0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=SPLGS)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125m25pce,aid$BDLK0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=SPLGS)\"></noscr"+"ipt>", "cscURI": "http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125m25pce,aid$BDLK0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=SPLGS)", "impID": "BDLK0QrIEug-", "supp_ugc": "0", "placementID": "-1", "creativeID": "-1", "serveTime": "1405635860884627", "behavior": "non_exp", "adID": "#2", "matchID": "#2", "err": "invalid_space", "hasExternal": 0, "size": "", "bookID": "CMS_NONE_AVAIL", "serveType": "-1", "slotID": "7", "fdb": "{ \"fdb_url\": \"http:\\/\\/gd1457.adx.gq1.yahoo.com\\/af?bv=1.0.0&bs=(15ir45r6b(gid$jmTVQDk4LjHHbFsHU5jMkgKkMTAuNwAAAACljpkK,st$1402537233026922,srv$1,si$13303551,adv$25941429036,ct$25,li$3239250051,exp$1402544433026922,cr$4154984551,pbid$25372728133,v$1.0))&al=(type${type},cmnt${cmnt},subo${subo})&r=10\", \"fdb_on\": \"1\", \"fdb_exp\": \"1402544433026\" }" } } } ], "meta": { "y": { "pageEndHTML": "<scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['NxDH0QrIEug-']='(as$1258vdij0,aid$NxDH0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=FSRVY)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$1258vdij0,aid$NxDH0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=FSRVY)\"></noscr"+"ipt><scr"+"ipt language=javascr"+"ipt>\nif(window.xzq_d==null)window.xzq_d=new Object();\nwindow.xzq_d['j6TK0QrIEug-']='(as$125rgc9s0,aid$j6TK0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=WPFP)';\n</scr"+"ipt><noscr"+"ipt><img width=1 height=1 alt=\"\" src=\"http://csc.beap.bc.yahoo.com/yi?bv=1.0.0&bs=(1366o9ufo(gid$SXmFgjE4OC4YhcpDrAHoJgGoODUuMVPITRT_sXLY,st$1405635860884627,si$4457551,sp$2146233460,pv$0,v$2.0))&t=J_3-D_3&al=(as$125rgc9s0,aid$j6TK0QrIEug-,cr$-1,ct$25,at$H,eob$gd1_match_id=-1:ypos=WPFP)\"></noscr"+"ipt><scr"+"ipt language=javascr"+"ipt>\n(function(){window.xzq_p=function(R){M=R};window.xzq_svr=function(R){J=R};function F(S){var T=document;if(T.xzq_i==null){T.xzq_i=new Array();T.xzq_i.c=0}var R=T.xzq_i;R[++R.c]=new Image();R[R.c].src=S}window.xzq_sr=function(){var S=window;var Y=S.xzq_d;if(Y==null){return }if(J==null){return }var T=J+M;if(T.length>P){C();return }var X=\"\";var U=0;var W=Math.random();var V=(Y.hasOwnProperty!=null);var R;for(R in Y){if(typeof Y[R]==\"string\"){if(V&&!Y.hasOwnProperty(R)){continue}if(T.length+X.length+Y[R].length<=P){X+=Y[R]}else{if(T.length+Y[R].length>P){}else{U++;N(T,X,U,W);X=Y[R]}}}}if(U){U++}N(T,X,U,W);C()};function N(R,U,S,T){if(U.length>0){R+=\"&al=\"}F(R+U+\"&s=\"+S+\"&r=\"+T)}function C(){window.xzq_d=null;M=null;J=null}function K(R){xzq_sr()}function B(R){xzq_sr()}function L(U,V,W){if(W){var R=W.toString();var T=U;var Y=R.match(new RegExp(\"\\\\\\\\(([^\\\\\\\\)]*)\\\\\\\\)\"));Y=(Y[1].length>0?Y[1]:\"e\");T=T.replace(new RegExp(\"\\\\\\\\([^\\\\\\\\)]*\\\\\\\\)\",\"g\"),\"(\"+Y+\")\");if(R.indexOf(T)<0){var X=R.indexOf(\"{\");if(X>0){R=R.substring(X,R.length)}else{return W}R=R.replace(new RegExp(\"([^a-zA-Z0-9$_])this([^a-zA-Z0-9$_])\",\"g\"),\"$1xzq_this$2\");var Z=T+\";var rv = f( \"+Y+\",this);\";var S=\"{var a0 = '\"+Y+\"';var ofb = '\"+escape(R)+\"' ;var f = new Function( a0, 'xzq_this', unescape(ofb));\"+Z+\"return rv;}\";return new Function(Y,S)}else{return W}}return V}window.xzq_eh=function(){if(E||I){this.onload=L(\"xzq_onload(e)\",K,this.onload,0);if(E&&typeof (this.onbeforeunload)!=O){this.onbeforeunload=L(\"xzq_dobeforeunload(e)\",B,this.onbeforeunload,0)}}};window.xzq_s=function(){setTimeout(\"xzq_sr()\",1)};var J=null;var M=null;var Q=navigator.appName;var H=navigator.appVersion;var G=navigator.userAgent;var A=parseInt(H);var D=Q.indexOf(\"Microsoft\");var E=D!=-1&&A>=

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.