Zhongcheng が翻訳した記事にはタグが付けられています。ユーザーはタグに基づいて興味のある記事を素早くフィルタリングできるほか、タグの関連性に基づいて記事を推奨することもできます。しかし、現在、中城が翻訳したタグは記事を推薦する際に設定されており、すべて英語です。また、手動での設定は必然的に非標準的で不完全です。記事は公開後に手動で編集できますが、ユーザーや管理者が常に適切なタグを編集するとは期待できないため、タグを自動的に生成するツールを使用する必要があります。 現在利用可能なオープンソースの単語分割ツールの中で、jieba は強力で高性能な単語分割コンポーネントです。幸いなことに、ノード バージョンもあります。 nodejieba のインストールと使用は非常に簡単です。 - npm インストール node
- var nodejieba = require( "nodejieba" );
- var result = nodejieba.cut( "帝国主義は我々のサツマイモを分割したがっている" );
- console.log(結果);
-
-
- result = nodejieba.cut( '家主さん、私の金の輪はどこですか?' );
- console.log(結果);
-
-
- result = nodejieba.cut( '偉大なる賢者よ、あなたの金の輪の棒はあなたの頭の形に合っていて素晴らしいです!' );
- console.log(結果);
-
独自の辞書を読み込み、辞書内の各単語の重みと品詞を設定できます。 user.uft8 を編集 - サツマイモ 9999 n
- ゴールデンフープ 9999 n
- 一番いいのは9999
次に、nodejieba.load を通じて辞書をロードします。 - var nodejieba = require( "nodejieba" );
-
- ノードをロードします({
- ユーザー辞書: './user.utf8' ,
- });
-
- var result = nodejieba.cut( "帝国主義は我々のサツマイモを分割したがっている" );
- console.log(結果);
-
-
- result = nodejieba.cut( '家主さん、私の金の輪はどこですか?' );
- console.log(結果);
-
-
- result = nodejieba.cut( '偉大なる賢者よ、あなたの金の輪の棒はあなたの頭の形に合っていて素晴らしいです!' );
- console.log(結果);
-
単語の分割に加えて、nodejieba を使用してキーワードを抽出することもできます。 - 定数コンテンツ = `
- HTTP、HTTP/2、パフォーマンスの最適化
-
- この記事の目的は、HTTP から HTTPS に移行する理由と、HTTP/2 のサポートを追加する理由を比較することです。 HTTP と HTTP/2 を比較する前に、まず HTTP とは何かを見てみましょう。
-
- HTTPとは
- HTTP は、World Wide Web 上で通信するための一連のルールです。 HTTP は、TCP/IP 層上で実行されるアプリケーション層プロトコルです。ユーザーがブラウザを通じて Web ページを要求すると、HTTP は要求を処理し、Web サーバーとクライアント間の接続を確立する役割を担います。
-
- HTTP/2 を使用すると、スプライト、圧縮、連結を使用せずにパフォーマンスを向上させることができます。しかし、これはこれらの技術を使用すべきではないという意味ではありません。しかし、これは HTTP/1.1 から HTTP/2 に移行する必要があることを明確に示しています。
- `;
-
- 定数nodejieba = require( "nodejieba" );
-
- 定数結果 = nodejieba.extract(コンテンツ、20);
-
- console.log(結果);
出力は次のようになります。 - [ { 単語: 'HTTP' , 重み: 140.8704516850025 },
- { 単語: 'リクエスト' 、重み: 14.23018001394 },
- { 単語: 'should' 、重み: 14.052171126120001 },
- { 単語: 'ワールド ワイド ウェブ' 、重み: 12.2912397395 },
- { 単語: 'TCP' 、重み: 11.739204307083542 },
- { 単語: '1.1' 、重み: 11.739204307083542 },
- { 単語: 'Web' 、重み: 11.739204307083542 },
- { 単語: 'スプライト' 、重み: 11.739204307083542 },
- { 単語: 'HTTPS' 、重み: 11.739204307083542 },
- { 単語: 'IP' 、重み: 11.739204307083542 },
- { 単語: 'アプリケーション層' 、重み: 11.2616203224 },
- { 単語: 'クライアント' 、重み: 11.1926274509 },
- { 単語: 'ブラウザ' 、重み: 10.8561552143 },
- { 単語: 'splice' 、重み: 9.85762638414 },
- { 単語: '比較' 、重み: 9.5435285574 },
- { 単語: 'ウェブページ' 、重み: 9.53122979951 },
- { 単語: 'サーバー' 、重み: 9.41204128224 },
- { 単語: 'use' 、重み: 9.03259988558 },
- { 単語: '必要性' 、重み: 8.81927328699 },
- { 単語: 'add' 、重み: 8.0484751722 } ]
辞書にいくつかの新しいキーワードを追加します: - パフォーマンス
- HTTP/2
出力は次のようになります。 - [ { 単語: 'HTTP' , 重み: 105.65283876375187 },
- { 単語: 'HTTP/2' 、重み: 58.69602153541771 },
- { 単語: 'リクエスト' 、重み: 14.23018001394 },
- { 単語: 'should' 、重み: 14.052171126120001 },
- { 単語: 'パフォーマンス' 、重み: 12.61259281884 },
- { 単語: 'ワールド ワイド ウェブ' 、重み: 12.2912397395 },
- { 単語: 'IP' 、重み: 11.739204307083542 },
- { 単語: 'HTTPS' 、重み: 11.739204307083542 },
- { 単語: '1.1' 、重み: 11.739204307083542 },
- { 単語: 'TCP' 、重み: 11.739204307083542 },
- { 単語: 'Web' 、重み: 11.739204307083542 },
- { 単語: 'スプライト' 、重み: 11.739204307083542 },
- { 単語: 'アプリケーション層' 、重み: 11.2616203224 },
- { 単語: 'クライアント' 、重み: 11.1926274509 },
- { 単語: 'ブラウザ' 、重み: 10.8561552143 },
- { 単語: 'splice' 、重み: 9.85762638414 },
- { 単語: '比較' 、重み: 9.5435285574 },
- { 単語: 'ウェブページ' 、重み: 9.53122979951 },
- { 単語: 'サーバー' 、重み: 9.41204128224 },
- { 単語: 'use' 、重み: 9.03259988558 } ]
これを基に、ホワイトリスト方式を使用して、タグとして使用できる一部の単語を除外します。 - 定数コンテンツ = `
- HTTP、HTTP/2、パフォーマンスの最適化
-
- この記事の目的は、HTTP から HTTPS に移行する理由と、HTTP/2 のサポートを追加する理由を比較することです。 HTTP と HTTP/2 を比較する前に、まず HTTP とは何かを見てみましょう。
-
- HTTPとは
- HTTP は、World Wide Web 上で通信するための一連のルールです。 HTTP は、TCP/IP 層上で実行されるアプリケーション層プロトコルです。ユーザーがブラウザを通じて Web ページを要求すると、HTTP は要求を処理し、Web サーバーとクライアント間の接続を確立する役割を担います。
-
- HTTP/2 を使用すると、スプライトシート、圧縮、連結を使用せずにパフォーマンスを向上させることができます。しかし、これはこれらの技術を使用すべきではないという意味ではありません。しかし、これは HTTP/1.1 から HTTP/2 に移行する必要があることを明確に示しています。
- `;
-
- 定数nodejieba = require( "nodejieba" );
-
- ノードをロードします({
- ユーザー辞書: './user.utf8' ,
- });
-
- 定数結果 = nodejieba.extract(コンテンツ、20);
-
- const tagList = [ 'HTTPS' , 'HTTP' , 'HTTP/2' , 'Web' , 'ブラウザ' , 'パフォーマンス' ];
-
- console.log(result.filter(item => tagList.indexOf(item.word) >= 0));
***得る: - [ { 単語: 'HTTP' , 重み: 105.65283876375187 },
- { 単語: 'HTTP/2' 、重み: 58.69602153541771 },
- { 単語: 'パフォーマンス' 、重み: 12.61259281884 },
- { 単語: 'HTTPS' 、重み: 11.739204307083542 },
- { 単語: 'Web' 、重み: 11.739204307083542 },
- { 単語: 'ブラウザ' 、重み: 10.8561552143 } ]
これが私たちが望んでいることです。 上記は、nodejieba単語分割ライブラリの基本的な使用方法です。将来的には、これを使用して、中城翻訳が公開した翻訳を自動的に分析し、対応するタグを追加し、翻訳者と読者に優れたユーザーエクスペリエンスを提供できるようになります。 |