問題タブ [text-segmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1082 参照

nlp - 入力文に句読点がない (正規化されている) 場合に使用する文分割ツール

「find me some jazz music and play it」のような文があり、すべてのテキストが正規化され、句読点がありません (音声認識ライブラリの出力)。

接続詞で分割する単純なアプローチ以外に、「文の分割」を行うために使用できるオンライン/オフライン ツールは何ですか?

入力:

ジャズ音楽を見つけて演奏して

出力:

ジャズ音楽を見つけて、それをかけ

0 投票する
1 に答える
548 参照

java - HTMLでの文の境界の検出

HTMLで文の境界を検出する必要があります。そこにはたくさんの文境界検出ソフトウェアがありますが(java.text.BreakIteratorは私が使用しているものです)、それらはすべてプレーンテキストを想定しています。HTMLはそれよりも豊富で、文がどこで途切れるのかについての手がかりが含まれています。

たとえば、<p>, <ul>/<li>, <td>および他のタグは文の境界をマークするか、少なくとも文がそれらを越えて拡張されない可能性があることを示します。<b>, <i>, <em>, <span>, <a>そして、他のいくつかのタグが文の中に現れる可能性があります。

文の境界を決定する際に、通常のNLPに加えて、HTMLマークアップを利用するソフトウェアを知っている人はいますか?

0 投票する
1 に答える
341 参照

solr - なぜsolrはいくつかのセグメント化された単語にインデックスを付けないのですか

Solrを使用していくつかの中国語ドキュメントのインデックスを作成しようとしていますが、Solrが一部のセグメント化された単語のインデックスを作成していないようです。

私が使用しているアナライザーはIKアナライザーhttp://code.google.com/p/ik-analyzer/です。

インデックスを作成するフィールド:

cn_ikの定義:

たとえば、インデックスに登録される単語は「AB」(引用符なし)です。中国語のアナライザーを使用して単語をセグメンテーションした後、「AB」、「A」、「B」の3つのトークンを取得しました。

ご覧のとおり、最初のトークン「AB」は次の2つのトークンをカバーしています。

これらのトークンをSolrにフィードした後、Solrはインデックス「AB」、「A」、および「B」のみを無視しているように見えます。「A」または「B」を検索しても結果が得られないためです。

Solrが「AB」に索引を付けるとき、それはすでに索引付けされた単語の終わりに達しているので、「A」と「B」は無視されると思います。

LukeとAnalysisRequestHandlerを使用しても、それ以上のヒントは表示されません。これがSolrのバグまたは機能かどうかはわかりません。

コメントや提案はありますか?

ありがとう :)

0 投票する
3 に答える
2795 参照

jquery - 最初の文で段落を分割する

私はこのdivを持っており、最初の文にスタイルを追加したいと思います。

このコードを試していますが、期待どおりに機能していません。

デモ

0 投票する
3 に答える
3552 参照

algorithm - 動的プログラミング単語セグメンテーション

「meetateight」のような文字列があり、動的計画法を使用して「meet」「at」「eight」などの意味のある単語にセグメント化する必要があるとします。

ブロック/セグメント "x = x1x2x3" がどの程度「良い」かを判断するために、入力 x に対して次のような実数の品質 (x) を返すブラック ボックスが与えられます。 x は英語の単語に近く、大きな負の数は x が英語の単語から遠いことを示します。

同じアルゴリズムの設計に助けが必要です。

品質が低下するたびに、品質とセグメントに基づいて文字を繰り返し追加するアルゴリズムについて考えてみました。しかし、上記の例では、meet ではなく me を切り取っているため、これは失敗します。

より良いアルゴリズムの提案が必要です。

ありがとう

0 投票する
2 に答える
3027 参照

c++ - ICUを使用した単語のセグメンテーション

ICU4Cを使用してCJKを音訳しています。ICUで単語セグメンテーションを使用して、中国語のテキストを単語セグメンテーション標準に従って定義された一連の単語に分割できるかどうか疑問に思っています。

たとえば、音訳を試してみると、次のようになります。

を使用して

次の出力が得られます。

オンラインの拼音ツールをチェックするのはまったく問題ないようですが、私の問題はICUが文字を1つずつ音訳することです。しかし、私が探しているのは、以下のテキストのようなものです(中国語はわからないので、おそらく以下のテキストは何の意味もありませんが、私が興味を持っている出力の種類を示しているはずです) :

ICU 50は単語のセグメンテーションが可能であると言われましたが、彼らのWebページにもWebにもドキュメントが見つかりませんでした。ICUで単語のセグメンテーションを使用したことがあるか、その方法を知っているか、またはその方法に関する適切なリンクがあるかどうかを知りたいと思いました。

0 投票する
1 に答える
302 参照

alignment - ノイズの多いテキスト コーパスにおける文の分割と整列

私は、アラビア語とペルシア語で整列された約 100,000 の段落を含む対訳コーパスを持っています。

私のコーパスは、パラグラフ同士が完全に翻訳されていないノイズの多いコーパスです (つまり、アラビア語のパラグラフの一部がペルシア語に翻訳されておらず、句読点も一致していません)。

段落を文に分けるために句読点を使ったのですが、文数が合っていません。

その後、Microsoft Aligner を使用して文章を整列させましたが、結果は本当に間違っています。

コーパスの文をどのように分割して整列させるのですか?

0 投票する
2 に答える
2064 参照

algorithm - OCR 単語区切り

OCR システムを開発していて、単語の分割について助けが必要です。

現在、OCR システムは一列に並んだブロブを検出します (連結成分ラベリング アルゴリズムを使用)。各ブロブは個別の文字を表し、周囲にバウンディング ボックスがあります。一部の文字は、バウンディング ボックスで重なる場合があります。

それらの文字を単語に結合するにはどうすればよいですか? 単語を互いに分離する最適な距離を決定する方法: 1. 単語が切断されない 2. 単語が他の単語に結合されない 私が見たものから - 文字と単語の間の距離は異なる場合があります多く。

この部分は文字分類の前に行われるため、実際の単語の意味で区切ることはできません。

ありがとうございました!

0 投票する
5 に答える
49924 参照

regex - 文の最初の単語に一致する正規表現

句読点と空白を除いた文の最初の単語に一致する正規表現を探しています。例: 「これは文です」の「これ」。「はじめに、「こんにちは!」と言いたい」の「First」

これは機能しません:

0 投票する
0 に答える
588 参照

java - 検索エンジンが単語の分割と索引付けを処理する方法

小さな検索エンジンの実装を考えています。ただし、検索エンジンが単語のセグメンテーションをどのように行うかはわかりません。

私の考えは次のとおりです。

  1. 人気のある単語を含む単語辞書を作成する
  2. HTML ドキュメントの各文について、単語をスペースで区切る
  3. 線形検索を実行して、単語の一部が辞書にあるかどうかを確認します。もしそうなら、これらはそのページのキーワードです。
  4. キーワードを DB テーブルにします。対応するすべてのキーワード テーブルに URL を保存する

では、「私は彼女をダウンタウン近くの地元のレストランで夕食に招待しました」という文があるとしましょう。停留所以外の単語は次のとおりです: {招待された、夕食、地元、レストラン、ダウンタウン}

辞書には {invite、dinner、restaurant} という単語しか含まれていません

問題は次のとおりです。

  1. 辞書外の単語をどう扱うか?(例: ダウンタウン)
  2. 過去形や複数形などの扱い方は?特定のプレフィックスを持つすべての単語をまとめて保存する必要がありますか? (例えば、「invite」には「invites、invited、invitation ...」が含まれます) では、「back」や「backwards」などの単語はどうでしょうか。
  3. 「地元のレストラン」などのクエリを処理するにはどうすればよいですか? 「ローカル」と「レストラン」の結果を単純に組み合わせるのは適切な解決策とは思えませんが、「ローカル レストラン」を別のキーワード テーブルとして保存すると、より多くの重複が発生し、単語の分割が困難になる可能性があります。
  4. 私の考えよりも良い方法はありますか?

どんなコメントでも大歓迎です。ありがとう!