Repolode
spencermountain

spencermountain/compromise

品詞タグ付け、テキストパターンの照合、動詞の時制や数詞などの変換ができるJavaScript自然言語処理ライブラリです。

スター
12,165
フォーク
668
未解決の Issue
93
最終コミット
一昨日

これは何?

compromiseは、ブラウザとNode.jsで動作する軽量なJavaScript自然言語処理ライブラリです。生のテキストを構造化されたドキュメントに変換し、名詞、動詞、数詞、日付、人名、場所を見つけて、取り出したり書き換えたりできます。

「#Adjective of times」のような簡潔なパターン照合構文で文の一部を選択できるほか、動詞の過去形への変換、名詞の複数形化、短縮形の展開、数詞の追加といった処理に使える変換機能も備えています。結果はテキストまたはJSONとして出力できます。コアビルドはトークナイザーとタグ付け機能で構成され、トークン化のみを行う軽量な用途向けに別のエントリーポイントも用意されています。compromise-speechで音節を扱うなど、プラグインで機能を拡張できます。

英語を中心としたプロジェクトです。関連パッケージでは、フランス語、ドイツ語、イタリア語、スペイン語に対応しています。

主な機能

  • 0183種類のタグの体系を使った品詞タグ付け
  • 02簡潔な照合構文によるフレーズのパターンマッチング
  • 03動詞の活用、名詞の複数形化、時制の変換
  • 04数値、金額、分数、パーセンテージの解析と計算
  • 05短縮形の展開とテキストの正規化
  • 06プラグインシステムと、軽量な用途向けのトークン化専用ビルド

ユースケース

  • 記事やチャットのテキストから人名、場所、日付を抽出する
  • 適切な動詞の形を使った英語の文を生成または修正する
  • フォームや検索でユーザー入力から数値や通貨を解析する
  • ブラウザ上で軽量なテキスト分析を実行する

クイックスタート

  1. 1

    npmからライブラリをインストールする

    npm install compromise
  2. 2

    ライブラリをインポートし、文に対して簡単な例を実行する

使う前に知っておきたいこと

  • 名前ほど賢くはなく、限られたルールベースの判断に依存しています。
  • ライブラリ全体のサイズはminify後で約250kbあり、小さなバンドルには大きすぎます。
  • 他の言語は、fr-compromise、de-compromise、it-compromise、es-compromiseなどの別プロジェクトとしてのみ提供されています。

トピック

よくある質問

compromise とは?
品詞タグ付け、テキストパターンの照合、動詞の時制や数詞などの変換ができるJavaScript自然言語処理ライブラリです。 compromiseは、ブラウザとNode.jsで動作する軽量なJavaScript自然言語処理ライブラリです。生のテキストを構造化されたドキュメントに変換し、名詞、動詞、数詞、日付、人名、場所を見つけて、取り出したり書き換えたりできます。
compromise は無料で使えますか?ライセンスは?
compromise は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
compromise は今もメンテナンスされていますか?
活発にメンテナンス中。compromise の最終コミットは 2026年10月19日 です。
compromise は何に使えますか?
記事やチャットのテキストから人名、場所、日付を抽出する 適切な動詞の形を使った英語の文を生成または修正する フォームや検索でユーザー入力から数値や通貨を解析する ブラウザ上で軽量なテキスト分析を実行する
compromise のインストール方法は?
npmからライブラリをインストールする: npm install compromise ライブラリをインポートし、文に対して簡単な例を実行する
compromise はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/spencermountain/compromise

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト