ドイツ語サポート
このトピックは、ドイツ語のテキストをサポートする Text Analytics Toolbox™ の機能についてまとめています。ドイツ語のテキスト データを解析する方法を示す例については、Analyze German Text Dataを参照してください。
トークン化
tokenizedDocument 関数は、ドイツ語の入力を自動的に検出します。あるいは、tokenizedDocument の 'Language' オプションを 'de' に設定します。このオプションは、トークンの言語の詳細を指定します。トークンの言語の詳細を表示するには、tokenDetails を使用します。これらの言語の詳細によって、関数 removeStopWords、addPartOfSpeechDetails、normalizeWords、addSentenceDetails、および addEntityDetails のトークンに対する動作が決まります。
ドイツ語のテキストのトークン化
tokenizedDocument を使用してドイツの語テキストをトークン化します。関数は、ドイツ語のテキストを自動的に検出します。
str = [
"Guten Morgen. Wie geht es dir?"
"Heute wird ein guter Tag."];
documents = tokenizedDocument(str)documents =
2×1 tokenizedDocument:
8 tokens: Guten Morgen . Wie geht es dir ?
6 tokens: Heute wird ein guter Tag .
文の検出
文書内の文構造を検出するには、addSentenceDetails を使用します。abbreviations 関数を使用すると、検出する略語のカスタム リストを作成できます。
ドイツ語文書への文の詳細の追加
tokenizedDocument を使用してドイツの語テキストをトークン化します。
str = [
"Guten Morgen, Dr. Schmidt. Geht es Ihnen wieder besser?"
"Heute wird ein guter Tag."];
documents = tokenizedDocument(str);addSentenceDetails を使用して、文書に文の詳細を追加します。この関数は、tokenDetails によって返される table に文番号を追加します。最初のいくつかのトークンについて、更新されたトークンの詳細を表示します。
documents = addSentenceDetails(documents); tdetails = tokenDetails(documents); head(tdetails,10)
Token DocumentNumber SentenceNumber LineNumber Type Language
_________ ______________ ______________ __________ ___________ ________
"Guten" 1 1 1 letters de
"Morgen" 1 1 1 letters de
"," 1 1 1 punctuation de
"Dr" 1 1 1 letters de
"." 1 1 1 punctuation de
"Schmidt" 1 1 1 letters de
"." 1 1 1 punctuation de
"Geht" 1 2 1 letters de
"es" 1 2 1 letters de
"Ihnen" 1 2 1 letters de
ドイツ語の略語の table
ドイツ語の略語の table を表示します。addSentenceDetails を使用するときに、この table を使用して、文を検出するための略語のカスタム テーブルを作成できます。
tbl = abbreviations('Language','de'); head(tbl)
Abbreviation Usage
____________ _______
"A.T" regular
"ABl" regular
"Abb" regular
"Abdr" regular
"Abf" regular
"Abfl" regular
"Abh" regular
"Abk" regular
品詞の詳細
文書にドイツ語の品詞の詳細を追加するには、addPartOfSpeechDetails 関数を使用します。
ドイツ語テキストの品詞の詳細の取得
tokenizedDocument を使用してドイツの語テキストをトークン化します。
str = [
"Guten Morgen. Wie geht es dir?"
"Heute wird ein guter Tag."];
documents = tokenizedDocument(str)documents =
2×1 tokenizedDocument:
8 tokens: Guten Morgen . Wie geht es dir ?
6 tokens: Heute wird ein guter Tag .
ドイツ語テキストの品詞の詳細を取得するには、まず addPartOfSpeechDetails を使用します。
documents = addPartOfSpeechDetails(documents);
品詞の詳細を表示するには、tokenDetails 関数を使用します。
tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech
________ ______________ ______________ __________ ___________ ________ ____________
"Guten" 1 1 1 letters de adjective
"Morgen" 1 1 1 letters de noun
"." 1 1 1 punctuation de punctuation
"Wie" 1 2 1 letters de adverb
"geht" 1 2 1 letters de verb
"es" 1 2 1 letters de pronoun
"dir" 1 2 1 letters de pronoun
"?" 1 2 1 punctuation de punctuation
固有表現認識
文書にエンティティ タグを追加するには、addEntityDetails 関数を使用します。
ドイツ語テキストへの固有表現タグの追加
tokenizedDocument を使用してドイツの語テキストをトークン化します。
str = [
"Ernst zog von Frankfurt nach Berlin."
"Besuchen Sie Volkswagen in Wolfsburg."];
documents = tokenizedDocument(str);ドイツ語のテキストにエンティティ タグを追加するには、addEntityDetails 関数を使用します。この関数は、個人の名前、場所、組織、およびその他の固有表現を検出します。
documents = addEntityDetails(documents);
エンティティの詳細を表示するには、関数 tokenDetails を使用します。
tdetails = tokenDetails(documents); head(tdetails)
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech Entity
___________ ______________ ______________ __________ ___________ ________ ____________ __________
"Ernst" 1 1 1 letters de proper-noun person
"zog" 1 1 1 letters de verb non-entity
"von" 1 1 1 letters de adposition non-entity
"Frankfurt" 1 1 1 letters de proper-noun location
"nach" 1 1 1 letters de adposition non-entity
"Berlin" 1 1 1 letters de proper-noun location
"." 1 1 1 punctuation de punctuation non-entity
"Besuchen" 2 1 1 letters de verb non-entity
"person"、"location"、"organization"、または "other" のエンティティでタグ付けされた単語を表示します。これらの単語は、"non-entity" でタグ付けされていない単語です。
idx = tdetails.Entity ~= "non-entity";
tdetails(idx,:)ans=5×8 table
Token DocumentNumber SentenceNumber LineNumber Type Language PartOfSpeech Entity
____________ ______________ ______________ __________ _______ ________ ____________ ____________
"Ernst" 1 1 1 letters de proper-noun person
"Frankfurt" 1 1 1 letters de proper-noun location
"Berlin" 1 1 1 letters de proper-noun location
"Volkswagen" 2 1 1 letters de noun organization
"Wolfsburg" 2 1 1 letters de proper-noun location
ストップ ワード
トークンの言語の詳細に従って文書からストップ ワードを削除するには、removeStopWords を使用します。ドイツ語のストップ ワードのリストについては、stopWords の 'Language' オプションを 'de' に設定します。
文書からのドイツ語ストップ ワードの削除
tokenizedDocument を使用してドイツの語テキストをトークン化します。関数は、ドイツ語のテキストを自動的に検出します。
str = [
"Guten Morgen. Wie geht es dir?"
"Heute wird ein guter Tag."];
documents = tokenizedDocument(str)documents =
2×1 tokenizedDocument:
8 tokens: Guten Morgen . Wie geht es dir ?
6 tokens: Heute wird ein guter Tag .
関数 removeStopWords を使用してストップ ワードを削除します。関数は、文書の言語の詳細を使用して、どの言語のストップ ワードを削除するかを決定します。
documents = removeStopWords(documents)
documents =
2×1 tokenizedDocument:
5 tokens: Guten Morgen . geht ?
5 tokens: Heute wird guter Tag .
ステミング
トークンの言語の詳細に従ってトークンをステミングするには、normalizeWords を使用します。
ドイツ語のテキストのステミング
関数 tokenizedDocument を使用してドイツ語のテキストをトークン化します。関数は、ドイツ語のテキストを自動的に検出します。
str = [
"Guten Morgen. Wie geht es dir?"
"Heute wird ein guter Tag."];
documents = tokenizedDocument(str);normalizeWords を使用してトークンをステミングします。
documents = normalizeWords(documents)
documents =
2×1 tokenizedDocument:
8 tokens: gut morg . wie geht es dir ?
6 tokens: heut wird ein gut tag .
言語に依存しない機能
単語と n-gram のカウント
関数 bagOfWords および関数 bagOfNgrams は、言語に関係なく、tokenizedDocument の入力をサポートします。データを含む tokenizedDocument 配列がある場合、これらの関数を使用できます。
モデル化と予測
関数 fitlda および関数 fitlsa は、言語に関係なく、bagOfWords および bagOfNgrams の入力をサポートします。データを含む bagOfWords オブジェクトまたは bagOfNgrams オブジェクトがある場合、これらの関数を使用できます。
関数 trainWordEmbedding は、言語に関係なく、tokenizedDocument またはファイルの入力をサポートします。tokenizedDocument 配列または正しい形式のデータを含むファイルがある場合、この関数を使用できます。
参考
tokenizedDocument | removeStopWords | stopWords | addPartOfSpeechDetails | tokenDetails | normalizeWords | addLanguageDetails