[naturallanguage] Update for Xcode 11 beta 1 (#6741)
No change in beta 2 to 5 * Run EmbeddingTest.Vector test on iOS and macOS only reference: rdar 44948030 > Engineering has the following feedback for you: The tagging > depends on the NLP assets being present on the device. The > assets get downloaded through OTA. OTA download for NLP assets > does not exist on watchOS and tvOS currently…only on iOS and > macOS. It is conceivable that the assets got downloaded when you > were on WiFi at a later point. So, the tagging should work.
This commit is contained in:
Родитель
38e1d05d68
Коммит
61c8af15d1
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018, Microsoft Corp.
|
||||
// Copyright 2018-2019 Microsoft Corp.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
|
@ -201,5 +201,8 @@ namespace NaturalLanguage {
|
|||
Language,
|
||||
[Field ("NLTagSchemeScript")]
|
||||
Script,
|
||||
[iOS (13,0), Mac (10,15), TV (13,0), Watch (6,0)]
|
||||
[Field ("NLTagSchemeSentimentScore")]
|
||||
SentimentScore,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
using System;
|
||||
|
||||
using CoreFoundation;
|
||||
using Foundation;
|
||||
|
||||
namespace NaturalLanguage {
|
||||
|
||||
public partial class NLEmbedding {
|
||||
|
||||
unsafe public bool TryGetVector (string @string, out float[] vector)
|
||||
{
|
||||
var result = false;
|
||||
vector = new float [Dimension];
|
||||
fixed (float *ptr = vector) {
|
||||
result = GetVector ((IntPtr) ptr, @string);
|
||||
}
|
||||
if (!result)
|
||||
vector = null; // to be consistent with GetVector API
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
|
||||
using CoreFoundation;
|
||||
using Foundation;
|
||||
|
||||
namespace NaturalLanguage {
|
||||
|
||||
// nicer replacement for `NSDictionary<NSString, NSArray<NSString>>`
|
||||
public class NLStrongDictionary : DictionaryContainer {
|
||||
|
||||
#if !COREBUILD
|
||||
public NLStrongDictionary ()
|
||||
{
|
||||
}
|
||||
|
||||
public NLStrongDictionary (NSDictionary dictionary) : base (dictionary)
|
||||
{
|
||||
}
|
||||
|
||||
public string[] this [NSString key] {
|
||||
get {
|
||||
if (key == null)
|
||||
throw new ArgumentNullException (nameof (key));
|
||||
|
||||
var value = CFDictionary.GetValue (Dictionary.Handle, key.Handle);
|
||||
return NSArray.StringArrayFromHandle (value);
|
||||
}
|
||||
set {
|
||||
SetArrayValue (key, value);
|
||||
}
|
||||
}
|
||||
|
||||
public string[] this [string key] {
|
||||
get {
|
||||
return this [(NSString) key];
|
||||
}
|
||||
set {
|
||||
SetArrayValue ((NSString) key, value);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
|
||||
using CoreFoundation;
|
||||
using Foundation;
|
||||
|
||||
namespace NaturalLanguage {
|
||||
|
||||
// nicer replacement for `NSDictionary<NSString, NSArray<NSNumber>>`
|
||||
public class NLVectorDictionary : DictionaryContainer {
|
||||
|
||||
#if !COREBUILD
|
||||
public NLVectorDictionary ()
|
||||
{
|
||||
}
|
||||
|
||||
public NLVectorDictionary (NSDictionary dictionary) : base (dictionary)
|
||||
{
|
||||
}
|
||||
|
||||
public float[] this [NSString key] {
|
||||
get {
|
||||
if (key == null)
|
||||
throw new ArgumentNullException (nameof (key));
|
||||
|
||||
var a = CFDictionary.GetValue (Dictionary.Handle, key.Handle);
|
||||
return NSArray.ArrayFromHandle<float> (a, input => {
|
||||
return new NSNumber (input).FloatValue;
|
||||
});
|
||||
}
|
||||
set {
|
||||
if (key == null)
|
||||
throw new ArgumentNullException (nameof (key));
|
||||
|
||||
if (value == null)
|
||||
RemoveValue (key);
|
||||
else
|
||||
Dictionary [key] = NSArray.From (value);
|
||||
}
|
||||
}
|
||||
|
||||
public float[] this [string key] {
|
||||
get {
|
||||
return this [(NSString) key];
|
||||
}
|
||||
set {
|
||||
this [(NSString) key] = value;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
|
@ -1133,7 +1133,12 @@ MULTIPEERCONNECTIVITY_SOURCES = \
|
|||
NATURALLANGUAGE_API_SOURCES = \
|
||||
NaturalLanguage/Enums.cs \
|
||||
|
||||
NATURALLANGUAGE_CORE_SOURCES = \
|
||||
NaturalLanguage/NLStrongDictionary.cs \
|
||||
NaturalLanguage/NLVectorDictionary.cs \
|
||||
|
||||
NATURALLANGUAGE_SOURCES = \
|
||||
NaturalLanguage/NLEmbedding.cs \
|
||||
NaturalLanguage/NLLanguageRecognizer.cs \
|
||||
|
||||
# Network
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018, Microsoft, Corp.
|
||||
// Copyright 2018-2019 Microsoft, Corp.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
|
@ -251,6 +251,37 @@ namespace NaturalLanguage {
|
|||
|
||||
[Wrap ("GetModels (tagScheme.GetConstant ())")]
|
||||
NLModel[] GetModels (NLTagScheme tagScheme);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Export ("setGazetteers:forTagScheme:")]
|
||||
void SetGazetteers (NLGazetteer[] gazetteers, NSString tagScheme);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Wrap ("SetGazetteers (gazetteers, tagScheme.GetConstant ())")]
|
||||
void SetGazetteers (NLGazetteer[] gazetteers, NLTagScheme tagScheme);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Export ("gazetteersForTagScheme:")]
|
||||
NLGazetteer[] GetGazetteers (NSString tagScheme);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Wrap ("GetGazetteers (tagScheme.GetConstant ())")]
|
||||
NLGazetteer[] GetGazetteers (NLTagScheme tagScheme);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Async]
|
||||
[Export ("requestAssetsForLanguage:tagScheme:completionHandler:")]
|
||||
void RequestAssets (NSString language, NSString tagScheme, Action<NLTaggerAssetsResult, NSError> completionHandler);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Static]
|
||||
[Async]
|
||||
[Wrap ("RequestAssets (language.GetConstant (), tagScheme.GetConstant (), completionHandler)")]
|
||||
void RequestAssets (NLLanguage language, NLTagScheme tagScheme, Action<NLTaggerAssetsResult, NSError> completionHandler);
|
||||
}
|
||||
|
||||
[iOS (12,0), Mac (10,14), TV (12,0), Watch (5,0)]
|
||||
|
@ -319,4 +350,184 @@ namespace NaturalLanguage {
|
|||
[Field ("NLTagOrganizationName")]
|
||||
NSString OrganizationName { get; }
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Native]
|
||||
enum NLDistanceType : long {
|
||||
Cosine,
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[Native]
|
||||
enum NLTaggerAssetsResult : long {
|
||||
Available,
|
||||
NotAvailable,
|
||||
Error,
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
delegate void NLEnumerateNeighborsHandler (string neighbor, /* NLDistance */ double distance, ref bool stop);
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface NLEmbedding {
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("wordEmbeddingForLanguage:")]
|
||||
[return: NullAllowed]
|
||||
NLEmbedding GetWordEmbedding (NSString language);
|
||||
|
||||
[Static]
|
||||
[Wrap ("GetWordEmbedding (language.GetConstant ())")]
|
||||
[return: NullAllowed]
|
||||
NLEmbedding GetWordEmbedding (NLLanguage language);
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("wordEmbeddingForLanguage:revision:")]
|
||||
[return: NullAllowed]
|
||||
NLEmbedding GetWordEmbedding (NSString language, nuint revision);
|
||||
|
||||
[Static]
|
||||
[Wrap ("GetWordEmbedding (language.GetConstant ())")]
|
||||
[return: NullAllowed]
|
||||
NLEmbedding GetWordEmbedding (NLLanguage language, nuint revision);
|
||||
|
||||
[Static]
|
||||
[Export ("embeddingWithContentsOfURL:error:")]
|
||||
[return: NullAllowed]
|
||||
NLEmbedding GetEmbedding (NSUrl url, [NullAllowed] out NSError error);
|
||||
|
||||
[Export ("containsString:")]
|
||||
bool Contains (string @string);
|
||||
|
||||
[Export ("distanceBetweenString:andString:distanceType:")]
|
||||
double GetDistance (string firstString, string secondString, NLDistanceType distanceType);
|
||||
|
||||
[Export ("enumerateNeighborsForString:maximumCount:distanceType:usingBlock:")]
|
||||
void EnumerateNeighbors (string @string, nuint maxCount, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
|
||||
|
||||
[Export ("enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock:")]
|
||||
void EnumerateNeighbors (string @string, nuint maxCount, double maxDistance, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
|
||||
|
||||
[Export ("neighborsForString:maximumCount:distanceType:")]
|
||||
[return: NullAllowed]
|
||||
string[] GetNeighbors (string @string, nuint maxCount, NLDistanceType distanceType);
|
||||
|
||||
[Export ("neighborsForString:maximumCount:maximumDistance:distanceType:")]
|
||||
[return: NullAllowed]
|
||||
string[] GetNeighbors (string @string, nuint maxCount, double maxDistance, NLDistanceType distanceType);
|
||||
|
||||
[Export ("vectorForString:")]
|
||||
[return: NullAllowed]
|
||||
[return: BindAs (typeof (float[]))] // doc says "array of double" but other API uses float ?!?
|
||||
NSNumber[] GetVector (string @string);
|
||||
|
||||
[Internal] // can't bind float[] without NSArray but it will be better bound using .net pattern `bool TryGetVector (string, out float[] vector)`
|
||||
[Export ("getVector:forString:")]
|
||||
bool GetVector (IntPtr /* float[] */ vector, string @string);
|
||||
|
||||
[Export ("enumerateNeighborsForVector:maximumCount:distanceType:usingBlock:")]
|
||||
void EnumerateNeighbors ([BindAs (typeof (float[]))] NSNumber[] vector, nuint maxCount, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
|
||||
|
||||
[Export ("enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock:")]
|
||||
void EnumerateNeighbors ([BindAs (typeof (float[]))] NSNumber[] vector, nuint maxCount, double maxDistance, NLDistanceType distanceType, NLEnumerateNeighborsHandler handler);
|
||||
|
||||
[Export ("neighborsForVector:maximumCount:distanceType:")]
|
||||
string[] GetNeighbors ([BindAs (typeof (float[]))] NSNumber[] vector, nuint maxCount, NLDistanceType distanceType);
|
||||
|
||||
[Export ("neighborsForVector:maximumCount:maximumDistance:distanceType:")]
|
||||
string[] GetNeighbors ([BindAs (typeof (float[]))] NSNumber[] vector, nuint maxCount, double maxDistance, NLDistanceType distanceType);
|
||||
|
||||
[Export ("dimension")]
|
||||
nuint Dimension { get; }
|
||||
|
||||
[Export ("vocabularySize")]
|
||||
nuint VocabularySize { get; }
|
||||
|
||||
[NullAllowed, Export ("language")]
|
||||
[BindAs (typeof (NLLanguage?))]
|
||||
NSString Language { get; }
|
||||
|
||||
[Export ("revision")]
|
||||
nuint Revision { get; }
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("supportedRevisionsForLanguage:")]
|
||||
NSIndexSet GetSupportedRevisions (NSString language);
|
||||
|
||||
[Static]
|
||||
[Wrap ("GetSupportedRevisions (language.GetConstant ())")]
|
||||
NSIndexSet GetSupportedRevisions (NLLanguage language);
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("currentRevisionForLanguage:")]
|
||||
nuint GetCurrentRevision (NSString language);
|
||||
|
||||
[Static]
|
||||
[Wrap ("GetCurrentRevision (language.GetConstant ())")]
|
||||
nuint GetCurrentRevision (NLLanguage language);
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("writeEmbeddingForDictionary:language:revision:toURL:error:")]
|
||||
bool Write (NSDictionary dictionary, [NullAllowed] NSString language, nuint revision, NSUrl url, [NullAllowed] out NSError error);
|
||||
|
||||
[Static]
|
||||
[Wrap ("Write (dictionary.GetDictionary (), language.HasValue ? language.Value.GetConstant () : null, revision, url, out error)")]
|
||||
bool Write (NLVectorDictionary dictionary, NLLanguage? language, nuint revision, NSUrl url, [NullAllowed] out NSError error);
|
||||
}
|
||||
|
||||
[Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)]
|
||||
[BaseType (typeof (NSObject))]
|
||||
[DisableDefaultCtor]
|
||||
interface NLGazetteer {
|
||||
|
||||
[Static]
|
||||
[Export ("gazetteerWithContentsOfURL:error:")]
|
||||
[return: NullAllowed]
|
||||
NLGazetteer Create (NSUrl url, [NullAllowed] out NSError error);
|
||||
|
||||
[Export ("initWithContentsOfURL:error:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSUrl url, [NullAllowed] out NSError error);
|
||||
|
||||
[Export ("initWithData:error:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSData data, [NullAllowed] out NSError error);
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Export ("initWithDictionary:language:error:")]
|
||||
[DesignatedInitializer]
|
||||
IntPtr Constructor (NSDictionary dictionary, [NullAllowed] NSString language, [NullAllowed] out NSError error);
|
||||
|
||||
// sadly `language?.GetConstant ()` does not cut it :(
|
||||
// error CS1929: 'NLLanguage?' does not contain a definition for 'GetConstant' and the best extension method overload 'NLLanguageExtensions.GetConstant(NLLanguage)' requires a receiver of type 'NLLanguage'
|
||||
[Wrap ("this (dictionary.GetDictionary (), language.HasValue ? language.Value.GetConstant () : null, out error)")]
|
||||
IntPtr Constructor (NLStrongDictionary dictionary, NLLanguage? language, [NullAllowed] out NSError error);
|
||||
|
||||
[Export ("labelForString:")]
|
||||
[return: NullAllowed]
|
||||
string GetLabel (string @string);
|
||||
|
||||
[NullAllowed, Export ("language")]
|
||||
[BindAs (typeof (NLLanguage?))]
|
||||
NSString Language { get; }
|
||||
|
||||
[Export ("data", ArgumentSemantic.Copy)]
|
||||
NSData Data { get; }
|
||||
|
||||
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
||||
[Static]
|
||||
[Export ("writeGazetteerForDictionary:language:toURL:error:")]
|
||||
bool Write (NSDictionary dictionary, [NullAllowed] NSString language, NSUrl url, [NullAllowed] out NSError error);
|
||||
|
||||
[Static]
|
||||
[Wrap ("Write (dictionary.GetDictionary (), language.HasValue ? language.Value.GetConstant () : null, url, out error)")]
|
||||
bool Write (NLStrongDictionary dictionary, NLLanguage? language, NSUrl url, [NullAllowed] out NSError error);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
//
|
||||
// Unit tests for NLEmbedding
|
||||
//
|
||||
// Copyright 2019 Microsoft Corp. All rights reserved.
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using Foundation;
|
||||
using NaturalLanguage;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MonoTouchFixtures.NaturalLanguage {
|
||||
|
||||
[TestFixture]
|
||||
[Preserve (AllMembers = true)]
|
||||
public class EmbeddingTest {
|
||||
|
||||
#if __IOS__ || __MACOS__
|
||||
[Test]
|
||||
public void Vector ()
|
||||
{
|
||||
TestRuntime.AssertXcodeVersion (11, 0);
|
||||
|
||||
using (var e = NLEmbedding.GetWordEmbedding (NLLanguage.English)) {
|
||||
Assert.NotNull (e, "GetWordEmbedding");
|
||||
Assert.Null (e.GetVector ("Xamarin"), "GetVector");
|
||||
Assert.False (e.TryGetVector ("Xamarin", out var vector), "TryGetVector");
|
||||
Assert.Null (vector, "vector");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[Test]
|
||||
public void Write ()
|
||||
{
|
||||
TestRuntime.AssertXcodeVersion (11, 0);
|
||||
|
||||
var temp = Path.Combine (Path.GetTempPath (), "NLEmbedding.Test");
|
||||
File.Delete (temp);
|
||||
|
||||
var vd = new NLVectorDictionary ();
|
||||
vd ["a"] = new [] { 0.7f, 1.0f };
|
||||
var wd = vd.Dictionary;
|
||||
Assert.That (wd.Count, Is.EqualTo (1), "Count");
|
||||
|
||||
using (var url = NSUrl.FromFilename (temp)) {
|
||||
var strong = NLEmbedding.Write (vd, NLLanguage.French, 1, url, out var error);
|
||||
Assert.True (strong, "strong");
|
||||
Assert.Null (error, "strong error");
|
||||
|
||||
var weak = NLEmbedding.Write (wd, NLLanguage.French.GetConstant (), 1, url, out error);
|
||||
Assert.True (strong, "strong");
|
||||
Assert.Null (error, "weak error");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
//
|
||||
// Unit tests for NLGazetteer
|
||||
//
|
||||
// Copyright 2019 Microsoft Corp. All rights reserved.
|
||||
//
|
||||
|
||||
using System;
|
||||
using Foundation;
|
||||
using NaturalLanguage;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MonoTouchFixtures.NaturalLanguage {
|
||||
|
||||
[TestFixture]
|
||||
[Preserve (AllMembers = true)]
|
||||
public class GazetteerTest {
|
||||
|
||||
[Test]
|
||||
public void Dictionary ()
|
||||
{
|
||||
TestRuntime.AssertXcodeVersion (11, 0);
|
||||
|
||||
var sd = new NLStrongDictionary ();
|
||||
sd ["a"] = new [] { "Allo" };
|
||||
sd [new NSString ("b")] = new [] { "Bonjour" };
|
||||
|
||||
var wd = sd.Dictionary;
|
||||
Assert.That (wd.Count, Is.EqualTo (2), "Count");
|
||||
|
||||
using (var weak = new NLGazetteer (wd, NLLanguage.French.GetConstant (), out var error)) {
|
||||
Assert.Null (error, "weak error");
|
||||
}
|
||||
|
||||
using (var strong = new NLGazetteer (sd, NLLanguage.French, out var error)) {
|
||||
Assert.Null (error, "strong error");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
!missing-enum! NLDistanceType not bound
|
||||
!missing-enum! NLTaggerAssetsResult not bound
|
||||
!missing-field! NLTagSchemeSentimentScore not bound
|
||||
!missing-selector! +NLEmbedding::currentRevisionForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::embeddingWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLEmbedding::supportedRevisionsForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage:revision: not bound
|
||||
!missing-selector! +NLEmbedding::writeEmbeddingForDictionary:language:revision:toURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::gazetteerWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::writeGazetteerForDictionary:language:toURL:error: not bound
|
||||
!missing-selector! +NLTagger::requestAssetsForLanguage:tagScheme:completionHandler: not bound
|
||||
!missing-selector! NLEmbedding::containsString: not bound
|
||||
!missing-selector! NLEmbedding::dimension not bound
|
||||
!missing-selector! NLEmbedding::distanceBetweenString:andString:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::getVector:forString: not bound
|
||||
!missing-selector! NLEmbedding::language not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::revision not bound
|
||||
!missing-selector! NLEmbedding::vectorForString: not bound
|
||||
!missing-selector! NLEmbedding::vocabularySize not bound
|
||||
!missing-selector! NLGazetteer::data not bound
|
||||
!missing-selector! NLGazetteer::initWithContentsOfURL:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithData:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithDictionary:language:error: not bound
|
||||
!missing-selector! NLGazetteer::labelForString: not bound
|
||||
!missing-selector! NLGazetteer::language not bound
|
||||
!missing-selector! NLTagger::gazetteersForTagScheme: not bound
|
||||
!missing-selector! NLTagger::setGazetteers:forTagScheme: not bound
|
||||
!missing-type! NLEmbedding not bound
|
||||
!missing-type! NLGazetteer not bound
|
|
@ -1,38 +0,0 @@
|
|||
!missing-enum! NLDistanceType not bound
|
||||
!missing-enum! NLTaggerAssetsResult not bound
|
||||
!missing-field! NLTagSchemeSentimentScore not bound
|
||||
!missing-selector! +NLEmbedding::currentRevisionForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::embeddingWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLEmbedding::supportedRevisionsForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage:revision: not bound
|
||||
!missing-selector! +NLEmbedding::writeEmbeddingForDictionary:language:revision:toURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::gazetteerWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::writeGazetteerForDictionary:language:toURL:error: not bound
|
||||
!missing-selector! +NLTagger::requestAssetsForLanguage:tagScheme:completionHandler: not bound
|
||||
!missing-selector! NLEmbedding::containsString: not bound
|
||||
!missing-selector! NLEmbedding::dimension not bound
|
||||
!missing-selector! NLEmbedding::distanceBetweenString:andString:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::getVector:forString: not bound
|
||||
!missing-selector! NLEmbedding::language not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::revision not bound
|
||||
!missing-selector! NLEmbedding::vectorForString: not bound
|
||||
!missing-selector! NLEmbedding::vocabularySize not bound
|
||||
!missing-selector! NLGazetteer::data not bound
|
||||
!missing-selector! NLGazetteer::initWithContentsOfURL:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithData:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithDictionary:language:error: not bound
|
||||
!missing-selector! NLGazetteer::labelForString: not bound
|
||||
!missing-selector! NLGazetteer::language not bound
|
||||
!missing-selector! NLTagger::gazetteersForTagScheme: not bound
|
||||
!missing-selector! NLTagger::setGazetteers:forTagScheme: not bound
|
||||
!missing-type! NLEmbedding not bound
|
||||
!missing-type! NLGazetteer not bound
|
|
@ -1,38 +0,0 @@
|
|||
!missing-enum! NLDistanceType not bound
|
||||
!missing-enum! NLTaggerAssetsResult not bound
|
||||
!missing-field! NLTagSchemeSentimentScore not bound
|
||||
!missing-selector! +NLEmbedding::currentRevisionForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::embeddingWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLEmbedding::supportedRevisionsForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage:revision: not bound
|
||||
!missing-selector! +NLEmbedding::writeEmbeddingForDictionary:language:revision:toURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::gazetteerWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::writeGazetteerForDictionary:language:toURL:error: not bound
|
||||
!missing-selector! +NLTagger::requestAssetsForLanguage:tagScheme:completionHandler: not bound
|
||||
!missing-selector! NLEmbedding::containsString: not bound
|
||||
!missing-selector! NLEmbedding::dimension not bound
|
||||
!missing-selector! NLEmbedding::distanceBetweenString:andString:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::getVector:forString: not bound
|
||||
!missing-selector! NLEmbedding::language not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::revision not bound
|
||||
!missing-selector! NLEmbedding::vectorForString: not bound
|
||||
!missing-selector! NLEmbedding::vocabularySize not bound
|
||||
!missing-selector! NLGazetteer::data not bound
|
||||
!missing-selector! NLGazetteer::initWithContentsOfURL:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithData:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithDictionary:language:error: not bound
|
||||
!missing-selector! NLGazetteer::labelForString: not bound
|
||||
!missing-selector! NLGazetteer::language not bound
|
||||
!missing-selector! NLTagger::gazetteersForTagScheme: not bound
|
||||
!missing-selector! NLTagger::setGazetteers:forTagScheme: not bound
|
||||
!missing-type! NLEmbedding not bound
|
||||
!missing-type! NLGazetteer not bound
|
|
@ -1,38 +0,0 @@
|
|||
!missing-enum! NLDistanceType not bound
|
||||
!missing-enum! NLTaggerAssetsResult not bound
|
||||
!missing-field! NLTagSchemeSentimentScore not bound
|
||||
!missing-selector! +NLEmbedding::currentRevisionForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::embeddingWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLEmbedding::supportedRevisionsForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage: not bound
|
||||
!missing-selector! +NLEmbedding::wordEmbeddingForLanguage:revision: not bound
|
||||
!missing-selector! +NLEmbedding::writeEmbeddingForDictionary:language:revision:toURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::gazetteerWithContentsOfURL:error: not bound
|
||||
!missing-selector! +NLGazetteer::writeGazetteerForDictionary:language:toURL:error: not bound
|
||||
!missing-selector! +NLTagger::requestAssetsForLanguage:tagScheme:completionHandler: not bound
|
||||
!missing-selector! NLEmbedding::containsString: not bound
|
||||
!missing-selector! NLEmbedding::dimension not bound
|
||||
!missing-selector! NLEmbedding::distanceBetweenString:andString:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForString:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::enumerateNeighborsForVector:maximumCount:maximumDistance:distanceType:usingBlock: not bound
|
||||
!missing-selector! NLEmbedding::getVector:forString: not bound
|
||||
!missing-selector! NLEmbedding::language not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForString:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::neighborsForVector:maximumCount:maximumDistance:distanceType: not bound
|
||||
!missing-selector! NLEmbedding::revision not bound
|
||||
!missing-selector! NLEmbedding::vectorForString: not bound
|
||||
!missing-selector! NLEmbedding::vocabularySize not bound
|
||||
!missing-selector! NLGazetteer::data not bound
|
||||
!missing-selector! NLGazetteer::initWithContentsOfURL:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithData:error: not bound
|
||||
!missing-selector! NLGazetteer::initWithDictionary:language:error: not bound
|
||||
!missing-selector! NLGazetteer::labelForString: not bound
|
||||
!missing-selector! NLGazetteer::language not bound
|
||||
!missing-selector! NLTagger::gazetteersForTagScheme: not bound
|
||||
!missing-selector! NLTagger::setGazetteers:forTagScheme: not bound
|
||||
!missing-type! NLEmbedding not bound
|
||||
!missing-type! NLGazetteer not bound
|
Загрузка…
Ссылка в новой задаче