問題タブ [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.
java - Javaで文を正規表現と一致させる
テキストファイルを調べて各文を抽出するために、Javaの Scanner クラスを使用しています。Scanner で正規表現に setDelimiter メソッドを使用しています。
これは現在機能しているように見えますが、文末に空白が残ります。最後に空白を一致させ、結果に含めない簡単な方法はありますか?
これはおそらく簡単な質問だと思いますが、これまで正規表現を使用したことがないので、簡単に行ってください:)
java - 文字列から単語を抽出する正規表現
Java String からすべての単語を抽出したいと考えています。
word は任意のヨーロッパ言語で書くことができ、スペースを含まず、アルファベット記号のみを含みます。
ただし、ハイフンを含めることができます。
text - NLPを使用して、構造化されていないテキストコンテンツを個別の段落に分割するにはどうすればよいですか?
次の非構造化テキストには、スタローン、フィラデルフィア、アメリカ独立戦争の3つの異なるテーマがあります。しかし、このコンテンツを個別の段落に分割するためにどのアルゴリズムまたは手法を使用しますか?
この状況では、分類子は機能しません。また、Jaccard類似性アナライザーを使用して連続する文間の距離を見つけ、連続する文が指定された値よりも小さい場合は、連続する文を1つの段落にグループ化しようとしました。より良い方法はありますか?
これは私のテキストサンプルです:
シルベスター・スタレンツィオ・スタローンは、スライ・スタローンの愛称で呼ばれ、アメリカの俳優、映画製作者、脚本家です。スタローンは、彼のマッチョとハリウッドのアクションの役割で知られています。スタローンの映画ロッキーは、国立フィルム登録簿に登録され、その映画の小道具はスミソニアン博物館に置かれました。スタローンがロッキーシリーズのフィラデルフィア美術館の正面玄関を使用したことで、この地域はロッキーステップと呼ばれるようになりました。商業、教育、文化の中心地であるフィラデルフィアは、かつて大英帝国で2番目に大きな都市でした(ロンドンに次ぐ)。 )、および元の13のアメリカの植民地の社会的および地理的中心。それは初期のアメリカの歴史の目玉であり、アメリカ独立戦争と独立を生み出した多くのアイデアと行動のホストでした。アメリカ独立戦争は18世紀後半の政治的混乱であり、北アメリカの13の植民地が一緒になって大英帝国から脱却し、合体してアメリカ合衆国になりました。彼らは最初に、代表なくして海外から彼らを統治するという英国議会の権限を拒否し、次にすべての王室の役人を追放した。1774年までに、各植民地は、個々の自治植民地を形成するために、植民地議会または同等の政府機関を設立しました。その後、すべての王室の役人を追放しました。1774年までに、各植民地は、個々の自治植民地を形成するために、植民地議会または同等の政府機関を設立しました。その後、すべての王室の役人を追放しました。1774年までに、各植民地は、個々の自治植民地を形成するために、植民地議会または同等の政府機関を設立しました。
algorithm - 文字列を単語に分割する方法。例: "stringintowords"-> "String Into Words"?
文字列を単語に分割する正しい方法は何ですか?(文字列にはスペースや句読点は含まれていません)
例:「stringintowords」->「StringIntoWords」
ここで使用するアルゴリズムを教えてください。
!更新:この質問は好奇心のためだけだと思う人のために。このアルゴリズムは、ドメイン名( "sportandfishing .com"-> "SportAndFishing .com")をカメラ化するために使用でき、このアルゴリズムは現在、aboutusdotorgによってこの変換を動的に行うために使用されています。
php - 段落内の文を検索する
PHP を使用して段落から 1 つまたは複数の文を検索するにはどうすればよいですか?
bash - 「文」内の単語をスペースで区切る方法は?
バックグラウンド
JasperServer でのドメイン作成の自動化を検討しています。ドメインは、アドホック レポートを作成するためのデータの「ビュー」です。列の名前は、人間が読める形式でユーザーに提示する必要があります。
問題
理論的には、組織がレポートに含めたい可能性のあるデータは 2,000 を超えます。データは、次のような人間にわかりやすい名前から提供されています。
支払い期間一致コード労働分配コーデッド従属関係アクションエンドオプションアクションエンドオプションデスアドレス型住所型記述履歴タイプ ps アドレス型ロール名銀行口座ステータス銀行口座ステータス記述銀行口座タイプ銀行口座タイプ記述受益者金額受益者クラス受益者パーセンテージ利益サブクラス受益者クラス受益者クラス記述利益アクションコード利益アクションコード化された利益年齢管理利益年齢管理説明年齢制限年齢管理通知期間
質問
そのような名前を次のように自動的に変更するにはどうすればよいでしょうか。
- 支払期間マッチコード
- 労働分配コードの説明
- 扶養関係
アイデア
Google のDid you meanエンジンを使用しますが、TOS に違反していると思います。
lynx -dump «url» | grep "Did you mean" | awk ...
言語
どの言語でも問題ありませんが、Perl などのテキスト パーサーが適していると思われます。(列名は英語のみです。)
不必要な予防
目標は、単語を分解する際の 100% の完璧さではありません。次の結果は許容されます。
- registrationeffectivedate -> 登録発効日
- registrationenddate -> 男性の登録日
- registrationrequirementset -> 登録要件セット
いずれにせよ、人間は結果を再確認し、多くを修正する必要があります。2,000 の結果セットを 600 の編集に絞り込めば、劇的な時間の節約になります。複数の可能性を持ついくつかのケース (例えば、セラピスト名)に固執することは、要点を完全に見逃すことです。
python - Pythonを使用して文を抽出する
その文に特定の単語が存在する場合、正確な文を抽出したいと思います。誰かがPythonでそれを行う方法を教えてもらえますか. 私は concordance() を使用しましたが、単語が一致する行のみを出力します。
java - テキストのセグメンテーション: 辞書ベースの単語分割
バックグラウンド
データベースの列名を対応する英語のテキストに分割して、データ ディクショナリをシードします。英語辞書は、企業文書、wiki、および電子メールのコーパスから作成されます。辞書 ( lexicon.csv
) は単語と確率を含む CSV ファイルです。したがって、誰かが「セラピスト」という単語を(電子メールまたはウィキページで)書く頻度が高いほど、「セラピスト名」が他の何かではなく「セラピスト名」に分割される可能性が高くなります. (レキシコンには、おそらくレイピストという単語さえ含まれないでしょう。)
ソースコード
- TextSegmenter.java @ http://pastebin.com/taXyE03L
- SortableValueMap.java @ http://pastebin.com/v3hRXYan
データファイル
- lexicon.csv - http://pastebin.com/0crECtXY
- columns.txt - http://pastebin.com/EtN9Qesr
問題 (2011 年 1 月 3 日更新)
次の問題が発生した場合:
次の解決策が考えられます。
レキシコンには、相対的な確率 (単語の頻度に基づく) を持つ単語が含まれています: dependent 0.8
、end 0.86
、relationship 0.9
、depend 0.3
、およびent 0.001
。
dep end ent relationship
なぜなら、辞書にないためdep
(つまり、75% の単語使用)のソリューションを削除し、他の 2 つのソリューションは辞書内の単語の 100% をカバーします。残りの解のうち、 の確率dependent relationship
は0.72ですが、 0.00027depend ent relationship
です。したがって、正解として選択できます。dependent relationship
関連している
- 「文」内の単語をスペースで区切る方法は?
- トップ コーダー - テキスト セグメンテーション プレゼンテーション 1/2
- トップ コーダー - テキスト セグメンテーション プレゼンテーション 2/2
- 動的計画法アルゴリズムを使用した線形テキスト セグメンテーション
- 動的計画法: セグメンテーション
- 動的計画法: 計算ツール
質問
与えられた:
レキシコンの範囲と確率に基づいて最も可能性の高いソリューションを生成するルーチンをどのように実装しますか? 例えば:
ありがとうございました!
python - クメール語を分割するための実行可能なソリューション?
私は、クメール語 (カンボジア語) の長い行を個々の単語 (UTF-8) に分割するソリューションに取り組んでいます。クメール語では単語間にスペースを使用しません。そこにはいくつかの解決策がありますが、それらは十分ではなく (こことここ)、それらのプロジェクトは途中で失敗しました。
分割する必要があるクメール語のサンプル行を次に示します (これよりも長くなる可能性があります)。
ចូរសរសើរដល់ទ្រង់ដល់ទ្រង់ដែលបានប្រទានប្រទានការនោះទាំងអស់អ្នកដោយដោយព្រោះអង្គហើយហើយអ្នកមិនអាចមិនអាចការ
クメール語の単語を分割する実行可能なソリューションを作成するという目標は 2 つあります。クメール語の従来の (非 Unicode) フォントを使用していたユーザーが Unicode に変換することを奨励し (多くの利点があります)、従来のクメール語フォントをインポートできるようにすることです。 Unicode に変換して、スペル チェックですばやく使用できるようにします (大きなドキュメントでは非常に長い時間がかかる手動で単語を調べて分割するのではなく)。
100% の精度は必要ありませんが、速度は重要です (特に、クメール語に分割する必要がある行はかなり長くなる可能性があるため)。私は提案を受け入れますが、現在、正しく分割された (改行なしのスペースで) クメール語の大きなコーパスがあり、単語確率辞書ファイル (frequency.csv) を作成して、ワードスプリッター。
Viterbi アルゴリズムを使用するこのpython コードを見つけました。おそらく高速に実行されます。
また、このページの作成者のソース Java コードを使用してみました:テキスト セグメンテーション: 辞書ベースの単語分割ですが、速度が遅すぎて役に立ちませんでした (私の単語確率辞書には 10 万以上の用語があるため...)。
そして、スペース/結合された単語を含まないテキストから最も可能性の高い単語を検出するからのpythonの別のオプションがあります:
私はPythonに関しては初心者であり、(Webサイト以外の)すべての実際のプログラミングに本当に慣れていないので、ご容赦ください。うまくいくと思うオプションを持っている人はいますか?
php - PHP文の境界検出
PHPでテキストを文章に分割したいと考えています。私は現在、正規表現を使用していますが、これは最大 95% の精度をもたらし、より良いアプローチを使用して改善したいと考えています。Perl、Java、および C でそれを行う NLP ツールを見てきましたが、PHP に適合するものは見当たりませんでした。そのようなツールを知っていますか?