Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

compromise-paragraphs

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compromise-paragraphs

plugin for nlp-compromise

  • 0.0.5
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source
a plugin for compromise
v
npm install compromise-paragraphs
let str = `What's with these homies dissin' my girl? Why do they gotta front? 

What did we ever do to these guys that made them so violent?

Woo-hoo, but you know I'm yours.
Woo-hoo, and I know you're mine.
Woo-hoo, and that's for all time
`

let doc = nlp(str).paragraphs()

doc.length
// 3

doc.json(options)
/*[
  {text:'What's with these ...', sentences:[{},{}]}
  {text:'What did we ever ...', sentences:[{}]}
]*/

// get the second paragraph
doc.eq(1).text()
// 'What did we ever ...'

// get the first two sentences of the first paragraph
doc
  .first()
  .sentences()
  .slice(0, 2)

This is a tentative implementation of .paragraphs() and associated methods, for compromise.

This is tricky because a sentence is a top-level structure to compromise, (and english grammar!), and combining sentences together would have some consequences about grammatical tags.

Instead, this plugin is a (partially-complete) wrapper for sentence objects, so that you can call things like .text() and .json() on a paragraph, but then drop back down to .sentences() after, and work as normal.

The term objects passed into .paragraphs() are mutable, so they will actually change when you transform them:

let doc = nlp(str).paragraphs()

doc = doc.filter(p => {
  return p.has('#Determiner guys')
})
// What did we ever do to these guys that made them so violent?

Demo

API:

outputs:

  • .text()
  • .json()

matches:

  • .match()
  • .not()
  • .if()
  • .ifNo()
  • .has()

selectors:

  • .sentences()
  • .terms()

accessors:

  • .eq()
  • .first()
  • .last()

loops:

  • .forEach()
  • .map()
  • .filter()

MIT

FAQs

Package last updated on 18 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc