メインコンテンツ

tokenDetails

トークン化された文書の配列内のトークンの詳細

説明

tdetails = tokenDetails(documents) は、tokenizedDocument 配列 documents 内のトークンの詳細に関する table を返します。

すべて折りたたむ

トークン化された文書の配列を作成します。

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence and an emoticon. :)"
    "Here is another example document. :D"];
documents = tokenizedDocument(str);

最初のいくつかのトークンの詳細を表示します。

tdetails = tokenDetails(documents);
head(tdetails)
      Token       DocumentNumber    LineNumber       Type        Language
    __________    ______________    __________    ___________    ________

    "This"              1               1         letters           en   
    "is"                1               1         letters           en   
    "an"                1               1         letters           en   
    "example"           1               1         letters           en   
    "document"          1               1         letters           en   
    "."                 1               1         punctuation       en   
    "It"                1               1         letters           en   
    "has"               1               1         letters           en   

type 変数には各トークンのタイプが格納されます。文書内の顔文字を表示します。

idx = tdetails.Type == "emoticon";
tdetails(idx,:)
ans=2×5 table
    Token    DocumentNumber    LineNumber      Type      Language
    _____    ______________    __________    ________    ________

    ":)"           2               1         emoticon       en   
    ":D"           3               1         emoticon       en   

トークン化された文書の配列を作成します。

str = [ ...
    "This is an example document. It has two sentences."
    "This document has one sentence."
    "Here is another example document. It also has two sentences."];
documents = tokenizedDocument(str);

addSentenceDetails を使用して、文書に文の詳細を追加します。この関数は、tokenDetails によって返される table に文番号を追加します。最初のいくつかのトークンについて、更新されたトークンの詳細を表示します。

documents = addSentenceDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails)
      Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language
    __________    ______________    ______________    __________    ___________    ________

    "This"              1                 1               1         letters           en   
    "is"                1                 1               1         letters           en   
    "an"                1                 1               1         letters           en   
    "example"           1                 1               1         letters           en   
    "document"          1                 1               1         letters           en   
    "."                 1                 1               1         punctuation       en   
    "It"                1                 2               1         letters           en   
    "has"               1                 2               1         letters           en   

3 番目の文書における 2 番目の文のトークンの詳細を表示します。

idx = tdetails.DocumentNumber == 3 & ...
    tdetails.SentenceNumber == 2;
tdetails(idx,:)
ans=6×6 table
       Token       DocumentNumber    SentenceNumber    LineNumber       Type        Language
    ___________    ______________    ______________    __________    ___________    ________

    "It"                 3                 2               1         letters           en   
    "also"               3                 2               1         letters           en   
    "has"                3                 2               1         letters           en   
    "two"                3                 2               1         letters           en   
    "sentences"          3                 2               1         letters           en   
    "."                  3                 2               1         punctuation       en   

サンプル データを読み込みます。ファイル sonnetsPreprocessed.txt には、シェイクスピアのソネット集の前処理されたバージョンが格納されています。ファイルには、1 行に 1 つのソネットが含まれ、単語がスペースで区切られています。sonnetsPreprocessed.txt からテキストを抽出し、テキストを改行文字で文書に分割した後、文書をトークン化します。

filename = "sonnetsPreprocessed.txt";
str = extractFileText(filename);
textData = split(str,newline);
documents = tokenizedDocument(textData);

最初のいくつかのトークンの詳細を表示します。

tdetails = tokenDetails(documents);
head(tdetails)
       Token       DocumentNumber    LineNumber     Type      Language
    ___________    ______________    __________    _______    ________

    "fairest"            1               1         letters       en   
    "creatures"          1               1         letters       en   
    "desire"             1               1         letters       en   
    "increase"           1               1         letters       en   
    "thereby"            1               1         letters       en   
    "beautys"            1               1         letters       en   
    "rose"               1               1         letters       en   
    "might"              1               1         letters       en   

addPartOfSpeechDetails 関数を使用して、文書に品詞の詳細を追加します。この関数は、まず文書に文の情報を追加してから、tokenDetails によって返される table に品詞タグを追加します。最初のいくつかのトークンについて、更新されたトークンの詳細を表示します。

documents = addPartOfSpeechDetails(documents);
tdetails = tokenDetails(documents);
head(tdetails)
       Token       DocumentNumber    SentenceNumber    LineNumber     Type      Language     PartOfSpeech 
    ___________    ______________    ______________    __________    _______    ________    ______________

    "fairest"            1                 1               1         letters       en       adjective     
    "creatures"          1                 1               1         letters       en       noun          
    "desire"             1                 1               1         letters       en       noun          
    "increase"           1                 1               1         letters       en       noun          
    "thereby"            1                 1               1         letters       en       adverb        
    "beautys"            1                 1               1         letters       en       noun          
    "rose"               1                 1               1         letters       en       noun          
    "might"              1                 1               1         letters       en       auxiliary-verb

入力引数

すべて折りたたむ

入力文書。tokenizedDocument 配列として指定します。

出力引数

すべて折りたたむ

トークンの詳細の table。tdetails の変数は次のとおりです。

名前説明
Tokenトークンのテキスト。string スカラーとして返されます。
DocumentNumberトークンが属する文書のインデックス。正の整数として返されます。
SentenceNumber文書に含まれるトークンの文番号。正の整数として返されます。これらの詳細が欠落している場合は、まず addSentenceDetails 関数を使用して documents に文の詳細を追加します。
LineNumber文書に含まれるトークンの行番号。正の整数として返されます。
Type

トークンのタイプ。次のいずれかのタイプとして返されます。

  • letters — 文字のみの文字列

  • digits — 数字のみの文字列

  • punctuation — 句読点と記号文字のみの文字列

  • email-address — 検出された電子メール アドレス

  • web-address — 検出された Web アドレス

  • hashtag — 検出されたハッシュタグ ("#" の文字で始まり、その後に文字が続く)

  • at-mention — 検出された @-メンション ("@" 文字で始まり、その後に 1 から 15 の ASCII 文字、数字またはアンダースコア文字が続く)

  • emoticon — 検出された顔文字

  • emoji — 検出された絵文字

  • other — 前述のタイプに属さず、かつカスタム タイプではないもの

これらの詳細が欠落している場合は、まず addTypeDetails 関数を使用して documents にタイプの詳細を追加します。

Language

トークンの言語。次のいずれかの言語として返されます。

  • en — 英語

  • ja — 日本語

  • de — ドイツ語

  • ko — 韓国語

これらの言語の詳細によって、関数 removeStopWordsaddPartOfSpeechDetailsnormalizeWordsaddSentenceDetails、および addEntityDetails のトークンに対する動作が決まります。

これらの詳細が欠落している場合は、まず addLanguageDetails 関数を使用して documents に言語の詳細を追加します。

Text Analytics Toolbox™ での言語サポートの詳細については、言語に関する考慮事項を参照してください。

PartOfSpeech

品詞タグ。次のいずれかのタグとして返されます。

  • adjective — 形容詞

  • adposition — 接置詞

  • adverb — 副詞

  • auxiliary-verb — 助動詞

  • coord-conjunction — 等位接続詞

  • determiner — 限定詞

  • interjection — 間投詞

  • noun — 名詞

  • numeral — 数詞

  • particle — 不変化詞

  • pronoun — 代名詞

  • proper-noun — 固有名詞

  • punctuation — 句読点

  • subord-conjunction — 従属接続詞

  • symbol — 記号

  • verb — 動詞

  • other — その他

これらの詳細が欠落している場合は、まず addPartOfSpeechDetails 関数を使用して documents に品詞の詳細を追加します。

Entity

エンティティ タグ。次のいずれかのタグとして指定します。

  • location — 検出された場所

  • organization — 検出された組織

  • person — 検出された人物

  • other — 上記のカテゴリに属さない検出されたエンティティ

  • non-entity — エンティティが検出されなかった

これらの詳細が欠落している場合は、まず addEntityDetails 関数を使用して documents にエンティティの詳細を追加します。

Lemma

レンマの形式。これらの詳細が欠落している場合は、まず addLemmaDetails 関数を使用して documents にレンマの詳細を追加します。

Head文法上の依存関係の主辞。このトークンが修飾するトークンのインデックスとして指定します。これらの詳細が欠落している場合は、まず addDependencyDetails 関数を使用して documents に文法上の依存関係の詳細を追加します。
Dependency

文法上の依存関係のタイプ。次のいずれかのタグとして指定します。

ここにリストされている依存関係タイプはサブセットにすぎません。サブタイプを含む依存関係タイプの完全なリストについては、[1]を参照してください。

  • acl — 名詞の節修飾語 (連体節)

  • advcl — 副詞的修飾節

  • advmod — 副詞修飾語

  • amod — 形容詞修飾語

  • appos — 同格修飾語

  • aux — 補助動詞

  • case — 格の付与

  • cc — 等位接続詞

  • ccomp — 節補部

  • clf — 類別詞

  • compound — 複合

  • conj — 接続要素

  • cop — コピュラ

  • csubj — 節主語

  • dep — 不明な依存関係

  • det — 限定詞

  • discourse — 談話要素

  • dislocated — 転移要素

  • expl — 虚辞

  • fixed — 固定的な複合表現

  • flat — 平板型の複合表現

  • goeswith — 単語区切り誤り

  • iobj — 間接目的語

  • list — リスト

  • mark — マーカー

  • nmod — 名詞修飾語

  • nsubj — 名詞句主語

  • nummod — 数値修飾語

  • obj — 目的語

  • obl — 斜格名詞

  • orphan — 主辞がない語

  • parataxis — 並置

  • punct — 句読点

  • reparandum — 言い直しによる非流暢性

  • root — 根

  • vocative — 呼格

  • xcomp — 開いた節補部

これらの詳細が欠落している場合は、まず addDependencyDetails 関数を使用して documents に文法上の依存関係の詳細を追加します。

参照

[1] Universal Dependency Relations https://universaldependencies.org/u/dep/index.html.

バージョン履歴

R2018a で導入

すべて展開する