removeWords
文書または bag-of-words モデルからの選択単語の削除
構文
説明
は、指定された単語を newDocuments
= removeWords(documents
,words
)documents
から削除します。既定では、関数は大文字と小文字を区別します。
は、前の構文のいずれかを使用して、大文字と小文字の区別なしで単語を削除します。newDocuments
= removeWords(___,'IgnoreCase',true)
は、newDocuments
= removeWords(documents
,idx
)documents.Vocabulary
内の単語の数値または logical のインデックス idx
を指定して、単語を削除します。この構文は newDocuments = removeWords(documents,documents.Vocabulary(idx))
と同じです。
例
文書からの単語の削除
removeWords
に単語の string 配列を入力して、文書の配列から単語を削除します。
トークン化された文書の配列を作成します。
documents = tokenizedDocument([ "an example of a short sentence" "a second short sentence"]);
単語 "short" と "second" を削除します。
words = ["short" "second"]; newDocuments = removeWords(documents,words)
newDocuments = 2x1 tokenizedDocument: 5 tokens: an example of a sentence 2 tokens: a sentence
文書からのストップ ワードのカスタム リストの削除
文書の言語の詳細を使用してストップ ワードの既定のリストを削除するには、removeStopWords
を使用します。
ストップ ワードのカスタム リストを削除するには、関数 removeWords
を使用します。関数 stopWords
によって返されるストップ ワード リストを開始点として使用できます。
サンプル データを読み込みます。ファイル sonnetsPreprocessed.txt
には、シェイクスピアのソネット集の前処理されたバージョンが格納されています。ファイルには、1 行に 1 つのソネットが含まれ、単語がスペースで区切られています。sonnetsPreprocessed.txt
からテキストを抽出し、テキストを改行文字で文書に分割した後、文書をトークン化します。
filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);
最初のいくつかの文書を表示します。
documents(1:5)
ans = 5x1 tokenizedDocument: 70 tokens: fairest creatures desire increase thereby beautys rose might never die riper time decease tender heir might bear memory thou contracted thine own bright eyes feedst thy lights flame selfsubstantial fuel making famine abundance lies thy self thy foe thy sweet self cruel thou art worlds fresh ornament herald gaudy spring thine own bud buriest thy content tender churl makst waste niggarding pity world else glutton eat worlds due grave thee 71 tokens: forty winters shall besiege thy brow dig deep trenches thy beautys field thy youths proud livery gazed tatterd weed small worth held asked thy beauty lies treasure thy lusty days say thine own deep sunken eyes alleating shame thriftless praise praise deservd thy beautys thou couldst answer fair child mine shall sum count make old excuse proving beauty succession thine new made thou art old thy blood warm thou feelst cold 65 tokens: look thy glass tell face thou viewest time face form another whose fresh repair thou renewest thou dost beguile world unbless mother fair whose uneard womb disdains tillage thy husbandry fond tomb selflove stop posterity thou art thy mothers glass thee calls back lovely april prime thou windows thine age shalt despite wrinkles thy golden time thou live rememberd die single thine image dies thee 71 tokens: unthrifty loveliness why dost thou spend upon thy self thy beautys legacy natures bequest gives nothing doth lend frank lends free beauteous niggard why dost thou abuse bounteous largess thee give profitless usurer why dost thou great sum sums yet canst live traffic thy self alone thou thy self thy sweet self dost deceive nature calls thee gone acceptable audit canst thou leave thy unused beauty tombed thee lives th executor 61 tokens: hours gentle work frame lovely gaze every eye doth dwell play tyrants same unfair fairly doth excel neverresting time leads summer hideous winter confounds sap checked frost lusty leaves quite gone beauty oersnowed bareness every summers distillation left liquid prisoner pent walls glass beautys effect beauty bereft nor nor remembrance flowers distilld though winter meet leese show substance still lives sweet
関数 stopWords
の出力で始まるストップ ワードのリストを作成します。
customStopWords = [stopWords "thy" "thee" "thou" "dost" "doth"];
文書からカスタム ストップ ワードを削除し、最初のいくつかの文書を表示します。
documents = removeWords(documents,customStopWords); documents(1:5)
ans = 5x1 tokenizedDocument: 62 tokens: fairest creatures desire increase thereby beautys rose might never die riper time decease tender heir might bear memory contracted thine own bright eyes feedst lights flame selfsubstantial fuel making famine abundance lies self foe sweet self cruel art worlds fresh ornament herald gaudy spring thine own bud buriest content tender churl makst waste niggarding pity world else glutton eat worlds due grave 61 tokens: forty winters shall besiege brow dig deep trenches beautys field youths proud livery gazed tatterd weed small worth held asked beauty lies treasure lusty days say thine own deep sunken eyes alleating shame thriftless praise praise deservd beautys couldst answer fair child mine shall sum count make old excuse proving beauty succession thine new made art old blood warm feelst cold 52 tokens: look glass tell face viewest time face form another whose fresh repair renewest beguile world unbless mother fair whose uneard womb disdains tillage husbandry fond tomb selflove stop posterity art mothers glass calls back lovely april prime windows thine age shalt despite wrinkles golden time live rememberd die single thine image dies 52 tokens: unthrifty loveliness why spend upon self beautys legacy natures bequest gives nothing lend frank lends free beauteous niggard why abuse bounteous largess give profitless usurer why great sum sums yet canst live traffic self alone self sweet self deceive nature calls gone acceptable audit canst leave unused beauty tombed lives th executor 59 tokens: hours gentle work frame lovely gaze every eye dwell play tyrants same unfair fairly excel neverresting time leads summer hideous winter confounds sap checked frost lusty leaves quite gone beauty oersnowed bareness every summers distillation left liquid prisoner pent walls glass beautys effect beauty bereft nor nor remembrance flowers distilld though winter meet leese show substance still lives sweet
インデックスによる文書からの単語の削除
removeWords
に数値インデックスのベクトルを入力して、文書から単語を削除します。
トークン化された文書の配列を作成します。
documents = tokenizedDocument([ "I love MATLAB" "I love MathWorks"])
documents = 2x1 tokenizedDocument: 3 tokens: I love MATLAB 3 tokens: I love MathWorks
documents
のボキャブラリを表示します。
documents.Vocabulary
ans = 1x4 string
"I" "love" "MATLAB" "MathWorks"
数値インデックス [1 3]
を指定して、ボキャブラリの最初と 3 番目の単語を文書から削除します。
idx = [1 3]; newDocuments = removeWords(documents,idx)
newDocuments = 2x1 tokenizedDocument: 1 tokens: love 2 tokens: love MathWorks
あるいは、logical インデックスを指定できます。
idx = logical([1 0 1 0]); newDocuments = removeWords(documents,idx)
newDocuments = 2x1 tokenizedDocument: 1 tokens: love 2 tokens: love MathWorks
bag-of-words モデルからのストップ ワードの削除
removeWords
にストップ ワードのリストを入力して、bag-of-words モデルからストップ ワードを削除します。ストップ ワードは、"a"、"the"、"in" などの単語で、解析前にテキストから削除されるのが一般的です。
documents = tokenizedDocument([ "an example of a short sentence" "a second short sentence"]); bag = bagOfWords(documents); newBag = removeWords(bag,stopWords)
newBag = bagOfWords with properties: Counts: [2x4 double] Vocabulary: ["example" "short" "sentence" "second"] NumWords: 4 NumDocuments: 2
インデックスによる bag-of-words モデルからの単語の削除
removeWords
に数値インデックスのベクトルを入力して、bag-of-words モデルから単語を削除します。
トークン化された文書の配列を作成します。
documents = tokenizedDocument([ "I love MATLAB" "I love MathWorks"]); bag = bagOfWords(documents)
bag = bagOfWords with properties: Counts: [2x4 double] Vocabulary: ["I" "love" "MATLAB" "MathWorks"] NumWords: 4 NumDocuments: 2
bag
のボキャブラリを表示します。
bag.Vocabulary
ans = 1x4 string
"I" "love" "MATLAB" "MathWorks"
数値インデックス [1 3]
を指定して、bag-of-words モデルからボキャブラリの最初と 3 番目の単語を削除します。
idx = [1 3]; newBag = removeWords(bag,idx)
newBag = bagOfWords with properties: Counts: [2x2 double] Vocabulary: ["love" "MathWorks"] NumWords: 2 NumDocuments: 2
あるいは、logical インデックスを指定できます。
idx = logical([1 0 1 0]); newBag = removeWords(bag,idx)
newBag = bagOfWords with properties: Counts: [2x2 double] Vocabulary: ["love" "MathWorks"] NumWords: 2 NumDocuments: 2
入力引数
documents
— 入力文書
tokenizedDocument
配列
入力文書。tokenizedDocument
配列として指定します。
bag
— 入力の bag-of-words モデル
bagOfWords
オブジェクト
入力の bag-of-words モデル。bagOfWords
オブジェクトとして指定します。
words
— 削除する単語
string ベクトル | 文字ベクトル | 文字ベクトルの cell 配列
削除する単語。string ベクトル、文字ベクトル、または文字ベクトルの cell 配列として指定します。words
を文字ベクトルとして指定した場合、関数はそれを 1 つの単語として扱います。
データ型: string
| char
| cell
idx
— 削除するボキャブラリ内単語のインデックス
数値インデックスのベクトル | logical インデックスのベクトル
削除する単語のインデックス。数値インデックスのベクトルまたは logical インデックスのベクトルとして指定します。idx
のインデックスは、入力文書または bag-of-words モデルの Vocabulary
プロパティ内の単語の位置に対応します。
例: [1 5 10]
出力引数
newDocuments
— 出力文書
tokenizedDocument
配列
出力文書。tokenizedDocument
配列として返されます。
newBag
— 出力の bag-of-words モデル
bagOfWords
オブジェクト
出力の bag-of-words モデル。bagOfWords
オブジェクトとして返されます。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)