問題タブ [linguistics]
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.
string - ランダムな文字列が英語のように聞こえるかどうかを判断するにはどうすればよいですか?
入力単語のリストに基づいて文字列を生成するアルゴリズムがあります。英単語のように聞こえる文字列だけを分離するにはどうすればよいですか? すなわち。LORDを維持しながらRDLOを破棄します。
編集:明確にするために、それらは辞書内の実際の単語である必要はありません。英語のように聞こえる必要があるだけです。たとえば、KEALは受け入れられます。
nlp - NLP: (小さな) コーパスの構築、または「あまり専門的でない英語のテキスト ファイルを大量に入手するには?」
小さなコーパスで使用する日常の英語のテキストのアーカイブまたはコレクションを見つける場所について誰か提案がありますか? 私はグーテンベルグ プロジェクトの書籍を作業プロトタイプに使用しており、より現代的な言語を取り入れたいと考えています。ここでの最近の回答は、ユーズネットの映画レビューの素晴らしいアーカイブを間接的に示しています、私には思いつかなかった、そしてとても良いです。この特定のプログラムの場合、技術的なユースネット アーカイブやプログラミング メーリング リストでは結果が傾いて分析が難しくなりますが、あらゆる種類の一般的なブログ テキスト、チャットのトランスクリプト、または他の人に役立つ可能性のあるものはすべて非常に役立ちます。また、あまりマークアップされていない部分的またはダウンロード可能な研究コーパス、またはウィキペディアの記事の適切なサブセットを見つけるためのヒューリスティック、またはその他のアイデアは非常に高く評価されています。
(ちなみに、私はダウンロードなしの善良な市民であり、そのような素材をホストするサーバーに要求しない故意に遅いスクリプトを使用しています.何か巨大なものを私に指摘することでモラルハザードを感じた場合に備えて.)
更新: ユーザー S0rin は、ウィキペディアがクロールを要求せず、代わりにこのエクスポート ツールを提供していると指摘しています。Project Gutenberg には、ここで指定されたポリシーがあります。つまり、クロールしないようにしてください。
UPDATE 2 ウィクペディアのダンプは、それらを指摘した回答者のおかげで、進むべき道です。ここから英語版を使用することになりました: http://download.wikimedia.org/enwiki/20090306/、および約半分のサイズのスペイン語のダンプ。それらはクリーンアップするのに多少の作業が必要ですが、それだけの価値があり、リンクには多くの有用なデータが含まれています.
encoding - 理論: 「レキシカルエンコーディング」
私は「レキシカル エンコーディング」という用語を、より適切な用語がないために使用しています。
文字とは対照的に、言葉は間違いなくコミュニケーションの基本単位です。Unicode は、既知のすべてのアルファベットの各文字に数値を割り当てようとします。ある言語にとっての文字は、別の言語にとってのグリフです。Unicode 5.1 は現在、これらのグリフに 100,000 を超える値を割り当てています。現代英語で使われている約18万語のうち、約2,000語の語彙があれば一般的な会話ができると言われています。「字句エンコーディング」は、各文字ではなく各単語をエンコードし、それらをセンテンス内にカプセル化します。
この例では、文字列内の各トークンが整数としてエンコードされています。ここでのエンコーディング スキームは、単語の使用状況の一般化された統計的ランキングに基づいて int 値を割り当て、疑問符に定数を割り当てただけです。
最終的には、単語には綴りと意味の両方があります。「字句エンコーディング」は、文全体の意味と意図を保持し、言語固有ではありません。英文は「...言語に中立な意味の原子要素...」にエンコードされ、構造化された構文形式と文法構造を持つ任意の言語に再構成できます。
「レキシカルエンコーディング」技術の他の例は何ですか?
単語の使用統計がどこから来たのか興味がある場合:
http://www.wordcount.org
text - 「AUTOMATIC TEXT SUMMARIZER(言語ベース)」について
私は最終年度のプロジェクトとして「自動テキスト要約(言語的アプローチ)」を行っています。私は十分な研究論文を収集し、それらを調べました。それでも、「どうやってそれを行うか」ということについてはあまり明確ではありません。基本的に「AUTOMATIC TEXT SUMMARIZER (statistical based)」を見つけ、私のプロジェクトに比べてはるかに簡単であることがわかりました。私のプロジェクト ガイドでは、これ (統計ベース) を選択せず、言語ベースを選択するように指示されました。
この種のプロジェクトに取り組んだことがある、または聞いたことがある人なら誰でも、ドキュメントを要約することは、(いくつかの特定のアルゴリズムを含むいくつかのアプローチによって) 各文にスコアを付け、次にしきい値スコアよりも高いスコアを持つ文を選択することに他ならないことを知っているでしょう。このプロジェクトで最も難しい部分は、スコアリングに適切なアルゴリズムを選択し、後でそれを実装することです。
私は中程度のプログラミング スキルを持っており、JAVA でコードを書きたいと考えています (そこには多くの API があり、オーバーヘッドが少なくなるからです)。今、私は自分のプロジェクトで、どのようなアプローチとアルゴリズムを使用すべきかを知りたいと思っています。また、それらを実装する方法。
language-agnostic - Lucene を使用して単語の別の形式を検索するためのベスト プラクティス
Lucene を使用して検索可能なサイトがあります。ログから、ユーザーが単数形の用語を入力したために探しているものが見つからない場合があることに気付きましたが、その用語の複数形のみがサイトで使用されています。単語の他の形の用法も検索してみたいと思います。これは何度も解決されていると確信している問題ですが、これに対するベストプラクティスは何ですか?
注意: このサイトには英語のコンテンツしかありません。
私が考えたいくつかのアプローチ:
- ある種のシソーラス ファイルで単語を調べて、特定の単語の別の形式を判断します。
- いくつかの例:
- 「車」を検索すると、クエリに「車」も追加されます。
- "carry" を検索すると、クエリに "carries" と "carried" も追加されます。
- "small" を検索すると、"smaller" と "smallest" もクエリに追加されます。
- 「can」を検索すると、「can't」、「cannot」、「cans」、「canned」もクエリに追加されます。
- 逆に動作するはずです (つまり、"carries" を検索すると、"carry" と "carried" が追加されます)。
- 欠点:
- 辞書/シソーラスが頻繁に更新されない限り、多くの新しい専門用語では機能しません。
- シソーラス ファイルの検索のパフォーマンスについてはよくわかりません。
- いくつかの例:
- いくつかのヒューリスティックに基づいて、アルゴリズム的に代替フォームを生成します。
- いくつかの例:
- 単語が「s」、「es」、「ed」、「er」、または「est」で終わる場合は、接尾辞を削除します
- 単語が「ies」または「ied」または「ier」または「iest」で終わる場合は、「y」に変換します。
- 単語が「y」で終わる場合は、「ies」、「ied」、「ier」、「iest」に変換します。
- 単語に「s」、「es」、「er」、「est」を追加してみてください。
- 欠点:
- ほとんどの入力に対して多くの非単語を生成します。
- ハックのように感じます。
- TheDailyWTF.com で見つけたもののように見えます。:)
- いくつかの例:
- もっと洗練された何か?
私は最初の 2 つのアプローチの何らかの組み合わせを行うことを考えていますが、シソーラス ファイル (または「シソーラス」は完全に正しくないため、または「辞書」ではないため、そのファイルが何と呼ばれているか) を見つける場所がわかりません。 )。
php - LSA - 潜在的セマンティック分析 - PHP でコーディングするには?
テキストのトピック/タグを見つけるために、潜在的意味分析 (LSA) を PHP に実装したいと考えています。
これが私がしなければならないと思うことです。これは正しいです?PHPでコーディングするにはどうすればよいですか?どの単語を選択するかを決定するにはどうすればよいですか?
外部ライブラリを使用したくありません。私はすでに Singular Value Decomposition (SVD) の実装をしています。
- 指定されたテキストからすべての単語を抽出します。
- tf–idfなどを使用して、単語/フレーズに重みを付けます。重み付けが複雑すぎる場合は、発生回数だけを取ります。
- マトリックスを作成します。列はデータベースからのいくつかのドキュメント (多いほど良いですか?)、行はすべて固有の単語、値は出現回数または重みです。
- 特異値分解 (SVD) を実行します。
- 行列 S (SVD) の値を使用して、次元削減を行います (どのように?)。
あなたが私を助けてくれることを願っています。事前にどうもありがとうございました!
php - PHPで時制を識別する.
テキストの文字列を分析し、それがどの時制で書かれているかを調べる方法を探しています。たとえば、「店に行く」==現在、「車を買った」==過去などです。 .
これを行う方法に関するヒントはありますか?
linguistics - nltk ではどの単語ステマーを使用すればよいですか?
私の目標は、コーパス (今のところは twitter) の感情的なコンテンツを分析することです。ちょうど今日、感情的な語幹の完全なリストを用意するのではなく、語幹を検索する方が少し意味があることに気付きました。そのため、nltk.stem を調べたところ、4 つの異なるステマーがあることがわかりました。LancasterStemmer、PorterStemmer、RegexpStemmer、RSLPStemmer、または WordNetStemmer のいずれが最適かについて、stackoverflow の言語学者に理由を付けて質問したいと思います。
c# - 単語の頭に「a」と「an」を正しく付けるにはどうすればよいですか?
私は .NET アプリケーションを使用しており、名詞が指定された場合、その単語の前に "a" または "an" を正しく付けたいと考えています。どうすればいいですか?
最初の文字が母音かどうかを単純に確認することが答えだと考える前に、次のようなフレーズを考えてみてください。
- 正直な間違い
- 中古車